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

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

Автор#276
Doveman,
да я бы не против.
И предложения, озвученные Вами - уже обсуждались (кроме усреднения).
Но сейчас проблема - нужен хороший "Senior programmer of the project".
Так как пока некому всё это делать.
#277
Doveman +1

хоть я еще и не добрался до ночников мое имхо не понятно что на гусенечном ходу тоже не есть хорошо
1)надо иметь точное представление рыночных торгов и условий для бота на разных счетах чтоб знать
с чем бороться
2)то ли в азии то ли в этой теме читал про запрет торговли в среду Первое что приходит на ум
это экономический календарь Не так ли ??? и это можно уже сейчас начинать в онлайне тестить
так как сова которая отжимает кнопку Авто-торговля уже есть на этом форуме
3)отложки конечно хорошо ,и в тестере всё хорошо будет в реале всё будет печальней
#278

Я вот тоже хайпа с лимитниками не понимаю. Они же у брокера как обычный маркет ордер исполняются? То бишь это не то же самое, что лимитник, установленный на бирже, который всегда по выгодной цене срабатывает.

А запрет торговли в среду в расписании совы настраивается, не надо никакой кнопки отжимать. Кто б ее еще потом нажимал... Я так понимаю ночь среда-четверг не любят за тройной своп, а не за какие-то события в календаре.

#279


Doveman,
да я бы не против.
И предложения, озвученные Вами - уже обсуждались (кроме усреднения).
Но сейчас проблема - нужен хороший "Senior programmer of the project".
Так как пока некому всё это делать.


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

Сейчас есть вещи, которые вполне можно сделать без программера:
- сформировать общий пул хотелок
- расставить приоритеты
Возможно, программер появится, как только увидит, какой интересный фронт работ есть)

Добавлено: 28-07-2016 16:22:51


Я вот тоже хайпа с лимитниками не понимаю. Они же у брокера как обычный маркет ордер исполняются? То бишь это не то же самое, что лимитник, установленный на бирже, который всегда по выгодной цене срабатывает.

А запрет торговли в среду в расписании совы настраивается, не надо никакой кнопки отжимать. Кто б ее еще потом нажимал... Я так понимаю ночь среда-четверг не любят за тройной своп, а не за какие-то события в календаре.


У нормальный брокеров на нормальных счетах (Альпари, FXOpen, ICM и т.д.) лимитники исполняются именно как лимитники (да, у Альпари на проецн есть настройка, чтобы лимитники исполнялись по рынку, но это именно настройка). Я не встречал отрицательных проскальзываний лимитников, зато встречал типичные признаки тру-лимитников: положительные проскальзывания и частичное исполнение.

Добавлено: 28-07-2016 16:24:38

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

Изменено 28 июля, 2016 пользователем Doveman

#280
Doveman если есть конкретные идеи можете озвучить в личку есть костыльки с фильтрами ,повторяют
один в один 9 версию А-TLP с мин измениями ,бб+макди,енвелопес+макди,макди отключается ,нано скальпер + фильтры азии правда для бай напрвления для селл пару часов переделать,нет свободного железа
для оптимизации по этому забросил
я думаю обсуждение модов азии в этой теме не стоит делать добились разгадки очень простой стратегии и
это 5 баллов

Sergey5 вам бы ещё отдельную тему создать я бы вам помог чем смог только код бы выкладывал без
ограничений(открытый) на тестер или демо только после 1 2 месяцев тестирования ,у меня принцип в начале тестер потом только онлайн
либо если можно в этой теме то надо как то ограничить в первом посте азию от мутанта из азии

Изменено 28 июля, 2016 пользователем pegaskrs

#281


Ну всё, мне надоело предупреждать о том, что надо уважать остальных и большие цитаты ставить под спойлер.
Если кому-то трудно нажать пару кнопок чтобы убрать портянку под спойлер, то мне не трудно нажать пару кнопок и изменить репутацию.


не огорчайтесь есть модеры почистят

Моё мнение с модами надо валить в уголок программиста а там пусть хоть любые комбинации опробуем
Самое главное выделить (выложить пакет котировок даже по закрытию бара на котором все будут проводить предварительную оптимизацию,либо котировки альпари так как они более менее адекват ,плюс
надо со спредами средними разобраться ) разделим параметры и пары всё гораздо быстрее пойдет
:)

Изменено 5 августа, 2016 пользователем pegaskrs

#282

Добавлена пауза в минутах и размер убытка по последней закрывшейся сделке в пунктах, после которого начинается пауза. Также добавлена максимальная длина свечи между хай и лоу в пунктах. Если длина свечи превышает установленный размер, сделка не откроется. Параметр количество баров для макс.свечи - если 0, то только на текущей. Если больше- сделка не откроется если среди установленного количества баров есть свеча длиннее установленного параметра. Это также эффективно обезопасит от убыточных сделок если цена без остановок уверенно идет в одну сторону. По остальным изменениям - не испытываю к ним энтузиазма и не хочу переходить грань, после которой среди кучи хлама в советнике нужно будет искать подходящие параметры. На мой взгляд в остальной части советник самодостаточен, за исключением того, если выявятся баги.

Generic_A-TLP_v.11.7.02_RUS.mq475 скач.

Автор#283
Yuri070,
спасибо.
Хотел бы уточнить про паузу.
Последняя убыточная сделка проверяется по наименованию пары и магику?
#284


Yuri070,
спасибо.
Хотел бы уточнить про паузу.
Последняя убыточная сделка проверяется по наименованию пары и магику?



Да, среди закрытых ордеров выбирается последняя убыточная сделка по наименованию пары и магику и вычисляется разница между открытием и закрытием если бай или между закрытием и открытием если селл. Разница сравнивается с установленным параметром размер убытка для паузы.
Автор#285
Yuri070,
просьба - по возможности просмотрите код на предмет оптимизации.
Очень долго идёт тестирование.
#286


Yuri070,
просьба - по возможности просмотрите код на предмет оптимизации.
Очень долго идёт тестирование.



Дело в том, что для того, чтобы определить размер последнего убытка, нужно перебрать все ордера в истории, чтобы выбрать последний по наибольшему номеру тикета. Перед тем, как открыть сделку сов каждый раз вынужден повторять этот цикл. Честно - я не знаю, как обойти этот цикл и сделать, чтобы оптилось быстрее.
#287
Спойлер



Yuri070,
просьба - по возможности просмотрите код на предмет оптимизации.
Очень долго идёт тестирование.



Дело в том, что для того, чтобы определить размер последнего убытка, нужно перебрать все ордера в истории, чтобы выбрать последний по наибольшему номеру тикета. Перед тем, как открыть сделку сов каждый раз вынужден повторять этот цикл. Честно - я не знаю, как обойти этот цикл и сделать, чтобы оптилось быстрее.

Попробовать сохранять тикет последнего ордера (для покупки и продажи отдельно) в новых переменных. А может быть даже, после закрытия ордера, записывать его результат в еще одну переменную.

Например, открыли ордер, записали тикет, обнулили переменную с результатом. ордер закрылся, в переменную с результатом записали итог сделки.

Изменено 29 июля, 2016 пользователем yur4ello

#288


Спойлер


Спойлер



Yuri070,
просьба - по возможности просмотрите код на предмет оптимизации.
Очень долго идёт тестирование.



Дело в том, что для того, чтобы определить размер последнего убытка, нужно перебрать все ордера в истории, чтобы выбрать последний по наибольшему номеру тикета. Перед тем, как открыть сделку сов каждый раз вынужден повторять этот цикл. Честно - я не знаю, как обойти этот цикл и сделать, чтобы оптилось быстрее.

Попробовать сохранять тикет последнего ордера (для покупки и продажи отдельно) в новых переменных. А может быть даже, после закрытия ордера, записывать его результат в еще одну переменную.


А если ордер по последнему тикету будет прибыльным? Нам ведь только убыточные нужны.

Если убыточная - результат будет отрицательным.
#289

а если в статик переменную перед открытием позиции записывать баланс ,а когда orderstotal=0: анализируем
нашу переменную только ещё наверное придется лот последнего ордера тоже запоминать чтоб можно было
вычислить разность балансов (закрылись в +-) а от профита и лотности количество пунктов ,в истории сделок вообще не чего не смотрим
для тестера самое то других символов магиков нет

Изменено 29 июля, 2016 пользователем pegaskrs

#290

Я так делаю: проверяю появились ли новый ордер в истории, если появился перебираю, во всех остальных случаях этот цикл пропускается и работает быстро.


ht=OrdersHistoryTotal();
if(LastHistoryTotal!=ht){
LastHistoryTotal=ht;
...
#291

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

Попробовал без паузы - действительно медленно. Нужно смотреть.

Изменено 29 июля, 2016 пользователем Yuri070

Автор#292

Я сделал бектест версий 11.701 и 702 в равных условиях.
Версия 702 дольше на 35-40%.
Хотя и время теста 701 очень большое.
+++++++++++++++++++++++++++
А разве обязательно перебирать все ордера?
Нельзя проверять только последний закрытый?

#293

Есть варианты ускорить как подсказали yur4ello и master_255, попробую исправить в течение выходных, сейчас времени нет чтобы спокойно заняться. Но кроме своих изменений я код не смогу поменять, чтобы сов быстрей оптимизировался. Из песни слова не выкинешь.

#294


А разве обязательно перебирать все ордера?
Нельзя проверять только последний закрытый?



Как написано в документации mql https://docs.mql4.com/ru/trading/orderselect
При последовательном выборе ордеров с помощью параметра SELECT_BY_POS информация отдаётся в том порядке, в котором она поступила с торгового сервера. Никакая сортировка полученного списка ордеров не гарантируется.

Поэтому приходится перебирать все, хотя можно разделить для тестера и для реальной торговли, в тестере всегда брать последний по позиции.
Автор#295

Тут Вам виднее.
Просто в одном моём боте (написанном, конечно, не мной)
похожая функция написана так:

Спойлер


if(last_order>0)
if(OrderSelect(last_order, SELECT_BY_TICKET, MODE_HISTORY) && OrderProfit() if(TimeCurrent() - OrderCloseTime() return(false);

if(OrderSelect(last_order, SELECT_BY_TICKET, MODE_HISTORY) && OrderProfit()>=0)
if(TimeCurrent() - OrderCloseTime() return(false);


return(true);

#296

Провел тесты советника версии 11.7 на стандартных сетах из первого сообщения. В настройках советника лишь изменил "день недели-open" на 0:30 и "день недели-close" на 23:55, то есть сделал так, чтобы советник не открывал ордера с 23:55 до 0:30. На мой взгляд это позволило получить более правдивые тесты, так как именно в этот временной период спреды сильно расширяются и ордера просто напросто не открываются. Вообщем этакий стресс тест.

Generic_test.rar89 скач.

Автор#297

Коллеги, ещё одна необходимая правка.
Сейчас в ЕА канал Боллинджера жёстко привязан к ТФ М15.
Поэтому невозможно подобрать сеты на другой ТФ.
Можете убрать привязку к М15 и сделать так, чтобы он рассчитывался по текущему ТФ?
Версия 11.701
/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=296986

#298
Спойлер


Коллеги, ещё одна необходимая правка.
Сейчас в ЕА канал Боллинджера жёстко привязан к ТФ М15.
Поэтому невозможно подобрать сеты на другой ТФ.
Можете убрать привязку к М15 и сделать так, чтобы он рассчитывался по текущему ТФ?
Версия 11.701
/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=296986



Проверяйте.
Версия 11.7.03 сделана на основе 11.7.01
Версия 11.7.04 сделана на основе 11.7.02

Generic_A-TLP_v.11.7.03_RUS.mq489 скач.
Generic_A-TLP_v.11.7.04_RUS.mq469 скач.

Изменено 5 августа, 2016 пользователем Pavel888

Автор#299
Traderman,
просьба добавить в мониторинг Тикмилла, который на первой стр. ещё один сет.
Но для него надо поставить версию 11.703.
AUDCHF M5, fixlot 0,01.
Бэктест сделан с паузой на ролловер 23:59-00:25, в рабочем сете этой паузы нет.
Если у брока будет нормальный спред - пусть торгует.
Бэктест с мая 2015, т.к. до этого был ненормальный спред из-за Банка Швейцарии.

GEN_v11_703_AUDCHF_M5_GMT_3_SET_MONITORING.set94 скач.
GEN_v_11.703_AUDCHF_M5_fixlot_May_2015_-_August_2016.gif
GEN_v_11.703_AUDCHF_M5_fixlot_May_2015_-_August_2016.rar84 скач.

#300

Sergey5, а форвард тест с какой по счету сделки на скрине?

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

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