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

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

#1151

возможно, уже обсуждался вопрос, а на мт5 есть планы переписать наш женерик?

#1152



Если советник проходит 10-16 лет (причем с не одной сотней сделок), рынок для него с большой вероятностью не станет "завтра" другим. Потому, что такой советник адаптируется под разные состояния рынка и бэктесты за длительный период являются этому доказательством.


Очень спорное утверждение - особенно в контексте данного советника, который использует всего лишь одну рыночную особенность, стоит дилингу немного расширить спред и советник начнёт огорчать вас уже сегодня не взирая на 16 летние тесты.
#1153

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

#1154


Спойлер


в целом, можно понять, как правильно, только самому проведя оптимизацию до конца, и пройдя все этапы.
оптимизировать, может, лучше, за последние пару лет - 2015-16+, но не факт, что так.


Оптимизировать нужно на максимально возможный период. Если удается найти сет, который стабильно проходит 16 лет, нужно брать его (вернее, оптимизировать можно и за 2 года, - и даже лучше за 2 года - но при условии, что сет проходит хотя бы лет 8).
Аргумент о том, что рынок же был совсем другим два года назад не катят: рынок меняется каждый день. И если советник проходит только последние полтора-два года, рынок для него станет другим уже "завтра". Причем настолько другим, что придется плакать об опять потерянных депозитах. Весь раздел советников и черный список завален перспективными советниками с хорошими бэктестами за 2-3 года, которые начинали лить сразу после окончания периода оптимизации. И этот "день сурка" - разработка нового советника, оптимизация сетов за два года, слив, разработка нового советника - я наблюдаю на форуме уже более двух с половиной лет (собственно, с момента регистрации).
Если советник проходит 10-16 лет (причем с не одной сотней сделок), рынок для него с большой вероятностью не станет "завтра" другим. Потому, что такой советник адаптируется под разные состояния рынка и бэктесты за длительный период являются этому доказательством.

Generic торгует "выдох" рынка в конце торгового дня. :)
Имхо, торгуем только это - и больше ничего.
Захватывая какую-то часть фикса прибыли меньших игроков.

Когда рынок, во второй половине амеров, наконец-то откидывается на спинку кресла, выдыхает и говорит "Фууух... Ну ладно, всё на сегодня..." :d
И вот тут, на выдохе рынка, бот и начинает открывать ордера на отбой, вовнутрь - то есть "на выдох".

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

Может, мы входим на отбой не в начале сужения канала, а лишь когда канал уже "сплющился"?!
Ведь "выдох рынка" часто откат 15-30 пипсов - а бот хорошо если берет 3-5.
А почему? Может, мы хаотичный храп рынка сейчас торгуем, а не ровный длинных "Фууух..." в конце рабочего дня?!
Вопрос... :)

Нельзя говорить о рынке вообще применительно к боту, торгующему 2 часа в сутки.
Конечно, и в прошлом были периоды диапазонной торговли с выраженным фиксом прибыли в конце Нью-Йорка с "доливкой" от Чикаго - которой сейчас, имхо, вообще нет.
И Generic на истории такие периоды может торговать красиво.

Но сейчас мы торгуем рынок, сложившийся после супертренда бакса.
После того, как ФРС вышел из QE и начинает повышать ставки - а остальные крупнейшие ЦБ никак не решат когда же завершить дальнейшее снижение ставок и насколько еще расширить QE.
И сейчас диапазон - потому что нервные непонятки в рынке.

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

Но искать оптимальное время входа в рынок сейчас в начале 2000-х плохая мысль.
Это скрытая мечта о большой зеленой вечноработающей кнопке "Бабло", о граале - которых нет.
Нет в начале 2000-х ответа на вопрос когда оптимально входить в рынок сейчас - и ни в какой бинокль вы это там не увидите.

Но, имхо, деньги в рынке есть - и, может, больше в разы.
Но надо научиться начинать открывать ордера на отбой ближе к экстремумам амеров - когда канал лишь начинает сужаться и, гипотетически, станут реальней трейды в 15-30 пипсов.
Сначала эту гипотезу надо будет проверить путем контролируемого входа в рынок раньше.
И, может, оптимальное время входа в рынок по каждой паре надо будет уточнять раз в 2-3 месяца - кто знает и почему нет?!...

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

Версия 12.27 - Значения часов торговли, большие, чем 24, переносятся на следующий день

Предположим, время торгов было 23-2, что соответствовало с 23 по 0 часов текущего дня, и с 0 по 2 - следующего.
А если поставить 24-2, то получалось с 0 по 2 текущего дня.
А оптимизировать значения переменных лучше подряд, а не перебирать весь диапазон.
Сейчас можно задать время, к примеру, 20-28, что будет соответствовать с 20 часов текущего дня по 4 следующего.
Проверить корректность работы всё равно бы не помешало.

В сете выключен из оптимизации Exit_Profit_Pips, и поставлен на минимальное значение.

Файл перезалит, 28.09.2016 12:15

Generic_A-TLP_v12.27_optimization_set.set107 скач.
Generic_A-TLP_v.12.27_RUS.mq483 скач.

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

#1156


Спойлер



grabli, о каких ботах речь?
Всех пар немало - все или часть?!
Котировки с каким временем и DST?



Боты во вложении. Нужно парно протестировать версию либо под МТ4 в TDS за несколько лет, либо под МТ5 за последний год в терминале альпари.
Все пары, для которых есть сеты в первом посту этой темы. Или хоты бы скажем 3 какие нибудь пары на ваш выбор.

Какое бы время не использовали в котировках, тест должен быть сравнительный, поэтому просто настройки должы быть одинаковыми для каждого из модов.

Прогнал 11.86,11.87, 11.87 f_spread на котировках с плавающим спредом без проскальзываний (Dukascopy+TDS).
Сеты - "стандартные", 2 диапазона: 2012-2016.09 и 2015-2016.09.
Во вложении зип с отчетами и сводная таблица в excel.
Выложено 5 пар, чуть позже дополню остальными и добавлю тесты для 903, если надо.

11.87 показывает те-же результаты, что и 11.86, иногда в числах не совпадают десятые.
11.87 f_spread сильно хуже двух других.
imho, 11.86 и 11.87 f_spread можно списывать.
Если кто может сделать максимально приближенные к "стандартным" сеты для 12.26, то прогоню и их на этих-же данных.

Тесты_11.86-11.87-11.87f_spread.zip54 скач.
Тесты_11.86-11.87-11.87f_spread.xlsx43 скач.

#1158

Касается тестирования\оптимизации через TDS1 с реальными историческими спредами, например, от dukascopy.
Если в EA спред вытягивать через MarketInfo(NULL,MODE_SPREAD) (как в 12.26), то тестер берет текущий спред с рынка или использует указанный нами фиксированный. А если вычислять спред через Ask - Bid, то будет взят реальный исторический спред из FXT-файла.

Давайте вернемся к старому (как в 11.86) способу вычислению спреда через Ask - Bid. Переделайте, plz.

#1159


Версия 12.27 - Значения часов торговли, большие, чем 24, переносятся на следующий день

Предположим, время торгов было 23-2, что соответствовало с 23 по 0 часов текущего дня, и с 0 по 2 - следующего.
А если поставить 24-2, то получалось с 0 по 2 текущего дня.
А оптимизировать значения переменных лучше подряд, а не перебирать весь диапазон.
Сейчас можно задать время, к примеру, 20-28, что будет соответствовать с 20 часов текущего дня по 4 следующего.
Проверить корректность работы всё равно бы не помешало.

В сете выключен из оптимизации Exit_Profit_Pips, и поставлен на минимальное значение.


Ошибка

P.S. Тиковые данные GMT2, Включен include weekends

sshot-1.png

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

#1160


Ошибка

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


Если в EA спред вытягивать через MarketInfo(NULL,MODE_SPREAD) (как в 12.26), то тестер берет текущий спред с рынка или использует указанный нами фиксированный. А если вычислять спред через Ask - Bid, то будет взят реальный исторический спред из FXT-файла.

через MarketInfo только в OnInit вытягивается, и при подсчёте лота.
может, оба этих условия вообще убрать.

первое - это
Цитата

если спред при тесте в терминале больше, чем задан Max_Spread и Max_Spread не равен 0 - советник пишет ошибку и снимается с графика

особенно, при тесте с плавающим спредом, и если начало теста выпало на ролловер

а второе - э, а надо?

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

#1161



Спойлер


в целом, можно понять, как правильно, только самому проведя оптимизацию до конца, и пройдя все этапы.
оптимизировать, может, лучше, за последние пару лет - 2015-16+, но не факт, что так.


Оптимизировать нужно на максимально возможный период. Если удается найти сет, который стабильно проходит 16 лет, нужно брать его (вернее, оптимизировать можно и за 2 года, - и даже лучше за 2 года - но при условии, что сет проходит хотя бы лет 8).
Аргумент о том, что рынок же был совсем другим два года назад не катят: рынок меняется каждый день. И если советник проходит только последние полтора-два года, рынок для него станет другим уже "завтра". Причем настолько другим, что придется плакать об опять потерянных депозитах. Весь раздел советников и черный список завален перспективными советниками с хорошими бэктестами за 2-3 года, которые начинали лить сразу после окончания периода оптимизации. И этот "день сурка" - разработка нового советника, оптимизация сетов за два года, слив, разработка нового советника - я наблюдаю на форуме уже более двух с половиной лет (собственно, с момента регистрации).
Если советник проходит 10-16 лет (причем с не одной сотней сделок), рынок для него с большой вероятностью не станет "завтра" другим. Потому, что такой советник адаптируется под разные состояния рынка и бэктесты за длительный период являются этому доказательством.


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

Старик как всегда прав! Вялый стал наш ночничок: 3, от силы 5 пунктов и то, не каждый день. Думаю,нужно сдвигать в сетах время - скорее всего,торговать раньше.
#1162


Спойлер



Если в EA спред вытягивать через MarketInfo(NULL,MODE_SPREAD) (как в 12.26), то тестер берет текущий спред с рынка или использует указанный нами фиксированный. А если вычислять спред через Ask - Bid, то будет взят реальный исторический спред из FXT-файла.

через MarketInfo только в OnInit вытягивается, и при подсчёте лота.
может, оба этих условия вообще убрать.

первое - это
Цитата

если спред при тесте в терминале больше, чем задан Max_Spread и Max_Spread не равен 0 - советник пишет ошибку и снимается с графика

особенно, при тесте с плавающим спредом, и если начало теста выпало на ролловер

а второе - э, а надо?


подсчет лота для тестирования не важен, а onInit можем обойти, еcли в тестере выставить spread=0. В таком случае тест запустится, и спред будет браться исторический из FXT-файла.
Так?
#1163


Ошибка

P.S. Тиковые данные GMT2, Включен include weekends

у вас он торгует 2014.01.04, а по идее, в этот день не должен, т.к., суббота.
поэтому, нужно проверить котировки, как сделать - не знаю. хотя бы, на графике посмотреть, если ли данная дата.
я вот экспортировал тиковые данные в csv, и после 2014.01.03 идёт сразу 2014.01.06
пофиксить-то данную ошибку - несложно, а что делать с субботами - неизвестно.

перезалил исправленный.


подсчет лота для тестирования не важен, а onInit можем обойти, еcли в тестере выставить spread=0. В таком случае тест запустится, и спред будет браться исторический из FXT-файла.
Так?

да

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

#1164

Количество сделок уменьшилось. Ровно так же уменьшилось количество торгуемых дней. Справедливо ли предполагать, что рынок стал выдыхаться гораздо раньше торгуемого периода ботом. Ведь должный откат на котором торгует бот, происходит гораздо раньше чем за час-два до конца американской сессии.

Вопрос, чем это обусловлено? Обычной цикличностью рынка? Если да, то стоит сдвинуть торгуемое время для советника. Если нет, то можно предположить, что это влияние экономического кризиса, и уменьшение объемов сделок даже на американской сессии, тогда стоит быть еще более аккуратным при регулировке времени работы советника. Либо ничего не менять, либо менять и смотреть на результаты на демо счету.

Что скажете?

#1165

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

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

#1166




Спойлер


в целом, можно понять, как правильно, только самому проведя оптимизацию до конца, и пройдя все этапы.
оптимизировать, может, лучше, за последние пару лет - 2015-16+, но не факт, что так.


Оптимизировать нужно на максимально возможный период. Если удается найти сет, который стабильно проходит 16 лет, нужно брать его (вернее, оптимизировать можно и за 2 года, - и даже лучше за 2 года - но при условии, что сет проходит хотя бы лет 8).
Аргумент о том, что рынок же был совсем другим два года назад не катят: рынок меняется каждый день. И если советник проходит только последние полтора-два года, рынок для него станет другим уже "завтра". Причем настолько другим, что придется плакать об опять потерянных депозитах. Весь раздел советников и черный список завален перспективными советниками с хорошими бэктестами за 2-3 года, которые начинали лить сразу после окончания периода оптимизации. И этот "день сурка" - разработка нового советника, оптимизация сетов за два года, слив, разработка нового советника - я наблюдаю на форуме уже более двух с половиной лет (собственно, с момента регистрации).
Если советник проходит 10-16 лет (причем с не одной сотней сделок), рынок для него с большой вероятностью не станет "завтра" другим. Потому, что такой советник адаптируется под разные состояния рынка и бэктесты за длительный период являются этому доказательством.


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

Старик как всегда прав! Вялый стал наш ночничок: 3, от силы 5 пунктов и то, не каждый день. Думаю,нужно сдвигать в сетах время - скорее всего,торговать раньше.

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

Уважаемые разработчики, помогите разобраться: в качестве теста поставил на реальный счет Generic A-TLP v.11.86_ENG.ex4 с сетами Tickmill из шапки. За две недели сделки открылись только по USDCAD. Остальные валюты молчат, хотя при тестировании за этот период всё ок и сделки присутствуют. Счет открыт в Альпари ECN. Мэджики все разные. Подскажите, в чем может быть косяк?

#1168





Спойлер


в целом, можно понять, как правильно, только самому проведя оптимизацию до конца, и пройдя все этапы.
оптимизировать, может, лучше, за последние пару лет - 2015-16+, но не факт, что так.


Оптимизировать нужно на максимально возможный период. Если удается найти сет, который стабильно проходит 16 лет, нужно брать его (вернее, оптимизировать можно и за 2 года, - и даже лучше за 2 года - но при условии, что сет проходит хотя бы лет 8).
Аргумент о том, что рынок же был совсем другим два года назад не катят: рынок меняется каждый день. И если советник проходит только последние полтора-два года, рынок для него станет другим уже "завтра". Причем настолько другим, что придется плакать об опять потерянных депозитах. Весь раздел советников и черный список завален перспективными советниками с хорошими бэктестами за 2-3 года, которые начинали лить сразу после окончания периода оптимизации. И этот "день сурка" - разработка нового советника, оптимизация сетов за два года, слив, разработка нового советника - я наблюдаю на форуме уже более двух с половиной лет (собственно, с момента регистрации).
Если советник проходит 10-16 лет (причем с не одной сотней сделок), рынок для него с большой вероятностью не станет "завтра" другим. Потому, что такой советник адаптируется под разные состояния рынка и бэктесты за длительный период являются этому доказательством.


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

Старик как всегда прав! Вялый стал наш ночничок: 3, от силы 5 пунктов и то, не каждый день. Думаю,нужно сдвигать в сетах время - скорее всего,торговать раньше.

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


Как давно ты перевел сеты на 3 часа назад? Опубликуй пожалуйста, тесты если они есть после смены времени торгов.
#1169


Как давно ты перевел сеты на 3 часа назад? Опубликуй пожалуйста, тесты если они есть после смены времени торгов.


Открой ссылку и увидишь, когда я перевел l-)

Будь у меня больше данных неужели бы я их скрывал?

P.S. вообще все насчет сетов в параллельную тему надо, тут же только разработка непосредственно бота.
#1170


Вялый стал наш ночничок: 3, от силы 5 пунктов и то, не каждый день. Думаю,нужно сдвигать в сетах время - скорее всего,торговать раньше.


Скажите есть ли смысл подбирать время в тестере? Не совсем понимаю как тестер учитывает переход с зимнего на летнее. Например я нашел в тестере более лучшее время за последний год, и что с ним делать в реальной торговле? +-1 час менять при переходе на зимнее или оставить время как есть, потому что в тестере оно лучшее?
#1171


Спойлер


Спойлер



grabli, о каких ботах речь?
Всех пар немало - все или часть?!
Котировки с каким временем и DST?



Боты во вложении. Нужно парно протестировать версию либо под МТ4 в TDS за несколько лет, либо под МТ5 за последний год в терминале альпари.
Все пары, для которых есть сеты в первом посту этой темы. Или хоты бы скажем 3 какие нибудь пары на ваш выбор.

Какое бы время не использовали в котировках, тест должен быть сравнительный, поэтому просто настройки должы быть одинаковыми для каждого из модов.

Прогнал 11.86,11.87, 11.87 f_spread на котировках с плавающим спредом без проскальзываний (Dukascopy+TDS).
Сеты - "стандартные", 2 диапазона: 2012-2016.09 и 2015-2016.09.
Во вложении зип с отчетами и сводная таблица в excel.
Выложено 5 пар, чуть позже дополню остальными и добавлю тесты для 903, если надо.

11.87 показывает те-же результаты, что и 11.86, иногда в числах не совпадают десятые.
11.87 f_spread сильно хуже двух других.
imho, 11.86 и 11.87 f_spread можно списывать.
Если кто может сделать максимально приближенные к "стандартным" сеты для 12.26, то прогоню и их на этих-же данных.


Обновление.

Прогнал 9.03,11.86,11.87, 11.87 f_spread,12.26 на котировках с плавающим спредом без проскальзываний (Dukascopy+TDS).
Сеты - "стандартные", 2 диапазона: 2012-2016.09 и 2015-2016.09.
Во вложении зип с отчетами и сводная таблица в excel.

11.87 показывает те-же результаты, что и 11.86, иногда в числах не совпадают десятые.
11.87 f_spread - в-основном сильно хуже 1187, но на USDJPY и GBPCHF показала себя немного лучше чем 1187.
1226 показала примерно такие-же результаты что и 1187.
903 - хуже везде, кроме USDJPY.

Тесты_G-903-1186-1187-1187f_spread-1226.xlsx42 скач.
Тесты_G-903-1186-1187-1187f_spread-1226.zip42 скач.

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

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

#1173

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

#1174


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


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

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

ReportTester-50041871.png
euraud_m15_generic_atlp_12.01.21_mt5.set144 скач.
EURAUD_m15_generic_atlp_12.01.21_mt5.zip162 скач.

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

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

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