[open source] [Советник] "Generic A-TLP"📌

От Sergey5, 23 апреля, 2016 в Лаборатория ProfitFX

#1176


EURAUD m15 оптимизация mt5 (v12.01.21) 2012.01-2016.09 форвард 1/4 периода, котировки 100%. Без отпимизации по спреду и времени.
От себя добавлю, что коль дело идет ко всеобщей оптимизации, то стоит сие действо организовывать именно на мт5 рельсах. Портировать потом не сложно, а производительность в разы больше.
Если уж точно наметили наконец делать сеты, нужно актуализировать мт5 версию :grls: и может быть допилить опт сет :grls:
Опубликованные мной ранее сеты по audcad и gbpaud в работе можно увидеть на мониторинге, приклеенном ниже, в течение суток добавлю и euraud.
Моник mt4 (сеты просто портированы).


Идеально AUDCAD идёт
#1177


Ещё раз перезалил 12.27, исправлен ещё один баг при указании времени больше 24 часов.
Хотя частично глюк всё ещё может присутствовать, если указать стартовое время больше времени окончания, и оно больше 24 часов - тогда время торговли попадает во вторую (вечернюю) сессию следующего дня, которая на следующей итерации затирается уже собственным значением следующего дня, а время, которое должно перенестись на следующий день (первая сессия), переносится не на один день, а на 2, и так же затирается.
Может, так и неоптимально - с переносом. Но, так как ничего лучше никто не придумал - приходится пользоваться тем, что есть.



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

На мой взгляд, оптимальной была бы комбинированная реализация кода:
1) оставить текущую (12.01.25) схему указания времени торгов (открытия ордеров) с минутами,
2) но в коде четко расписать время торгов (открытия ордеров) на 2 сессии в день:
а) после полуночи доторговка предыдущего дня, если таковая требуется (1-я сессия)
б) вечером текущего дня открытие торгов текущего дня (2-я сессия) целиком или в части текущих суток.
Но пользователям это показывать не надо...
...


я там ночью недовыписал что хотел сказать...

Время лучше оставить как есть сейчас в 12.27 - с часами и минутами раздельно.

А вот внутриботовые 2 сессии в день работали бы так:
1) первую сессию вторника заполнять из настроек понедельника: есть в настройках понедельника доторговка после полуночи - запоминаем открытие ордеров в 1-й сессии вторника.
Нет в понедельничных настройках открытия ордеров после полуночи - пусты настройки и 1-й сессии вторника.
2) 2-ю сессию вторника до полуночи берем из настроек вторника.
3) если в настройках вторника есть открытие ордеров после полуночи - пишем доторговку в 1-ю сессию среды.
Нет - значит в среду на паре первая сессия пустая, без торгов.

Вот эта схема задания 2-х неявных сессий тоже реально очень грамотная - красивое решение!
monday
open = 22:00
pause_start = 0
pause_stop = 0
close = 23:59
tuesday
open = 00:00
pause_start = 01:00
pause_stop = 22:00
close = 23:59
Но здесь формат времени вроде как не пригоден для оптимизации - и рядовым пользователям трудно въезжать в такой вариант указания времени.

Вот я и писал: оставить время как в 12.27 - а в коде разложить время открытия ордеров на 2 сессии в день и путаница уйдет.

-----------


Ну я превел все сеты на открытие на 3 часа назад, закрытие оставил как есть /interaktivnaya-torgovlya/9/obsuzhdenie-sovetnika-generic-a-tlp/14475/?do=findComment&comment=310283.
Главное следить за тем как бы время обратно не вернулось.
Был бы какой-нибудь динамический анализатор, но он все равно запаздывал бы с корректировкой.




...
А может, сможем запрограммировать и анализ динамического канала с фильтрами и будем разрешать входить в рынок раньше часа на 3 - и брать большую часть если не коррекции дня, то хотя бы фикса прибыли у амеров.
Хотя это был бы уже существенно другой бот.


Коллега, обращаю внимание, что я писал это применительно к гипотетическому боту, в котором был бы еще один фильтр входа - сужения динамического канала в конце торгового дня.

Говоря же о всех текущих версиях Generic, я пока не знаю насколько раньше по каждой паре можно начинать торги!
Может, вместо 22 часов, по одной паре оптимально начинать открывать ордера с 20:45, а по другой паре оптимально с 19:50...

Вы можете, конечно, проверить все пары со сдвигом на 3 часа.
Но на дедушку при этом не ссылайтесь - дедушка на броневик не залазил и к таким радикальным революциям не призывал! :d
#1178


Вы можете, конечно, проверить все пары со сдвигом на 3 часа.
Но на дедушку при этом не ссылайтесь - дедушка на броневик не залазил и к таким радикальным революциям не призывал! :d


Доrогой товаrищь дедушка, насчет 3 часов я дошел ещё до вашего поста, глядя на гrафик, но именно мысль о пеrесмотре вrемени изначально вышла от вас)

Добавлено: 28-09-2016 22:52:43

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

Изменено 29 сентября, 2016 пользователем SVS696

#1179


Semenov, а прогоните пожалуйста еще раз f_spread_mode2 но с увеличенным в 2 раза параметром максимального спреда и отключенным ролловер фильтром (то-есть значением YES. разрешить закрывать сделки в ролловер), ведь этот фильтр как я понимаю и нужен для того чтобы не нарваться на увеличенный в ролловер спред, и в данной модификации только мешает.


Стало гораздо лучше, но пока не грааль.
Это расширенный спред так повлиял, что думаете?

Тест_G-1187_f_spread_v2.zip53 скач.
Тест_G-1187_f_spread_v2.xlsx53 скач.

#1181


Спойлер

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



Ролловер нельзя включать в общую схему "остальных неторгуемых часов". У него своя логика, например, запрет закрытия сделок вообще, невзирая на спред. imho


Спойлер

Вот эта схема задания 2-х неявных сессий тоже реально очень грамотная - красивое решение!
monday
open = 22:00
pause_start = 0
pause_stop = 0
close = 23:59
tuesday
open = 00:00
pause_start = 01:00
pause_stop = 22:00
close = 23:59



Да, в 11.87 было красиво и понятно.
Я вчера быстро посмотрел на схему в 12.26 - тяжело для понимания и непрозрачно.
#1182


Стало гораздо лучше, но пока не грааль.
Это расширенный спред так повлиял, что думаете?



Да видимо высокий спред слишком долго не дает закрывать позиции. Вообще не плохо бы в журнале посмотреть как часто срабатывал фильтр и какой при этом был спред, поиск по слову "Spread:" в журнале после теста.
#1183


EURAUD m15 оптимизация mt5 (v12.01.21) 2012.01-2016.09 форвард 1/4 периода, котировки 100%. Без отпимизации по спреду и времени.
От себя добавлю, что коль дело идет ко всеобщей оптимизации, то стоит сие действо организовывать именно на мт5 рельсах. Портировать потом не сложно, а производительность в разы больше.
Если уж точно наметили наконец делать сеты, нужно актуализировать мт5 версию :grls: и может быть допилить опт сет :grls:
Опубликованные мной ранее сеты по audcad и gbpaud в работе можно увидеть на мониторинге, приклеенном ниже, в течение суток добавлю и euraud.
Моник mt4 (сеты просто портированы).


можно подробнее, как ты оптишь на мт5 (через облако, да?)? а потом в мт4?
#1184


Спойлер


Стало гораздо лучше, но пока не грааль.
Это расширенный спред так повлиял, что думаете?



Да видимо высокий спред слишком долго не дает закрывать позиции. Вообще не плохо бы в журнале посмотреть как часто срабатывал фильтр и какой при этом был спред, поиск по слову "Spread:" в журнале после теста.

Логи, к сожалению, уже почистил
#1185


Почему все? Если спред будет плавающим то во время ролловера он будет повышаться как и в реале, f_spread_mode2 будет фильтровать закрытие sell при большом спреде, а обычная будет закрывать, скорее всего в минус.

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


А вот внутриботовые 2 сессии в день работали бы так:
1) первую сессию вторника заполнять из настроек понедельника: есть в настройках понедельника доторговка после полуночи - запоминаем открытие ордеров в 1-й сессии вторника.
...
2) 2-ю сессию вторника до полуночи берем из настроек вторника.

Ну так и работает. Просто если указывать стартовое значение часов больше 24, и стартовое время больше конечного, то с понедельника попадает уже на вечернюю сессию вторника и утреннюю сессию среды, а потом затирается собственными значениями вторника и среды.
Это, конечно, никому не нужно, но в оптимизации могут такие варианты перебираться.
Если указывать "по-нормальному", то и работает по-нормальному.

Кстати, может ещё обнаружиться глюк, если время поставить 0, и TimeShift поставить отрицательный.

А время оптимизировать по минутам - не нужно, потому что:
во-первых, посчитать количество вариантов, которое будет перебираться при оптимизации только времени,
а, во-вторых, бот начинает открывать сделки только при пересечении канала - так что если будет выход за границы канала в 20:45, то сделка откроется, а если не будет, то сделка не откроется.
А проверять наличие пересечений канала можно и в 20:00. Или, если в 20:00 было бы пересечение в другую сторону и убыточная сделка, а в 20:45 - уже подходящие условия - покажите на практике, если такое бывает.

Изменено 29 сентября, 2016 пользователем machine

#1186


EURAUD m15 оптимизация mt5 (v12.01.21) 2012.01-2016.09 форвард 1/4 периода, котировки 100%. Без отпимизации по спреду и времени.
От себя добавлю, что коль дело идет ко всеобщей оптимизации, то стоит сие действо организовывать именно на мт5 рельсах. Портировать потом не сложно, а производительность в разы больше.
Если уж точно наметили наконец делать сеты, нужно актуализировать мт5 версию :grls: и может быть допилить опт сет :grls:
Опубликованные мной ранее сеты по audcad и gbpaud в работе можно увидеть на мониторинге, приклеенном ниже, в течение суток добавлю и euraud.



не пойму он у вас круглосуточно работает? выложите сеты пожалуйста для теста.
#1187


Обычную версию тестировал с отключенным фильтром, с плавающим спредом - результаты лучше, чем с включенным.



А вот это бы хотелось понять почему?, в TDS не записан увеличенный спред в ролловер или ролловер сетов не совпадает с ролловером dukascopy или buy сделки закрытые с увеличенным спредом перекрыли убытки от sell сделок?
#1188

Только что добрался до интернета и сравнил версии. Так и есть. У меня был косяк с коппиляцией. А так, как впрчем уже писалось, 11.87=11.86 и 9.03=9.02. Так что баг фиксы в тему и ничего не порушили.

Я правильно понял что сеты от 11.86 подходят к 12.27?


Добавлено: 29-09-2016 23:02:44

Я погонял 9.03 и 11.87 с соответствующими сетами на периоде 2015-2016_09. Мнение такое:

EURCHF-v09.03
EURGBP-v11.87
GBPCAD-v09.03
GBPUSD-v11.87
USDCAD-v11.87
USDCHF-v09.03
USDJPY-v09.03
GBPCHF-обе версии плохо

Вот в таком миксе я их себе и поставлю. А дальше надо думать какую версию развивать и под нее делать оптимизация по этим и другим парам.

Изменено 30 сентября, 2016 пользователем WeekendSniper

#1189
NickolaG, не так уж много важных новостей, особенно в ночь, реально выходит со среды на четверг - хотя по неделям месяца верно.
ФОМС раз в полтора месяца да его Минутки - а так основные ЦБ с четверга.

Есть наблюдение, что четверг "разворотный": 2-3 дня рынок тащат в одну сторону - а с четверга в другую.
Вот в ночь со среды на четверг добой по движению со снятием стопов - а потом назад.
Почему и бывает грустно скальперам со среды на четверг...
Но это надо смотреть в давних мониторингах Азии, там по дням неплохо видно.



Я погонял 9.03 и 11.87 с соответствующими сетами на периоде 2015-2016_09. Мнение такое:

EURCHF-v09.03
EURGBP-v11.87
GBPCAD-v09.03
GBPUSD-v11.87
USDCAD-v11.87
USDCHF-v09.03
USDJPY-v09.03
GBPCHF-обе версии плохо

Вот в таком миксе я их себе и поставлю.
А дальше надо думать какую версию развивать и под нее делать оптимизация по этим и другим парам.


А торги по дням в обеих версиях одинаково выставили - равное количество торговых сессий?!
Если нет, то сравнение вряд ли можно считать корректным.

Изменено 30 сентября, 2016 пользователем Старик

#1190


starcom, большая зеленая кнопка БАБЛО рассматривается в подфоруме фантастики - которой у нас на форуме нет. :)

Я бы еще понял бы автообновление сэтов - но это тоже вопрос не этого года...



Автообновление сэтов сделать несложно :grls:
#1191

Кто-нибудь пробовал оптимизировать по тэйк-профиту, макс. длине свечи, паузе после убыточной сделки, трейлинг-стопу, безубытку, и получил ли хоть какие-нибудь результаты, отличные от нулевых, или отрицательных?

#1192

День добрый.
Сегодня проявилась проблема: версия 11.86, не сработал фильтр №1 на трех счетах одного брокера
(Filter_1=1; Exit_Minutes=100;Time_Profit_Pips=10;) ,

при этом на счетах двух других брокеров закрыл как положено. Журналы прерываний связи не отражают. Сеты одинаковые.
В журналах только есть одно отличие: в несработавших терминалах ошибка 4200 перед инициализацией:
"
0 07:34:14.725 Generic A-TLP v.11.86_ENG EURJPY,M15: fRectLabelCreate: failed to create a rectangular mark! Error №: 4200 - Объект уже существует
0 07:34:14.725 Generic A-TLP v.11.86_ENG EURJPY,M15: initialized "

UPD. У тикмилла тоже есть эта строка с "Error №: 4200" , но на нем сработал правильно.

Изменено 30 сентября, 2016 пользователем Александр уФ

#1193

Версия 12.28 - Исправлен вывод времени в инфо-панель

1) 22:00-22:00 (выкл)
2) 22:00-23:00
3) 22:00-24:00 или 22:00-0:00
4) 22:00-25:00 или 22:00-1:00

Ещё, TimeShift, оказалось, некорректно работает, при переносе через полночь. Вот и получается, формат времени, "прозрачный" для пользователя, а для разработчика - не прозрачный. Хотя, кому-то, и этот формат времени показался неудобным, вроде бы (а у них TimeShift'а нет. Ну, у тех, у кого 11-я. А то, может, и у них что-нибудь некорректно было бы).

Исправлено, перекачать. Неправильным было только отображение. Хотя всё равно остаётся вероятность ошибки при времени старта = 0 часов и TimeShift genericatlp1228infopanel.png
Generic_A-TLP_v.12.28_RUS.mq4111 скач.

Изменено 30 сентября, 2016 пользователем machine

#1194

А зачем вообще "TimeShift" в таком виде, который не учитывает переход на другой день? Может лучше смещать точку отсчета, в том числе и дней?
То есть вместо DayOfWeek() использовать TimeDayOfWeek(ВремяБрокера+TimeShift), ну и тп. Время настроек не трогать, а менять точку отсчета TimeCurrent -> TimeCurrent + TimeShift, DayOfYear -> TimeDayOfYear(TimeCurrent + TimeShift) ...
Хотя переход на зимнее/летнее время, у брокера без перехода таким образом все равно не учесть, легче брокера подходящего выбрать. Но TimeShift в таком виде мало полезен.

#1195

Прошу прощения если задам глупый вопрос, но я вот никак не пойму про TimeShift, как он работает? Как GMT-Offset обычный?

Вот, например, я оптимизировал настройки под GMT, а брокер у меня один GMT+2, другой +3, а третий -1 , мне получается достаточно ввести переменную TimeShift для каждого и все будет работать, или все-таки надо менять время сессий в ручную, как в первоначальной версии, в которой не было такого параметра.

Или если использовать сеты, выложенные тут:


Сеты для 12.26+ от 11.86.
Лот 0.1.
Хотя смысла нет на них сравнивать, но если очень хочется...


То нужно ли использовать TimeShift и какой? То есть есть некоторая путаница. Они под GMT или, как и в случае с первоначальной версией по Tickmill, то есть GMT+3.
Кто нибудь может доходчиво объяснить?
#1196


А зачем вообще "TimeShift" в таком виде, который не учитывает переход на другой день? Может лучше смещать точку отсчета, в том числе и дней?

Сейчас переход на следующий день - работает, а на предыдущий - нет.

То есть вместо DayOfWeek() использовать TimeDayOfWeek(ВремяБрокера+TimeShift)


А через выходные в таком виде будет корректно переноситься?


Прошу прощения если задам глупый вопрос, но я вот никак не пойму про TimeShift, как он работает? Как GMT-Offset обычный?


Сдвигает время, указанное в настройках, на указанное кол-во часов.
Было 22:00, TimeShift=1, стало 23:00

Вот, например, я оптимизировал настройки под GMT, а брокер у меня один GMT+2, другой +3, а третий -1 , мне получается достаточно ввести переменную TimeShift для каждого и все будет работать, или все-таки надо менять время сессий в ручную, как в первоначальной версии, в которой не было такого параметра.

По идее, должно работать так (при устранении всех ошибок).
При оптимизации под GMT ещё следует учитывать, если у изначального времени котировок не было перехода на летнее время, а у брокера - есть, то будут совпадать результаты только в зимнее время.

Или если использовать сеты, выложенные тут:

Спойлер


Сеты для 12.26+ от 11.86.
Лот 0.1.
Хотя смысла нет на них сравнивать, но если очень хочется...


То нужно ли использовать TimeShift и какой? То есть есть некоторая путаница. Они под GMT или, как и в случае с первоначальной версией по Tickmill, то есть GMT+3.
Кто нибудь может доходчиво объяснить?
gmt+3 - это летнее время у данных брокеров, а gmt+2 - зимнее
если (основное) время брокера gmt+2 - ничего не менять
если gmt+1, то ставить -1
при переходе на летнее/зимнее - не трогать

Что-то сегодня я не очень соображаю насчёт всех этих сдвигов времени. Эх, не хотелось же влезать в планировщик. Если кто-то сможет подсказать/починить, чтобы всё работало, то, надеюсь, никто не будет возражать (особенно, я).

Добавлено: 01-10-2016 19:20:51

Проверяйте. Выкинута сессия 1, сессия 2, вместо этого к времени старта и окончания добавляется сдвиг на кол-во дней.
Правда, в инфо-панели время обновляется, а дни недели - нет.

Generic_A-TLP_v.12.28_RUS_TimeShift.mq468 скач.

Изменено 1 октября, 2016 пользователем machine

#1197

возможно, информация будет полезной.. нет - знаете, что делать с сообщением :d

на пару недель уезжал, оставил v.9.02 в свободном плавании.. сеты "родные" из шапки..
результаты торговли второй половины сентября:

Спойлер



опечалили 2 сделки
в первом случае - закрытие по СЛ, во втором не дотянул, но всё же..
логи не отправляю, из ошибок - кратковременный обрыв связи..
почему то я считал, что совы должны корректно возобновлять работу..
или не всегда так бывает?..
с уважением..

Изменено 2 октября, 2016 пользователем robinzon96

#1198

Здравствуйте, я конечно не спец, но почему бы не заменить время торговли на счетчик баров, часовых, 30 минутных, 15 минутных. Например через n-баров после открытия дня начинаем торговлю.
А разные тайм фреймы позволили бы избежать ошибки в определении времени.
Возможно данное решение помоглобы раз и навсегда решить проблему с экспортом тиковой информации и проблемы с определением перехода зимнее/летнее время

#1199


Здравствуйте, я конечно не спец, но почему бы не заменить время торговли на счетчик баров, часовых, 30 минутных, 15 минутных. Например через n-баров после открытия дня начинаем торговлю.
А разные тайм фреймы позволили бы избежать ошибки в определении времени.
Возможно данное решение помоглобы раз и навсегда решить проблему с экспортом тиковой информации и проблемы с определением перехода зимнее/летнее время


интересная мысль.... поддерживаю!
#1200

Сегодня заметил ошибку бот пишет: 3.10.2016 8:57 fGetProfit: failed to allocate an order 108793010! Error №: 4051 - Недопустимое значение параметра функции

Версия бота 11.87, сеты для из шапки для версии 11.86 валютная пара usdcad.

#1201


Сегодня заметил ошибку бот пишет: 3.10.2016 8:57 fGetProfit: failed to allocate an order 108793010! Error №: 4051 - Недопустимое значение параметра функции

Версия бота 11.87, сеты для из шапки для версии 11.86 валютная пара usdcad.


открыла журнал посмотреть... на трех терминалах из шести такая же ошибка по разным парама ....версия советника такая же

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025