Перейти к содержанию

[Советник] Ping Pong


Rever27

Рекомендуемые сообщения

[Советник] Ping Pong Опубликовано (изменено)


Название советника: Ping Pong
Описание: Советник открывает ордера в Ночное время по сигналу двух индикаторов: BollingerBands и Keltner Channel на отбой от границ канала (отсюда и название). СЛ рассчитывается по АТР относительно цены открытия, ТП выставляется по уменьшенному Deviation канала Кельтнера и с каждой новой свечей траллиться по каналу к цене открытия.
Также присутствует фильтр по минимальному размеру N последних свечей и фильтр минимального расстояниями между минимум/максимум ЗигЗага.
Каналы обоих индикаторов советник рисует на графике сам.
Сайт продажи: бесплатно для Форума
Таймфрейм: M15
Время торговли: Азиатская сессия

Настройки


Max_Spread - максимально допустимый спред для торговли
MaxGAP - Максимально допустимый ГЕП в старых пунктах

Keltner_Period - период индикатора Кельтнера
Keltner_Deviation - отклонение индикатора

UseBB - использовать дополнительный фильтр по ВollingerBands
Channel_Period - период индикатора ВВ
Channel_Deviation - отклонение индикатора ВВ

ATRMultiplierTP - ТейкПрофит(рассчитывается от параметра Keltner_Deviation)
ATRMultiplierSL - Стоп Лосс рассчитывается по АТР периодом Keltner_Period.

MA_Period_Fast - МА короткая. Фильтр тренда по МА. Смотрится расположени MA_Period_Fast к MA_Period_Slow. При 0 - выкл.
MA_Period_Slow - МА медленная.

ADX_Period - Фильтр тренда по ADX. Если положение основной линии индикатора больше ADX_Level - вход разрешен. При 0 - выкл
ADX_Level - уровень индикатора ADX

ExitOppositeChannel - выход при пересечении противоположной границы канала одного из используемых индикаторов.

PauseAfterLoss - пауза после убыточной сделки в минутах
maxcandle - максимально допустимый суммарный размер N последних свечей.
barcount - количество свечей для подсчета maxcandle

GMTOffset- смещение времени относительно времени вашего брокера.
Start_Trade_Hour - время начала торговли, часы
Start_Trade_Minute - время начала торговли, минуты
End_Trade_Hour - время окончания торговли, часы
End_Trade_Minute - время окончания торговли, минуты

use_rollover_filter - использовать фильтр по Ролловеру
Start_Rollover_Hour - время начала запрета торговли по ролловеру, часы
Start_Rollover_Minute - время начала запрета торговли, минуты
End_Rollover_Hour - время окончания запрета торговли, часы
End_Rollover_Minute- время окончания запрета торговли, минуты



Скриншоты







Советник открывает не много сделок, но рисует вполне красивую кривую роста.
Оптимизация сетов советника не производилась. Данные взяли методом прогона и получения лучших результатов за 6 лет.

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

Sets_and_Test_results.zip
Ping_Pong_AUDCAD_M15.gif
Ping_Pong_EURCAD_M15.gif
Ping_Pong_GBPAUD_M15.gif
Ping_Pong_GBPCAD_M15_1.gif
Ping_Pong_GBPNZD_M15.gif
Ping_Pong_v1.6.1.ex4

Изменено пользователем Rever27
  • Лайк 32
Ссылка на сообщение
Поделиться на другие сайты

Необходимо добавить параметр ограничения открытия ордеров по максимальному текущему спреду.
При 10 пунктах советник будет лить.

Не понял как работает фильтр по Зигзагу.

При абсолютно любом значении ZigZagDistance кроме нулевого, советник не открывает ордера и в журнал выдаёт сообщение, что длина безотката по Зигзагу меньше допустимой и ордер не был открыт.

Без фильтра по Зигзагу и спреду в 4-5 пунктов, скажем по AUDCAD результаты очень даже недурны!

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Ввиду малого количества сделок решил визуально просмотреть в тестере сделки за один год. Взял пару АUD/CAD. Из 33 сделок за 2010 год 21 сделка так или иначе открылась или закрылась в ролловер. Я не понимаю чем так притягателен этот кусок времени.

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Из 33 сделок за 2010 год 21 сделка так или иначе открылась или закрылась в ролловер. Я не понимаю чем так притягателен этот кусок времени.


Как чем? Шикарными шпильками... с диким реальным спредом. Изменено пользователем Serzhik
  • Лайк 6
Ссылка на сообщение
Поделиться на другие сайты

Как вариант для тестера надо сделать паузу в торговле с 23:50 до 00:10 скажем.
Это хотя бы исключит открытие сделок в ролловер, которых не будет в реальности при условии наличия фильтра по максимальному спреду.
Ну и надо понимать, что при таком малом тейке в 0,5 от ATR все сделки, которые закрываются в ролловер по тейку в реальной торговле будут убыточны.
Для избежания этого есть несколько путей:
1. Сделать параметр ограничения по максим. спреду и при закрытии сделок.
2. Сделать запрет на закрытие сделок в ролловер. Этот вариант и в тестере покажет более реальную картину.
3. Увеличить тейк-профит до 3-4 ATR

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Не понял как работает фильтр по Зигзагу.


К примеру у нас цена у верхнего канала, проверяется расстояния от текущей свечи, на которой нарисован high по ЗигЗагу до минимального предыдущего ЗигЗага. Если оно меньше, чем в настройках, то вход пропускается. Суть идеи была в том, чтобы ловить длительные, безоткатные движения. Если цена прошла расстояние в N пунктов в одну сторону или больше, то мы предполагаем, что ей пора бы и развернуться, при условии, что она уперлась в канал.
Я не говорю, что этот фильтр очень полезный, возможно он вообще не нужен, поэтому и сделал его отключаемым. Найдите чем его заменить и попробуем иной вариант. Осцилляторы не предлагать, с ними уже пробовал, результаты хуже. CCI в Генетике себя вообще никак не показал.

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


Тут немного не такой метод расчета. 0.5 это значение не от АТР, а от разницы между каналом для сигнала и каналом для ТП.
Например: канал Кельтнера сверху считается как МА+АТР*Keltner_Deviation(множитель для расширения канала из настроек).
ТП же рассчитывается как: МА+АТР*(Keltner_Deviation-ATRMultiplierTP). Т.е. если Keltner_Deviation = 3, ATRMultiplierTP = 0.5, то значение множителя для АТР будет равным 2.5: МА+АТР*2.5. Сделано это для того, чтобы при оптимизации не поступали пустые прогоны, например когда Keltner_Deviation =2, а множитель для канала =3, что выше, чем цена открытия. Суть в том, что строиться 2 канала, один для входа, второй для ТП. По второму каналу происходит тралл ТП в сторону открытия, Т.е. чем дольше ордер висит в рынке, чем меньше ТП становиться вплоть до БУ. Если сильная волатильность, то ТП быстро уйдет в БУ.

Также думаю, может еще какой третий канал присобачить для подтверждения входа. До Кельтнера стоял ТМА_Fair с форума без перерисовки, но Кельтнер дал лучше результат. Возможно кто то знает еще какой интересный канал. Хотелось бы расширить торговлю хотя бы с 20 до 4 часов, а не с 23 до 1.


Версия 1.5
- Добавлен Ролловер
- Добавлен фильтр спреда.

Спред разделять на бай и селл не буду, пока не перейдем торговать на реал, для тестов и такого достаточно. И давайте только не будем делать из советника новый Генетик и все его фильтры сюда перетаскивать. Он и так похож на него тем, что торгует ночью и один из фильтров входа это ВВ.


Добавлено: 14-12-2017 13:19:59

Продолжу че нибудь прикручивать. На этот раз ADX.
суть в том, что если основная линия ADX выше заданной отметки, то предполагаем, что мы вышли из флета, началось какое то движение, и пора входить.
Уменьшил множитель каналов до 1.5 - количество сделок в разы увеличилось. Оптимизацию не проводил.
Версия 1.6
- Добавлен ADX. При 0 - выкл.

GBPNZD_M15.htm
GBPNZD_M15.gif
Ping_Pong_v1.6.ex4
GBPCAD_M15.gif
GBPCAD_M15.htm
GBPNZD_M15.gif
GBPNZD_M15.htm

Изменено пользователем Rever27
  • Лайк 14
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Rever27, не вижу смысла добавлять ещё фильтры.

По ADX тоже лишний, как и по Зигу.

Достаточно того, что используется уже канал в канале.

Сделок в общем-то и так немного.

Единственное, что я бы сделал, так это подумал об индикаторном закрытии убыточных сделок.

А стоп-лосс как таковой можно делать в этом случае значительно больше.

Чтобы в среднем он был 50-150 пунктов в зависимости от волатильности и свинговости пары . Он будет срабатывать только при форс-мажоре (ракеты в КНДР ещё не закончились).

Больше ничего не надо делать!

Дополнительные фильтры только задушат потенциал. Сделок мало и в тестере, а при включённом фильтре по максимальному спреду их количество можно разделить на 1,3-1,5 (при включённой паузе в ролловер).

Изменено пользователем Bag-76
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

Добавьте сет для оптимизации.


Я его не делал. Все параметры индикаторов подлежат оптимизации.

Сделок в общем-то и так немного.


Если ширину канала сделать с множителем 1-1,5, то сделок будет нормально, вот только качество их упадет.
СЛ должен всегда выставляться на нормальном расстоянии для расчета процента убытка для каждого отдельного ордера.
Как выходить по индикатору - я не понимаю, лично у тебя тут идей нет, какой индикатор может показать что то такое, чтобы был выход?
Фильтры по ЗигЗагу и ADX всегда можно будет удалить. Были бы идеи.
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Если ширину канала сделать с множителем 1-1,5, то сделок будет нормально, вот только качество их упадет.
СЛ должен всегда выставляться на нормальном расстоянии для расчета процента убытка для каждого отдельного ордера.
Как выходить по индикатору - я не понимаю, лично у тебя тут идей нет, какой индикатор может показать что то такое, чтобы был выход?
Фильтры по ЗигЗагу и ADX всегда можно будет удалить. Были бы идеи.


Две мои идеи, которых как бы нет, уже тобой воплощены в текущей версии советника.
Как по мне так сделок маловато даже при множителе 0,5. С другой стороны, торгуя скажем 5-8 парами одна-две сделки в день будут практически всегда.
Что касается индикатора, я пробовал для какого-то из своих ночников прикрутить PSAR. Результаты уже не помню. Видимо, не особо, так как этим совом сейчас не торгую...
В общем, индикатор предлагать не буду. Так сам не нашёл того, который удовлетворил бы меня в аналогичном случае.
Главное, чем тут надо руководствоваться, так это предпосылкой, что каждый ордер открывается в пределах мини-тренда, который ограничен стенками канала. И как вариант, можно крыть сделки как только цена достигнет стенки противоположного канала. Причём неважно в плюс или в минус закроется ордер. Понятно, что мысль не новая, используется в десятках ночных скальперов. Но она удачная, так как это работает десятилетиями.

Добавлено: 16-12-2017 14:20:22

Несколько тестов 2010-2017гг AUDCAD.

PingPong_AUDCAD_Dev0.5_Tp0.5SL15.gif
PingPong_AUDCAD_Dev0.5_Tp0.5SL15.htm
PingPong_AUDCAD_Dev2_Tp0.5SL15.gif
PingPong_AUDCAD_Dev2_Tp0.5SL15.htm
PingPong_AUDCAD_Dev2_Tp2SL15.gif
PingPong_AUDCAD_Dev2_Tp2SL15.htm

Изменено пользователем Bag-76
  • Лайк 3
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

И как вариант, можно крыть сделки как только цена достигнет стенки противоположного канала.


Судя по визуализации противоположного канала советник никогда не достигает, потому что будет раньше закрыт по ТП. Какие можно использовать индикаторы для выхода? Если цена продолжит идти не в нашу сторону, то все осцилляторы так и так будут показывать сигнал на торговлю. Сетку фибо тянуть - тоже сомнительное занятие. На всякие МАшки смотреть тоже не охота.
Проблема его, как и Генетика в том, что он хорошо торгует только ночью. Если бы придумать фильтр, который бы расширил диапазон торговли скажем с 20 до 4 часов, то и сделок бы было больше. Для этого я и тыкаю в него всякого рода индикаторы.
А так, конечно, для долгосрочной торговли и 150-200 сделок на пару, если к примеру будет 10 пар будет вполне достаточно. Были бы желающие провести оптимизацию, либо предложить интересные идеи по доработке. Изменено пользователем Rever27
Ссылка на сообщение
Поделиться на другие сайты

Rever27, хотелось бы уточнить пару моментов. Советник, как я понял работает на закрытие свечи и открытие новой, в данном случае ТФ М15, следовательно результаты должны быть примерно одинаковые как по всем тикам, так и по ценам открытия? Rever27, есть ли у вас желание прикрутить к советнику функцию обработки сигнала на каждом тике с возможностью выбора false/true, аналог параметра "использовать каждый тик" в генерике и "tickstrade" в азии? И параметр "рабочий таймфрейм" с возможностью выбора торгуемого ТФ во входных параметрах советника? У генетика есть такая функция, когда я его оптил, я ставил его на М1 в тестере по ценам открытия или контольным точкам, а в самом советнике ставил рабочий период М15, в конечном итоге результаты были одинаковые, только на М1 по ценам открытия он оптился значительно быстрее как по мне, чем на М15 по всем тикам

Ссылка на сообщение
Поделиться на другие сайты

По поводу выхода по индикатору могу предложить индикатор !TP1_Channel2, который рассматривался в ветке Генерика (ссылка на отзыв по данному индюку http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=321540, ссылка на виденье автора отзыва по работе с индюком http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-generic-a-tlp/13593/?do=findComment&comment=321616)
Rever27, насколько поможет не знаю. В визуальном режиме, если посмотреть по паре AUDCAD (сет выложенный Вами), то позволяет закрывать сделки с б`Ольшим количеством пунктов. В любом случае попробовать можно.

TP1_Channel2.mq4

Ссылка на сообщение
Поделиться на другие сайты

Советник, как я понял работает на закрытие свечи и открытие новой, в данном случае ТФ М15, следовательно результаты должны быть примерно одинаковые как по всем тикам, так и по ценам открытия?


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

По поводу выхода по индикатору могу предложить индикатор !TP1_Channel2,


Помню я эот индюк, кучу хвальбы его автора и в итоге ни одного рабочего сета с ним. Я его прикручивал в свои личные реализации Генетика, ничего дельного не вышло.
Да и выход мне не по ТП нужен, текущий выход по каналу мне нравиться. Мне бы придумать вариант выхода ранее наступления СЛ.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Помню я эот индюк, кучу хвальбы его автора и в итоге ни одного рабочего сета с ним. Я его прикручивал в свои личные реализации Генетика, ничего дельного не вышло. Да и выход мне не по ТП нужен, текущий выход по каналу мне нравиться. Мне бы придумать вариант выхода ранее наступления СЛ.


Ещё раз напишу.
Rever27, делай закрытие по пересечению противоположной стенки канала. Не в плюс. А в минус.
Если тейк сработает раньше, то так тому и быть.
Я за три года работы с ночниками перепробовал много чего. Это лучший вариант.
Самый простой и самый рабочий.
Ссылка на сообщение
Поделиться на другие сайты

Rever27, делай закрытие по пересечению противоположной стенки канала. Не в плюс. А в минус.


Как? Откуда у меня противоположная стенка канала в минус? )
К примеру мы входим в продажи на пересечении двух верхних каналов. ТП у нас ниже сделки, СЛ выше. Как мы можем сверху пересечь канал, если его там нет, обе границы канала ниже/равны цене открытая.
Ссылка на сообщение
Поделиться на другие сайты

Как? Откуда у меня противоположная стенка канала в минус? )
К примеру мы входим в продажи на пересечении двух верхних каналов. ТП у нас ниже сделки, СЛ выше. Как мы можем сверху пересечь канал, если его там нет, обе границы канала ниже/равны цене открытая.


У тебя же канал не статичный ))).
Представь, что ты открылся в селл, но цена не отбилась от верхней стенки вниз, а пошла дальше расти и в итоге нижний канал оказался выше цены, но при этом цена из-за импульса не достигала нижний границы канала.
А на откате достигла и ордер был закрыт с минимально возможными потерями.
На скрине пример просто по Боллинджеру.

Всё очень просто.

1.png

Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Всё очень просто.


Как и в Дженерике ))), как мне видится можно использовать как раз осциллятор только не по входу, а по выходу, например: зашёл наш ночной друг по боллинджеру в продажу, пошла цена против и в определённой зоне перекупленности (параметр нужно оптить, да и осцилятор подобрать) сделка закрывается, хотя вроде и в 12-ом дженерике такая опция есть, не помню, давно ночников не крутил >:d Изменено пользователем Blackrzn
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

Как и в Дженерике ))), как мне видится можно использовать как раз осциллятор только не по входу, а по выходу, например: зашёл наш ночной друг по боллинджеру в продажу, пошла цена против и в определённой зоне перекупленности (параметр нужно оптить, да и осцилятор подобрать) сделка закрывается, хотя вроде и в 12-ом дженерике такая опция есть, не помню, давно ночников не крутил >:d


Не интересовался Дженериком. Не до него было.
Можно и осциллятор использовать. Важно, что лоссовый выход будет не статичный (относительно статичный) и сов не будет пересиживать.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

Можно и осциллятор использовать.


Осциллятор тут не поможет. Потому что если сделка на Sell, то мы должны дождаться, пока он выйдет из перекупленности (именно в этой зоне он и будет в 90% случаев), уйдет в перепроданность, притом так, чтобы цена при этом шла вверх, что не реально, и только тогда закрыть сделку.



В общем, поработал еще над кодом.
Версия 1.6.1
- Убран фильтра по ZigZag, т.к. никто его не оценил по достоинству. В любой момент можно вернуть.
- Переработан фильтр по МА. Теперь если обе МА(быстрая и медленная) больше 0, то смотрится направление тренда по ним. Если быстрая МА выше медленной - тренд вверх и вход разрешен только в покупки. Фильтр в 2 раза режет количество сделок, можно при оптимизации попробовать и с ним.
- Добавлен выход по противоположному сигналу одного(любого) из каналов. ExitOppositeChannel. Если 0 - выкл.

Сделал прогон с фильтром выхода и без, результаты во вложении.
Также прилагаю сет для оптимизации для заинтересованных форумчан, сам ей не могу заняться, компы заняты уже работой.



update
Не успел закончить 1.6.1, как решил выпустить 1.7, для тех, кто является истинным поклонником Генерика.
Суть обновления в том, что теперь основным индикатором является BB, а Keltner - второстепенным. ТП высчитывается тоже по ВВ.
Если хотите классику по завещанию Генерику - отключаете UseKeltner, и не нужен никакой тормознутый BestFreeScalperEA. Отчет без Кельтнера также во вложении, сделок больше 1000.

GBPCAD_M15_ExitOppostieChannel.gif
GBPCAD_M15_ExitOppostieChannel.htm
GBPCAD_M15.gif
GBPCAD_M15.htm
GBPCAD.set
Ping_Pong_v1.7.ex4
Optimization_Set.set
GBPCAD_M15.gif
GBPCAD_M15.htm

Изменено пользователем Rever27
  • Лайк 9
Ссылка на сообщение
Поделиться на другие сайты

Тест в ТДС2 с реальным спредом.
С отключенным UseKeltner вообще льёт со страшной силой...

PingPong1.7realspredGBPCAD.gif
PingPong1.7realspredGBPCAD.htm

  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)


Тест в ТДС2 с реальным спредом.
С отключенным UseKeltner вообще льёт со страшной силой...



Тоже прогнал в TDS2 результаты вообще другие, не похожие на ваши, правда у меня брокер pepperstone, думаю неправильно рассчитал временные сдвиги при импорте, вы в альпари какие используете настройки GMT и DST при создании тикового формата?
Изменено пользователем izeran6565
Ссылка на сообщение
Поделиться на другие сайты

[Советник] Ping Pong Опубликовано (изменено)

GMT+2 DST использовал я

С отключенным UseKeltner вообще льёт со страшной силой...


Вчера проверили с коллегой сеты в ТDS, на котировка Дукасов программа использует очень завышенные спреды, порядка 6-9 пунктов. Я тестировал со спредом 2.5-3.5 пункта. Т.е. при прогоне нужно уменьшать множитель спреда до 0.5.
В этой версии добавил в комменты вывод спреда, с которым открывается ордер.

Ping_Pong_v1.7.2.ex4

Изменено пользователем Rever27
  • Лайк 4
Ссылка на сообщение
Поделиться на другие сайты

на котировка Дукасов программа использует очень завышенные спреды, порядка 6-9 пунктов. Я тестировал со спредом 2.5-3.5 пункта.


На графике ниже реальный спред по паре GBPCAD за последние дни, брокер Тикмилл. 6-9 это далеко не предел и ничего у Дукасов не завышено, а 2,5-3,5 это скорее всего среднедневной спред у этой пары.

GBPCADspred.JPG

  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

ничего у Дукасов не завышено, а 2,5-3,5 это скорее всего среднедневной спред у этой пары.


Ну так я выложил версию, которая печатает спред, проверь на ней, с каким спредом открываются сделки.
Лично я бота не защищаю, льет ночью на высоких спредах, значит нужно что то думать.
Ссылка на сообщение
Поделиться на другие сайты

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...