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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE


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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Приветствую!

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

Описание алгоритма:

Идея советника изначально была в использовании индикатора взятого в интернетах - X2 PRICE ZONE
Цель зайти в зарождающийся внутридневной импульс и тралить все это "великолепие" до победы.


Сетап на покупку:
Если опен свечи находится выше канала индикатора X2 PRICE ZONE и ниже ATRu500 (индикатор ATR H1 Channels) и Golden MACD выше ноля и выше сигнальной линии, то опен бай.
Стоп лосс за противоположной границей канала X2 PRICE ZONE.

При движении в сторону прибыли на величину равную расстоянию между ATRu500 и ATRd500 часть открытой позиции закрывается, остальная часть тралится.

Для селл все наоборот.

ПРОБЛЕМЫ:

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

Что, в свою очередь, приводит к низкому значению рентабельности стратегии, часто % прибыльных сделок не превышает 45%.

Для снижения воздействия стопов на эквити счета и улучшения стабильности при тестировании алгоритма, введен следующий параметр:
На эквити накладывается скользящая средняя и если значение средств падает ниже МА, то включается алгоритм увеличения лота.
Например, если в настройках стоит 55 скользящая средняя и мультипликатор лота стоит 1,5, то при падении эквити ниже 55 МА, советник будет открывать позиции с мультипликатором 1,5 пока эквити не станет снова выше 55 ма.

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

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

Какие шаги к доработке алгоритма я вижу:

1. Изменение алгоритма установки уровня стоп лосс. Сделать его больше, например вынести стоп за пределы канала АТР.

2. Введение уровней на MACD, чтобы попробовать избежать входов на вершине импульса.

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

Если получится коллективное творчество, то я вижу цель в том, чтобы попробовать увеличить рентабельность алгоритма хотя бы до 58% прибыльных сделок, если получится 60%, то это победа.))


Бай.png
Селл.png
USDJPY_test.png
2017-03-22_02-31-18.png
X2_PZ_algo.rar

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

  • Ответов 118
  • Создано
  • Последний ответ

Популярные авторы

Популярные авторы

Популярные посты

Версия 1.2 Добавлен уровень бузубытка на визуализации Уровни профита теперь считаются в пунктах от безубытка, раньше текущий профит переводился в пункты для лотности первого ордера сетки Добавл

Перейти

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

Перейти

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

Перейти
[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Рабочий таймфрейм H1? Видно что в плюс он идет только за счет увеличения лотности при убытках, усреднение не пробовали, вместо этого?


Добавлено: 22-03-2017 14:51:35

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


Вроде не плохо вышло.
В приложении советник и бактесты стандартного варианта и с переворотной сеткой в TDS2, сеты автора только на сетке начальный лот уменьшен до 0.01

X2_PRICE_ZONE_GRID_R.ZIP
TesterReports.zip

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Рабочий таймфрейм H1? Видно что в плюс он идет только за счет увеличения лотности при убытках, усреднение не пробовали, вместо этого?


Здравствуйте, рабочий ТФ -М30, на Н1 (из за особенностей внутридневных и междневных разворотов) показатели хуже. Усреднение в этом советнике не планировал, так как по усреднению есть иные наработки.

Как раз из за продолжительных убыточных серий сов и проседает. Для более гладкой работы было введено увеличение лота при падении эквити ниже МА.
Расчет был на то, что 1-2 прибыльных сделки перекроют серию из 3-4 убыточных, за счет большей прибыли в пунктах. Но всегда есть обратная сторона медали, при длинных сериях убытков имеем большую скорость и глубину просадки.

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

Если Вы посмотрите на стейтмент тестера на майфхбук, то там видно что показатели трендовой стратегии в норме. Мат ожидание 8.8 пп, это позволит пережить комиссию и проскальзывания на реале, но только в том случае, если рентабельность алгоритма будет больше 50%. Иначе периоды стагнации будут просто невыносимыми))).
Так же стандартное отклонение не сильно превосходит среднюю прибыль в деньгах, это тоже смотрится довольно оптимистично, но скорее всего такое значение получено за счет мультипликатора лота в 1,5.

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



Спасибо большое за помощь!
У меня к Вам вопрос, не могли бы Вы посмотреть, а нет ли возможности улучшить показатель рентабельности начального сова?
У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ. Изменено пользователем PiKG
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано


У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ.



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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано



У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ.



Идеи в студию

Спасибо за обратную связь! Обязательно выдам все явки и пароли.))

Только мне нужно чуть больше времени для формирования обоснования ТЗ. Так получилось, что решение было спонтанным, поэтому на руках ничего нет.
В ближайшее время все подготовлю.
И мне хочется посмотреть Ваше решение, картинка тестера очень впечатляет, надо посмотреть поближе. Будем смотреть сразу в 2-х направлениях, если Вы не против конечно.
  • Лайк 1
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Парни, вы очень неплохо начали тему! =d>

Попробуйте упереться и дожать.

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Идеи в студию


Мастер, знаете, а нахер мою идею (пока). Ваша идея не менее интересна, потому что такие варианты я давно смотрю, но похоже мой взгляд и там замылился.

Давайте рассмотрим Ваш вариант.

Я поставил на тест Ваш вариант сова с настройками по умолчанию на доллар/йену М30.

Сов слил, но сам факт слива выглядит довольно интересно.

(Господа, если не сложно, помогите плиз мне научиться вставлять картинки на этом форуме - не умею.)

В аттаче скрины по сливу.

Но вот в чем особенность, я начал тест с 1600 у.е стартовый лот 0,1. Это очевидно - дофига.
В аттаче скрин механики слива.
Что же мы видим?
Очевидно, слив наступил из за более длительного флета, чем обычно.
Что можно сделать?

Как по мне, то нужно ввести в сов более адаптивный временной фмльтр.

Изменить сессионный фильтр, на более адаптивный.

Первичный временной фильтр:
Спойлер

Понедельник true/false
Вторник true/false
и т.д. (до пятницы включительно)



Вторичный фильтр по времени:
Спойлер

00-00 true/false
01-00 true/false
и т.д. до 23-00


так же нужно ввести дополнительное условие по пятнице:

Если в четверг уже есть открытая сетка, то в пятницу мы работаем только на закрытие этой сетки и не открываем позы (если пятница false).
Единственная цель в этот момент, закрыть серию до закрытия рынка.

Что это даст?
Можем посмотреть как измениться профиль рисков и эквити при введении временного фильтра.
С учетом слива в понедельник после гэпа, это может дать свой профит.

Так же я изменил первичный алгоритм входа, точнее он уже был в советнике, но по умолчанию в Вашем алгоритме был выбран самый первый вариант советника
я же поставил второй вариант с учетом MACD/ (этот вариант прошел просадку, где слил сов с настройками по умолчанию).

Так же предлагаю ввести адаптивный алгоритм переворота. На данный момент, алго зажат в жесткие рамки (пункты ).

Давайте попробуем посмотреть через тру/фальс такой вариант (см аттач)):
У нас есть индюк X2 PZ(ПЗ) у него есть черный канал) Давайте попробуем использовать этот канал в расчете переворота.
Так же у нас есть канал ATR, давайте так же будем его учитывать.

Например:
Если опен бай выше канала (черного ПЗ) и внутри пунктирного канала АТР, то селл ставится за противоположной границей черного канала (ПЗ) и внутри пунктирного канала ATR.

Так же я думаю что было бы отлично, если бы в этом варианте сова появился на графике уровень БУ с учетом спреда, свопа и комиссии.
Это нужно для наглядности и контроля поведения алгоритма.
Плюс это (вероятно) может навести на некие мысли о которых мы пока не знаем.))

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

2017-03-22_23-09-00.png
2017-03-23_00-16-27.png
2017-03-23_00-19-50.png
X2PZ_GRID_test_01_1.htm
X2PZ_GRID+MACD_test_01_1.htm
2017-03-23_00-26-17.png

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Почти полностью переписал код.


  • Оставил только вторую стратегию, параметры по умолчанию выставил из сета PiKG для USDJPY

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

  • В предыдущем моем варианте не работал трал (а никто и не заметил), починил, но разница небольшая.

  • Добавил фильтр дней недели.

  • Добавил условия закрытия сетки: выход за канал, который считается от середины между "X2 PZ" и "ATR H1-Channels", параметр Use_PZ_ATR.

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



Фильтр по интервалам времени можно и текущим фильтром эмулировать, задавая отрезки, мне это вообще не очень нравиться, ну ладно ночью действительно в основном флет и её можно исключить, а остальные отрезки времени это чисто подгонка будет.

Уровень БУ в таком варианте не найду как правильно посчитать, все варианты которые находил врут при 3-х и более ордерах.

Добавлено: 24-03-2017 09:01:52

Версия 1.1

  • Добавлена проверка наличия необходимых индикаторов и достаточной истории котировок для них

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

Piranha.mq4
Piranha_H1_5000depo.zip
Piranha_v1.1.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Предыдущее свое сообщение писал несколько "наскоком".
Согласен по поводу прошлой версии и трала.
При переворотной стратегии трал начального входа действительно не сильно влияет на общую картинку
так как есть мультипликатор лота и в 40-50% входов, закрытие сделки будет по переворотному алгоритму.
Что сводит эффект трала первого входа на нет из за низкого стартового значения лота.

Давайте поближе посмотрим на переворотную стратегию, на ее особенности и отличия.

1. Первый правильный вход (направление движения цены) теряет свою основную роль.
Нам не важно куда пойдет цена, нам важно когда и на сколько она отклонится от торгового коридора.

2. Одним из самых основных для переворотной стратегии является длина торгового коридора в барах,
а так же ширина этого коридора и частота активации сделок на границе этого коридора.

Спойлер



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

3. Из второго пункта, вытекает третий).
Вторым по значимости параметром является отклонение цены от торгового коридора.
Этого отклонения должно быть достаточным чтобы выйти по прибыли , заданной в алгоритме переворота.
(Поэтому не плохо иметь на графике отображение уровня безубытка).
Спойлер




К чему все это?
Исходя из этих пунктов единственная задача трейдеров -найти оптимальные значения коридора и отклонения цены от этого коридора.
Выявить проблемные участки и посмотреть способы решения проблемы.
Проблема 1 - флет, не хватит средств для переворота если флет более чем возможности счета для открытия сделок.
Проблема 2 - она комбинирована, величина отклонения от торгового коридора (в любую сторону) должна соответствовать среднему АТР пары+средней величине импульса который можно проверить на истории. Не хватит величины отклонения для закрытия по прибыли из за слишком долгого нахождения цены в границах торгового коридора.

Поэтому теперь, на мой взгляд нужно обратить внимание именно на эти параметры торговли. Но для этого нужно собрать статистику на достаточно длительном участке истории.
А именно, собрать в информер информацию о максимальном и среднем формировании торгового коридора (количество сделок в бай и селл до закрытия в прибыль)
Собрать информацию о максимальном и среднем отклонении от торгового коридора в пунктах.
Конечно это второстепенная информация, потому что первичен всегда первый вход, место открытия первого ордера. Если первый ордер часто открывается во флетовой зоне, то стратегия будет менее устойчива и будет подвержена большим просадкам и вероятность получения стопаута на флете будет очень высока.



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


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

Спойлер



Спойлер



Уровень БУ в таком варианте не найду как правильно посчитать, все варианты которые находил врут при 3-х и более ордерах.


Получается что работает лок, в аттаче прикрепляю индикатор для работы с локом. Показывает уровни БУ какие только возможно.
Может быть он чем то поможет?

Inf_Open_Orders+.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Версия 1.2


  • Добавлен уровень бузубытка на визуализации

  • Уровни профита теперь считаются в пунктах от безубытка, раньше текущий профит переводился в пункты для лотности первого ордера сетки

  • Добавлен сброс тейка первого ордера после установки противоположного

  • После окончания тестирования в лог выводиться сообщение о максимальном и среднем количестве ордеров до закрытия в прибыль

Piranha_v.1.2.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Посмотрел измененную версию.

Вообще у меня довольно интересная ситуация - прошлая версия сливает на моих котировках при идентичных параметрах, как в отчетах с тестера у Мастера.

Но я в принципе грешу на некачественные котировки.

Это так - отступление лирическое.

Теперь по теме:

Взял прогон с января 2017 по сейчас.
Вижу некоторые огрехи в работе алгоритма.
Например входы 27 января 2017 (сэт прогона в аттаче).
Вход в 13-45 на селл. По идее тут входа быть не должно (по первичному алгоритму), так как макд выше ноля.

Спойлер



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

Текущий алгоритм все еще использует мою прошлую задумку, о входе в импульс максимально близко к его началу, из за этого и были основные проблемы.
Сейчас же получается что переворот становится ровно на оси флета, который формируется индикатором X2 PZ.
При отсутствии направленного движения цены, мы в любом случае получаем первый вход и цена начинает накручивать шаги мартина по границам жестко заданной торговой зоны, образуемой каналом X2PZ и пунктирным каналом АТР.

Если дневная свеча в итоге формируется как мелкий доджик, то получаем накрутку на 7-8 колен. А это уже красная зона - если повезет то закроем, если не повезет то сольем.

На рисунке отмечен не такой катастрофичный торговый коридор, но там ясно видны проблемы ТС.
Спойлер


Попадаем во флет, и начинаем крутить, если следующий день, цена так же не будет смещаться на новые уровни, то будет слив.

Что из этого следует?
Нам нужно каким то образом фильтровать флет, можно конечно добавить фильтрацию индикатором ADX, но там проблема в установке уровня,ниже которого считается что цена не имеет направления движения.

Так же первичный алгоритм, который не дает делать первый вход за пределами пунктирного канала ATR будет мешать эффективной работе алгоритма.

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

Спойлер



Конечно это все касается именно алгоритма первого входа.

Что же по поводу алгоритма переворота (торгового коридора)?

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

Переворотный ордер должен находиться внутри канала АТР.

Остальные ордера открываются при касании "границ" торгового коридора (с учетом алгоритма). Если флет, то имеем довольно печальный пинг понг.

Как же прорядить эти самые шарики "пинг понга"?

Можно пробовать добавить индикатор, который не даст открывать сделки по упрощенному алгоритму.
Например добавить модифицированный CCI.
И активировать переворот только при соответствующих показателях этого индикатора.

1,2,3 шаг открываем как сейчас - ничего не меняем, а вот после активации 3-го шага уже вступает в работу сси.
Для активации бай переворота CCI должен быть выше уровня 90.
Для активации селл переворота CCI должен быть ниже уровня -90.
Если такое введение не нарушит алгоритм переворота, то может стоит рассмотреть?

Я сейчас ищу более менее оптимальные способы растянуть количество переворотов по флету, не дать набрать критическую массу переворотов.

По переворотам получается примерно так (грубо):
Спойлер

1-й шаг
2-й шаг
3-й шаг
самые безопасные

4-й шаг
5-й шаг

самые прибыльные шаги

6-й шаг
7-й шаг
опасный уровень (значительная просадка)

8-й шаг
9-й шаг
критический диапазон, большая просадка и возможен слив при неудачном стечении обстоятельств



Пока мысли такие чтобы снизить вероятность появления 8-9 шагов.
Для этого надо растянуть во времени шаги с 3-го по 7-й.

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

Как резюме:

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

2. Если мы добавим ADX для дополнительной фильтрации, то можем (теоретически) улучшить статистику торгового коридора (но может упасть количество входов).

3. Если мы добавим индикатор CCI (модификация), то вероятно мы сможем уменьшить количество переворотов на длинном флете.
Я еще рассматривал сам MACD, как фильтр переворотов. Можно и его рассмотреть.
Если макд ниже ноля и ниже уровня -0,005 (для usd/jpy) и цена внутри пунктирного канала АТР то переворот активируется.
Спойлер


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

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

Ну и конечно временнЫе параметры активации, тут надо думать.






Piranha_v.1.2._usdjpy_test_2017.set
CCI_НУФ_v5a.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Страшную картину показал EURAUD - 17 ордеров сетки 8-}

Еще в журнал сыпет ошибку, я не понял, где она и с чем связана =\

Statement_EURAUD.gif
Statement_EURAUD.htm
Error.png

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)


Страшную картину показал EURAUD - 17 ордеров сетки 8-}



Как по мне, то euraud не торт для теста текущего алгоритма. На мой взгляд лучше тестить доллар йену, евро бакс, евро йену, короче то у чего наименьший спред.

Но все же погляжу что там к чему, очень странная кривая теста у вас, хочу сам поглядеть.

Теперь все выглядит иначе, при новом прогоне испарились сделки которых недолжно быть, а теперь вообще все в порядке с открытием первой сделки.
Котировки такие котировки. @-)
Спойлер


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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

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

Rever27, похоже эта ошибка возникает если брокер запретил CloseBy(Закрытие встречным ордером), заранее этот запрет видимо никак не узнать.

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Rever27, похоже эта ошибка возникает если брокер запретил CloseBy(Закрытие встречным ордером), заранее этот запрет видимо никак не узнать.


Так я тестирую на котировках TSL, там в настройках нет никакого запрета. Визуализация вроде тоже вполне нормальная.

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Плечё, мин лот, лот степ и многие другие параметры при тестировании в TSL берутся из параметров счета к которому подключен терминал, только в TDS их можно переопределить, а в TSL нужно подключаться к другому счету.

В усредняющей сетке лучше начинать с большего лота, а в такой (если разрешено закрытие встречным) не все так однозначно, выгоднее закрыть сначала встречные (так как экономиться спред), а потом оставшиеся.
Еще лучше посчитать заранее какие ордера и с какой лотностью останутся после CloseBy и сделать частичное закрытие начиная с большего, потом закрыть оставшиеся встречные. Надо будет подумать над таким вариантом.


Добавлено: 27-03-2017 13:04:09

Версия 1.3

  • Добавлен параметр macd_atr_shift, для сигнала на первый вход "0" - текущий бар, "1" -предыдущий

  • Добавлены фильтры переворота ADX и CCI, все фильтры переворота выделены в отдельный блок настроек

  • Изменен алгоритм закрытия, на тот что описан выше + если закрытие встречных запрещено будет закрытие начиная с большего лота




Piranha_v1.3.mq4
Piranha_H1_5000depo_PZ_ADX.zip
Piranha_H1_5000depo_CCI.zip

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Задался еще несколькими вопросами:
1) Почему мы использует среднее значение между уровнем двух индикаторов? (upLineATR+upLinePZ)/2 ? Может правильнее было бы для новых ордеров брать канал по ATR?
2) Считаю, что тралл тут нафиг не нужен, когда идет такая работа с сеткой, он только будет мешать.
3) Нужно ли проверять условия на вход каждый тик? Может быть проверять пересечение уровня уже на открытии новой свечи? Ничего по сути не теряем, только убираем лишний шум, а скорость тестов повысится в разы.
4) Как сложноватая идея - частичное закрытие сетки. Когда сетка уже разрослась в разы, включить поиск и закрытие двух начальных противоположных ордеров с равным лотом, чей общий профит равен 0. Тем самым, когда сетка в 10 ордеров, мы облегчим ее существование, удалив 2 противоположных ордера, закрыв их в ноль.



Чисто для эксперимента поменял местами направление входов для последующих ордеров - получился обычный мартингейл, и как я его не крутит, толку из него не вышло, так что если кто то задумается о классическом мартине - затея неудачная )


Также влез нагло в код, сделал версию 1.2.1:
- Открытие противоположных ордеров при появлении сигнала MACD +/- 0.0005 совместно с фильтром по каналу. На визуализации не смог поймать этот момент, ордер быстрее открывался на канале.
- Добавил фильтр входа по ADX для первого ордера. Период и минимальное значение главной линии вынес в настройки.

Сделал тест 3 вариантов на AUDUSD:
- Обычный (Piranha Standard)
- С фильтром минимальным ADX = 40 (Piranha ADX 40) - сделки режет в 2 раза, но и просадка меньше
- с входом на канале индикатора ATR H1-Channels_with_alert

Если эти фильтры нужны, Мастер255 перенеси их себе в код.



Upd Опоздал я )

Piranha_v.1.2.mq4
AUDUSD_Tests.zip

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Версия 1.4


  • Параметр LastCloseBy, закрытие дальних ордеров если их общий профит больше или равен 0 и количество ордеров больше LastCloseBy



Rever27, ты видимо случайно 1.2 без изменений скинул, добавь свои наработки в 1.4

Piranha_H1_5000depo_CCI_LastCloseBy.zip
Piranha_v1.4.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Rever27, ты видимо случайно 1.2 без изменений скинул, добавь свои наработки в 1.4


Блин, и правда, не то скинул. Версия на работе осталась, но ты и так уже все реализовал в 1.3
Я там добавил основную линию ADX для проверки условия на вход первого ордера. Если ADX больше N, значит сейчас тренд, значит можно входить. Банально, конечно, но как еще определить тренд я ума не приложу. Свечной анализ делать кодингом просто не реально, если много свечей. Можно, конечно брать данные расстояния по ЗигЗагу, но и с ними мы всегда может войти в начало флета.
Вообще, по сути, мы практически всегда находимся в замке, если открыто четное количество ордеров. Возможно стоит последующий, нечетный, открывать только тогда, когда по ADX снова восстановится тренд. Завтра подробнее изучу твои нововведения.


Еще, мысль пришла в голову. Если мы отвяжемся от значения ТП в пипсах, и будем его выставлять либо по АТР*множитель, либо на средней линии канала ATR, при условии, что его хватит, чтобы закрыться в плюс?
И кстати, по помещало бы ТП все же выставлять у всех ордеров, а не держать их в памяти. Зависнет VPS, и сетка будет брошена в свободное плавание без целей. Изменено пользователем Rever27
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Версия 1.5


  • golden-macd оказался просто разукрашенным стандартным MACD и был заменен стандартным

  • трал и тейк первого ордера ничего не меняли и были удалены

  • добавлен фильтр первого ордера по ADX

  • добавлен фильтр переворота только по каналу ATR, без PZ

Piranha_v1.5.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)
Master255 Сейчас занимаюсь изучение версии, ничего пока больше не пиши, выложу свое дополнение ))

Добавлено: 28-03-2017 11:48:38

Фух, закончил наработку )

Версия 1.5.1
- Убраны минуты для анализа времени торговли. Имхо, если еще и минуты оптимизировать, то это вообще подгонка будет.
- Добавил фильтр времени и для последующих ордеров. Теперь "UseTradeTime for First Order" - активирует фильтр времени только для первого ордера, "UseTradeTime for Next Orders" - для всех последующих. Логика такова, что у нас на рынке преимущественно по всем парам образуется флет с 0 до 8 утра, эти данные я получил со своего индикатора волатильности (скрин во вложении), и нам желательно избегать входы во время флета. Не понравится идея - удалим.
- Добавлен обработчик ошибок из Генетика в конце каждого тика. Лишним не будет )
- Значения TurnFilterATR и TurnFilterPZ_ATR добавлены под общий Енум выбором, чтобы сократить кол-во лишних параметров, уменьшив тем самым количество проходок оптимизации.
- Добавлены текстовые метки под графиком (отключаемые), сообщающие о причине входа, выхода, пропуска сигнала.
- Добавлена инфопанель, отображающая кол-во сделок, суммарный лот, расстояния до БУ и текущий профит



Мысли вслух:
- Выбор торговли по дням бы я убрал, нам желательно входить при каждом сигнале аж трех индикаторов. Вечер Пятницы у нас же режется фильтром времени.
- Таймфрейм для всего советника лучше оставить один, иначе TSL другие просто не увидит при оптимизации, сделать его равным "timeframe", чтобы при торговле на графике при случайной смене ТФ он не сбивался.
- Сейчас вход по CCI реализован странно - если мы в зоне перепроданности, мы входим на продажи. Разве не должно быть наоборот? И нужен ли вообще этот фильтр?
- ADX может объединить как для первого, так и для остальных ордеров, че его плодить.
- Фильтр выхода по времени лучше применять только к первому ордеру, сетка все равно висит куда больше пары часов, что в настройках.
- Ошибка "OrderCloseBy error 3" так и не пропала. Тестирую на терминале Roboforex, настройки для котировок брал с Альпари ECN (
- Работу закрытия по LastCloseBy не заметил(скорее всего из-за той ошибки). Может быть ввести переключателем равенство открываемых противоположных лотов? Т.е. первый buy 0.1, тогда и sell будет 0.1, далее идет множитель, но лоты остаются одинаковыми, т.е. 0.2 как для следующего buy, так и sell. Тогда через какое то время у нас должны будут закрыться первые 2 ордера в БУ, после появления новых ордеров - еще два, если цена позволит. Но закрывать ордера не используя функцию OrderCloseBy, попробовать вручную отыскивать и закрывать противоположности. Не уверен, что введение одинаковых ордеров улучшит ситуацию, но если действовать иначе, то нужно закрывать 0.1 лот и у существующего 0.2 противоположного лота откусывать 0.1.
- Скорость тестирования, конечно, ужасно медленная, то ли с индикаторами проблемы, то ли сам код нужно будет скрупулезно просматривать на быстродействие.
- нужно в шапку темы закинуть последнюю версию+необходимые индикаторы, чтобы пользователи тоже могли скачать, потрогать, а то лично я терялся в поисках индикаторов даже на первой странице темы.

Piranha_v1.5.2.mq4
Снимок.PNG
Heart_Beating_AUDCAD.htm
Heart_Beating_AUDCAD.gif
Heart_Beating_EURAUD.htm
Heart_Beating_EURAUD.gif

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Спасибо за быстроту добавления новых версий!

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

Вижу что в новой версии убран трал первого входа.
Тут хотелось бы остановиться подробнее.
Если посмотреть на логику изначального алгоритма, без переворотов, то видно, что 45% сделок закрывались по этому самому тралу или тейку.
В новом алго с переворотом есть такой параметр Exite_Minutеs.
Если я все правильно понял, то он работает и на первый ордер. Если это так и первая (стартовая) сделка так же закрывается по времени, то в трале смысла действительно нет.
Но если сделать так, чтобы этот параметр начинал свою работу с первого переворота (шаг 2)? А первый шаг так и продолжал работать с тралом?

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

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

Нам же нужно снизить количество вращений во флете. Что можно сделать?

Давайте посмотрим на MACD. Нам нужно войти в тренд и "ловить" смену направления движения цены.
Конечно макд сглаживает ценовой ряд, но в принципе это может быть полезным.

Если 1,2,3 шаги оставить такими как они есть сейчас и фильтр по макду включать только с 4-го шага переворота, то в теории мы можем снизить количество переворотов.





2017-03-28_19-13-14.png

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано

Версия 1.5.3

Так как мнения разделились:
[quote=Rever27]- Фильтр выхода по времени лучше применять только к первому ордеру, сетка все равно висит куда больше пары часов, что в настройках.


[quote=PiKG]Но если сделать так, чтобы этот параметр начинал свою работу с первого переворота (шаг 2)? А первый шаг так и продолжал работать с тралом?

Добавлены параметры с какого ордера начинает работать фильтр выхода по времени TimeExit_Start, и до какого TimeExit_End.
Трал после этого пробовал вернуть, но все равно оказывалось прибыльнее без него.

Удален LastCloseBy, оказывается он ломал логику:
как я уже говорил - после закрытия ордеров разной лотности появляеться новый, с остатком лотности, и время его создания оказывается новее последнего, в связи с чем он становиться последним и уровень бузубытка рассчитывается неверно, сетка закрывалась в минус.
- исправив этот расчет я понял что лотность первого ордера изменяется, так как настоящий первый уже закрыт, и дальнейший расчет лотности идет агрессивней.
- и даже исправив это, после такого закрытия уровень БУ отдаляется и сетка висит дольше, в общем поэкспериментировал и убрал.


Piranha_v1.5.3.mq4

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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)

Так как мнения разделились:


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


Добавлено: 28-03-2017 23:51:23


Тест версии 1.5.3.

Спойлер



Просадка в 61% получена довольно странно, советник мог закрыться в БУ 2 раза, но не закрывал.
Может ввести условие, что если колен больше N, то закрывать по БУ?

Просадка:
Спойлер



Вообще иногда сов довольно интересно работал с позициями.
Подозреваю что это из за настроек (закрывать в профит).
Спойлер



Если сравнивать отчет версий 1.4 и 1.5.3, то видно что прибыль в пунктах имеет положительное значение в версии 1.5.3. Это связано с тем что сделки стремятся закрыться по тейку. Это не плохо, но при флете как я указал выше, можно наблюдать значительную просадку.

1.5.3
Спойлер



1.4.

Спойлер

Piranha_1.5.3__usdjpy_test_m15.htm
Piranha_v.1.5.3_usdjpy_test_M15.set

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

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

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

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

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

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

Войти

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

Войти

  • Специальное предложение


  • Рекомендуемые брокеры

  • ×
    ×
    • Создать...