Советник Atlant [Обсуждение]

  • Автор темы Автор темы Sprinter500
  • Дата начала Дата начала

Sprinter500

Активный участник

PercProf должен быть примерно раз в 10 больше PercLots. PercLots лучше сделать от 0,4 до 0,8, а PercProf от 4 до 8.

Еще поробуйте разные варианты: RMode, MaxNM1, MaxNM2, Otstup, ProgM1, ProgM2, KFT1, KFT2. Короче говоря данные настройки совсем не подходят к текущей динамике пары. Надо оптить.
 
Последнее редактирование:

pk9999

Активный участник
спасибо, просто не знал в каком направлении двигаться
 

Sprinter500

Активный участник
спасибо, просто не знал в каком направлении двигаться

Незачто. Для данного советника важно понять как он работает и тогда чисто логически становится понятно какие параметры ставить исходя из характера динамики каждой конкретной валютной пары. Хотя оптимизацию по всем тикам тоже немешало бы провести, но это мягко выражаясь очень долго, состариться прежде можно )))) Оптимизация оп ценам открытия для данного сова результата не даст.
 

1x1

Активный участник
доброго времени суток.
второй день теста. пока все хорошо, с утра включил, выставил отступ 10, начальный лот 0,01, остальное оставил пока из сета Среднесрок обратный Атлант. Имеется прибыль в 4,5 бакса. Планка профита 11,44 в данное время, было 11,60, в общем меняется.
Закрыл терминал (надо было скрипт добавить на закрытие). При запуске советник выставил новые ордера, уже по 0,01 и 0,02, как-будто не подхватил то, что уже было (а дошел к этому времени до 0,04 и ждал открытия 0,08). Вчера же такого не наблюдалось, переоткрывал терминал несколько раз, он подхватывал те, которые уже работали и выставлял дальше по экспоненте.
Пока писал сообщение, открылся последний ордер по 0,08, а следующего не выставил уже. Не пойму в чем причина такого глюка.
 
Последнее редактирование:

pk9999

Активный участник
Ну как теперь выглядит график баланса?

поставил на оптимизацию
чтоб получить более менее точные данные за меньшее время, делаю так:
ставлю оптимизацию по ценам открытия на графике М1, понравившиеся результаты прогоняю по всем тикам.

как посчитает выложу результаты
 

1x1

Активный участник
А вот если есть уже выставленные ордера объемом, например, от 0,01 до 0,32, и тренд повернул не в ту сторону, что должен делать советник по идее? Ибо сейчас при двух buy по 0,02 и 0,08 и двух sell по 0,01 и 0,04 и последующего снижения цены у меня плавно растет бородка :-) Он должен выравнивать что-то или пускает на самотек и ждет когда цена поползет в гору (в данном случае) и будет прибыль?
 

Sprinter500

Активный участник
доброго времени суток.
второй день теста. пока все хорошо, с утра включил, выставил отступ 10, начальный лот 0,01, остальное оставил пока из сета Среднесрок обратный Атлант. Имеется прибыль в 4,5 бакса. Планка профита 11,44 в данное время, было 11,60, в общем меняется.
Закрыл терминал (надо было скрипт добавить на закрытие). При запуске советник выставил новые ордера, уже по 0,01 и 0,02, как-будто не подхватил то, что уже было (а дошел к этому времени до 0,04 и ждал открытия 0,08). Вчера же такого не наблюдалось, переоткрывал терминал несколько раз, он подхватывал те, которые уже работали и выставлял дальше по экспоненте.
Пока писал сообщение, открылся последний ордер по 0,08, а следующего не выставил уже. Не пойму в чем причина такого глюка.


Меня больше удивляет почему он вообще подхватывал после перезапуска, так как я это еще не реализовывал в алгоритме. Пока что думаю над тем чтобы добавить память советнику, чтобы после перезапуска он не начинал все с чистого листа. Про глюк: может был достигнут предел (который задается в настройках) по кол-ву колен?
 

Sprinter500

Активный участник
поставил на оптимизацию
чтоб получить более менее точные данные за меньшее время, делаю так:
ставлю оптимизацию по ценам открытия на графике М1, понравившиеся результаты прогоняю по всем тикам.

как посчитает выложу результаты


Я так тоже пробовал, но хорошие результаты не показывали себя должным образом при тестировании по всем тикам. Лучше всего получается простой подбор руками и головой (анализ волатильности и желаемая степень агрессии при известном стартовом депозите). Если сможете получить нормальный сет, выложите?
 

Sprinter500

Активный участник
А вот если есть уже выставленные ордера объемом, например, от 0,01 до 0,32, и тренд повернул не в ту сторону, что должен делать советник по идее? Ибо сейчас при двух buy по 0,02 и 0,08 и двух sell по 0,01 и 0,04 и последующего снижения цены у меня плавно растет бородка :-) Он должен выравнивать что-то или пускает на самотек и ждет когда цена поползет в гору (в данном случае) и будет прибыль?

Если еще не достигнуто ограничение по кол-ву колен и есть свободные средства на открытие очередной увеличенной позиции, то советник откроет позицию, в обратном случае получается вынужденная "пересидка" до профита или до слива. А если например RMode=2 то при достижении порога советник начнет выставлять перевернутые позиции - обратный мартин, при этом во флете просадка будет снижаться пока не выйдет в плюс.
 

1x1

Активный участник
фантастика. на работе запустил утром терминал - советник работает, ордера открывает. сегодня вышел из терминала на работе. пришел домой. Дома закрыл все ордера. Советника не включал совсем. Переустановил терминал. Все разложил по папочкам. Запускаю советника - ошибка 131, хоть ты тресни :-) Что ж за напасть-то такая? Он что, помнит что на этом счету были какие-то действия что ли?

По поводу вчерашней ситуации с коленями все понятно. Лот был 0,32, свободных средств не было. А сегодня вот открыл 4 колена, и дошло до -20 баксов. В настройках колен 12. Почему он не выставлял ордера, дабы снизить просадку? Или при режиме RMode=1 он этого не должен делать? Придется ждать мне до завтра, попробовать теперь режим 2 :-)
 
Последнее редактирование:

pk9999

Активный участник
Я так тоже пробовал, но хорошие результаты не показывали себя должным образом при тестировании по всем тикам. Лучше всего получается простой подбор руками и головой (анализ волатильности и желаемая степень агрессии при известном стартовом депозите). Если сможете получить нормальный сет, выложите?

да , не совпадает:-(

запущу по всем тикам, посмотрю, что будет
 

Sprinter500

Активный участник
фантастика. на работе запустил утром терминал - советник работает, ордера открывает. сегодня вышел из терминала на работе. пришел домой. Дома закрыл все ордера. Советника не включал совсем. Переустановил терминал. Все разложил по папочкам. Запускаю советника - ошибка 131, хоть ты тресни :-) Что ж за напасть-то такая? Он что, помнит что на этом счету были какие-то действия что ли?

По поводу вчерашней ситуации с коленями все понятно. Лот был 0,32, свободных средств не было. А сегодня вот открыл 4 колена, и дошло до -20 баксов. В настройках колен 12. Почему он не выставлял ордера, дабы снизить просадку? Или при режиме RMode=1 он этого не должен делать? Придется ждать мне до завтра, попробовать теперь режим 2 :-)

Проанализировал код - память дейтсвительно есть но не полная - помнит свои позиции по Магику (если есть открытые позиции), но не помнит какие текущие переменные были в том числе на коком лот все было остановлено. Поэтому можно скзать что есть полупамять. Надо будет это исправить. Про ошибку 131 нет соображений. При RMode=1 работает чистый обратный мартин - вэтом случае наоборот с каждым новым коленом приыбль больше, но есть риск что флет неожиданно прервется и тогда большая просдка будет. RMode=2 - комбинированный режим, сначала прямой, затем обратный.
 

krezi

Активный участник
Может не в тему но ошибка 131 может выскакивать если лоты неправильны,
это не обязательно лот больше чем в ДЦ.

К примеру если в самой сраной кухне мы попытаемся открыть ордер лотом 1.314 мы получим сто тридцать первую.
Решение проблемы: NormalizeDouble(num,2)

НО! есть ДЦ типа альпари где шаг лота равен 0.10, следовательно надо округлять до одного знака: используем NormalizeDouble(num,1)

Где num - размер лота который пытается открыть бот
 

1x1

Активный участник
на альпари кстати можно и по 0,01 открывать ордера. если тип счета позволяет (это микро).
 

Sprinter500

Активный участник
Может не в тему но ошибка 131 может выскакивать если лоты неправильны,
это не обязательно лот больше чем в ДЦ.

К примеру если в самой сраной кухне мы попытаемся открыть ордер лотом 1.314 мы получим сто тридцать первую.
Решение проблемы: NormalizeDouble(num,2)

НО! есть ДЦ типа альпари где шаг лота равен 0.10, следовательно надо округлять до одного знака: используем NormalizeDouble(num,1)

Где num - размер лота который пытается открыть бот

Вот в чем дело то было )))) Ладно на выходных поправлю сов. Надеюсь больше ни у кого такой ошибки не будет да и других ошибок тоже да и слива тоже
 

Sprinter500

Активный участник
Также добавлю память, чтобы при перезапуске торговал как ни в чем не бывало. Однако все равно не рекомендую оставлять счет без присмотра сова если уже есть открытые позиции - можно заработать большую просадку!!!!
 

1x1

Активный участник
с утра на работе опять все нормально. наколотил 7,43 и пошел уже на второй круг. общая прибыль 63 бакса уже.
надеюсь, у вас все получится :-)
 

Sprinter500

Активный участник
Версия 1.2

Добавлено округление дробной части лота чтобы не было ошибки 131. Для этого выстывить нужную точность после запятой в лотах с помощью параметра

extern int ZnakLOT=2;//Число знаков после запятой в лотах


Но не все получилось. В справочнике MQL поизучал функции записи чтения. Они настолько бедные, в отличие от языков программирования PASCAL, C++, Basic. Точнее вывести разнородные данные можно, а вот прочитать... Хотя можно каждый параметр вывести в отдельный файл )))), но это будет порнография )))). Думаю сделать для этого DLL, но тоже запарка. В общем думаю что полная память все равно бесполезная функция - лучше тороговать бесперебойно, а если надо остановиться то поставит ограничение по кол-ву циклов либо задать желаемый уровень профита.
 

Вложения

Верх