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

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


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

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

Может ввести условие, что если колен больше N, то закрывать по БУ?



Так сейчас есть два уровня тейка, можно выставить Lvl2=(колен больше N) и Profit_Lvl2=0(БУ)

Добавлено: 29-03-2017 07:17:33

Вчера проверил исполнение CloseBy на реальном счете, f4y Cent NDD
Частичное закрытие позиции исполнялось 1051ms, а последующее закрытие оставшихся друг на друга всего 10ms. Так что искать счет с разрешенным CloseBy обязательно для этого советника.

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

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

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

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

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

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

Перейти

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

Перейти

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

Перейти
[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)
master255
CloseBy у меня хоть и пишет ошибку, но ордера закрываются, но я хз, с какой попытки.
По поводу частичного закрытия первых ордеров все же нужно подумать, ведь этот параметр очень полезный.
К примеру у нас висят 5 ордеров:
buy: 0.1 - 0.3 - 0.7
sell: 0.2 - 0.5
Закрыв в БУ первый бай 0.1 и частично 0.1 от sell 0.2 мы тут же уменьшим нашу сетку до 3х ордеров, при этом ничего не потеряв (кроме спреда). Нумерация ордеров собьется, но ее можно либо хранить в массиве, который будет записываться с первого ордера, заменяя последовательность при каждом частичном закрытии, либо сортировать все открытые ордера по лотности и записывать их в тот же массив перед открытием следующего ордера (при дисконектах к примеру более правильное решение). Мы всегда будем знать, что с 0.1 лотом - первый ордер, с 0.7 - последний.
Я бы сам попробовал это сделать, но не разбирался в этой части кода, тебе это было бы проще реализовать. Лотность последующих ордеров брать именно из последнего значения пересчитанного массива. Уверен, что такое откусывание позиций очень хорошо снизит просадку всей сетки. Единственный минус частичного, что я вижу - затирается комментарий, так что мы сможем привязаться только к Символу.

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

Фильтр дополнительного входа по CCI нужно убрать, как я понял, PiKG хочет заменить его на МАКД, можно попробовать такой вариант, почему нет.

Также, стоит ли использовать фильтр входа по следующих ордеров по ADX отдельно? Может быть его тоже в выбор к ATR и PZ & ATR добавить стоит? И тогда, может убрать изначальный вход, который не рассматривает ширину канала при TurnMainFilters= None, дав возможность советнику торговать без сетки? ) Изменено пользователем Rever27
Ссылка на сообщение
Поделиться на другие сайты

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

У тебя закрывается не по CloseBy, а по обычному OrderClose, у меня в конце стоит подчистка незакрытых. Разницу легко заметить на визуализации.

Вот например таже сделка что постом выше но на FortFS счет флекс цент, где как оказалось запрещен CloseBy

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

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

Мало что понял )
Закрылось же правильно, или тут "подчистка" просто не нужна?
На самом деле не могу понять, зачем она вообще, не проще каждый ордер бесконечно подряд долбить, чтобы он закрылся?



Вот Альпари отвечает на вопрос по CloseBy
https://forum.alpari.ru/index.php?/topic/62288-voprosy-po-ispolneniiu-orderov/?p=3901509
Думается мне, на любом счете ECN будет проблема с этой функцией. Имхо, лучше пожертвовать скорость работы советника, чем типом счета. Изменено пользователем Rever27
Ссылка на сообщение
Поделиться на другие сайты

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

"подчистка" всмысле закрытие всего что не закрылось по CloseBy, когда CloseBy разрешен после него не должно оставаться открытых ордеров.

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

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

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

"подчистка" всмысле закрытие всего что не закрылось по CloseBy


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

Также интересует ваше мнение с PiKG по поводу остального, что я предложил выше
Ссылка на сообщение
Поделиться на другие сайты

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

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


Попробую вернуть сегодня.

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

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

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

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


Я просто всегда на все смотрю сразу со стороны оптимизации. И много параметров крайне ей вредит. Сейчас у нас аж 4 параметра ТП, 3 обычных и 1 для фильтра времени. Можно было бы их как то зашить в код, к примеру. Для первого ордера - ТП в пунктах, для указанного в настойках номера Profit_Lvl1 сделать ТП = ТП/2, как и для фильтра времени. А для Profit_Lvl2 сделать сразу БУ. Тем самым мы уберем 3 дополнительных параметра. Это как пример )

По поводу доп. фильтров на выход первого ордера, можно было бы сделать еще 2 переключателя:
1) ExitMA = true/false - если машка смотрела в сторону тренда и цена шла параллельно с ней, но на [1] свече она развернулась - выходим.
2) ExitChannel = true/false - если цена пересекла следующую границу канала (в плюс) - выходим.
Это так, на общее обсуждение.
Ссылка на сообщение
Поделиться на другие сайты

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

Версия 1.5.5


  • Добавил трал, простой в пунктах, виртуальный, работает для сетки тоже, потестировать

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

  • Убрал вывод ошибки если CloseBy запрещен, ордера будут корректно закрыты по обычному OrderClose



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


Piranha_v1.5.5.mq4

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

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

К примеру у нас висят 5 ордеров:
buy: 0.1 - 0.3 - 0.7
sell: 0.2 - 0.5
Закрыв в БУ первый бай 0.1 и частично 0.1 от sell 0.2 мы тут же уменьшим нашу сетку до 3х ордеров, при этом ничего не потеряв (кроме спреда). Нумерация ордеров собьется, но ее можно либо хранить в массиве, который будет записываться с первого ордера, заменяя последовательность при каждом частичном закрытии, либо сортировать все открытые ордера по лотности и записывать их в тот же массив перед открытием следующего ордера (при дисконектах к примеру более правильное решение). Мы всегда будем знать, что с 0.1 лотом - первый ордер, с 0.7 - последний.
Я бы сам попробовал это сделать, но не разбирался в этой части кода, тебе это было бы проще реализовать. Лотность последующих ордеров брать именно из последнего значения пересчитанного массива. Уверен, что такое откусывание позиций очень хорошо снизит просадку всей сетки. Единственный минус частичного, что я вижу - затирается комментарий, так что мы сможем привязаться только к Символу.


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

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


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

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

На первом входе фильтр можно оставить, по большому счету он не мешает.

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

Фильтр дополнительного входа по CCI нужно убрать, как я понял, PiKG хочет заменить его на МАКД, можно попробовать такой вариант, почему нет.


Так как CCI осциллятор,его ценность как фильтра переворотов не оправдалась. Его можно в принципе убрать. Про macd - было бы неплохо посмотреть.

Также, стоит ли использовать фильтр входа по следующих ордеров по ADX отдельно? Может быть его тоже в выбор к ATR и PZ & ATR добавить стоит? И тогда, может убрать изначальный вход, который не рассматривает ширину канала при TurnMainFilters= None, дав возможность советнику торговать без сетки? )


Фильтр по ADX для переворотных ордеров, на мой взгляд, не очень хорош. Для первого ордера его конечно можно использовать, но исходя из тестов, пока наилучший вариант это перевороты по каналу ATR с фильтром по CCI.

Если CCI заменить на макд было бы интересно сравнить.

Так же можно рассмотреть вариант переворотов по атр, например в таком виде:

1,2,3,4 шаг по внутреннему каналу (пунктир), 5 и далее по следующему каналу + трендовый фильтр переворотов. Трендовый фильтр нужен для того чтобы снизить количество переворотов на ровном месте из за шумовой составляющей рынка. Изменено пользователем PiKG
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

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

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


Это на Master255'е, я в эти дебри боюсь лезть ))) Нужно протестировать 1.5.5, я еще не успел запустить.

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


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

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


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

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


Где же его взять? ADX не нравится, MACD - попробуем, но все равно он не привязан к общему входу по каналу, т.е. вариантов входа будет 2 - либо по каналу, либо по МАКД. Я предлагаю оставить только один на выбор.

1,2,3,4 шаг по внутреннему каналу (пунктир), 5 и далее по следующему каналу + трендовый фильтр переворотов.


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

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

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


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

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

Где же его взять? ADX не нравится, MACD - попробуем, но все равно он не привязан к общему входу по каналу, т.е. вариантов входа будет 2 - либо по каналу, либо по МАКД. Я предлагаю оставить только один на выбор.


У ADX пока 1 преимущество, фильтрация первого входа. За счет уменьшения количества входов сов проскакивает сомнительные места, но в будущем х.з. поможет это или нет. Что 100% добьемся это снижение количества трейдов, так что тоже сомнительное счастье.

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

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


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

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

Наверное я опять многого хочу?)


Добавлено: 29-03-2017 20:04:14

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


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

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано (изменено)
Версия 1.6
Изменения:
- Провел небольшие изменения в структуре кода, к сожалению на скорость это не повлияло.
- Теперь у индикатора ADX общие настройки, он включается как для одного ордера, так и для сетки. Т.е. либо с ним всегда, либо вообще без ADX. Фильтр отключается при FilterADX_Period = 0 или FilterADX_Level = 0. Не вижу в нем особой важности, чтобы делить его настройки.
- вход по ADX подкорректировал. Если значение индикатора больше, чем FilterADX_Level и он растет относительно предыдущей свечи - входим. Но по факту у нас слишком много входов получается, когда на графике якобы тренд. Сомнительный параметр имхо, либо нужно как то корректировать. Либо рассматривать его как дополнительное подтверждение входа по каналу, но никак не отдельно.
- Добавил вход по МАКД параллельно основному. Работает для сетки при UseMACDforNextOrders, аналогичен входу первого ордера. Для продаж, если столбец меньше -0.0005, он ниже предыдущего и сигнальная линия выше столбца. Покупки зеркально. Возможно нужно корректировать, и брать пересечение нулевой отметки, но это даст очень редкие сигналы.
- Добавлен фильтр выхода на границе второго(оранжевого) канала при его пересечении, если прибыль больше 1 пипса ExitOrangeChannel, активируется на колене, равном его значению. При 0 - выключен.
- Убрал лишние параметры прибыли. Теперь прибыль сетки равна Profit. Если кол-во колен сетки больше, чем Lvl1: Profit/2, то необходимая прибыль равна делению Profit на 2. Если же кол-во колен достигло Lvl2: BE, то вся сетка переводится в БУ. Если достигнуто время закрытия ордера TimeExit_Minutes: Profit/3, то прибыль соответственно должна в этот момент быть больше, чем Profit/3. Тем самым удалилось 3 параметра. Если не нравится, можно всегда вернуть назад.
- Добавил отрисовку линии закрытия сетки по прибыли, рядом с линией БУ. Рисуется по Bid

Оставшиеся вопросы:
- Иногда при открытии первого ордера синяя линия канала уходит вертикально вниз. Не стал разбираться сейчас в причине.
- OrderCloseBy ошибка все равно появляется. Для интереса брал эту часть кода - на скорость теста не повлияло.
- Нужно определиться с необходимостью фильтра выхода по наклону МА.
- Master255 может наличие индюков проверять только при инициализации, а их показатели раз в свечу? Это бы улучшило скорость работы.
- Работу частичного закрытия так и не заметил.

PiKG как ответственному достается проверка работоспособности текущего кода, а также составление описания работы советника и его параметров )

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



Вот такой момент, кстати, тоже нужно избегать, когда два ордера практически на одной цене открылись, уж лучше подождать
http://i90.fastpic.ru/big/2017/0330/8f/18baaf09225af34169fdb663648d398f.jpeg

Piranha_v1.6.rar
Piranha__EURAUD.htm
Piranha_EURAUD.gif

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

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

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

Лето 2014 года сов не пережил, из за того что вола упала чуть ли не до 20 пп, из за этого накрутило кучу лотов и слив.
Нужно или привязывать профит к воле или смотреть на АТR (D1), если значение атр падает ниже 50 пп, то нужно использовать сет для низкой волы (на текущих параметрах).

ATR D1
Спойлер



2013 год
Спойлер



2014 год lowvola
Спойлер



2015 год
Спойлер



2016 год
Спойлер



2017 год
Спойлер



По понятным причинам общий тест с 2013 по 2017 сов не проходит. В аттаче есть стейт.


Завтра пробью 1.6. версию и пробью еще по годам сет 1.5.5. с lowVola настройками.

Piranha_v1.5.5._usdjpy_test.rar

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

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

Нужно или привязывать профит к воле или смотреть на АТR (D1), если значение атр падает ниже 50 пп, то нужно использовать сет для низкой волы (на текущих параметрах).


Советник не может корректно тестироваться на котировках 99% качества на нескольких ТФ. Ваши тесты 90% вообще далековаты от реальности )
У нас вход происходит по каналу АТР, если поиграться с его Мультифакторами и периодом, который у нас аж 500, то можно сделать его по разного волатильным. Вообще нужно тщательнее изучить этот индюк, каналов очень много разных, возможно есть что то получше. Не помешал бы вообще открытый код этого индюка без всяких алертов.
Сейчас прогнал с периодом 500 и 34 канал, первый вариант показал в 2 раза меньше просадку. 500 часов это 21 день по сути, так что канал вполне себе меняется с годами.

Прикрутить ТП к ATR не сложно, но лично я, сколько в советниках не пользовался этим методом, лучше результаты получал со статическим ТП, подобранным оптимизацией. Ты хочешь его привязать к проценту от ATR канала, или добавить еще три параметра для расчета ТП? Только для первого ордера, либо для всех? Тут нужно подумать.
Также, как подумать о необходимости ADX и MACD для сетки. Лично мне сейчас работа ADX не нравится, слишком много входов.
Много еще чего нужно обдумать )

Прикрутил для проверки ADX к основному входу - пропускаем очень много, время существования сетки увеличивается. Не понравился фильтр, плюс на графике нет никакой закономерности роста тренда и линии индикатора, сношу его нафиг.


Добавлено: 30-03-2017 08:42:15

Версия 1.6.1
- Добавил отступ MinPipStep также для предпоследнего ордера, чтобы следующий ордер на бай не открыл на той же цене, что и предыдущий бай. Тоже самое и для селл.
- Время торговли для сетки удалено.
- Удален фильтр по ADX для сетки.
- Добавлен динамический ТП, расчитывается вместо Take Profit по ширине канала ATR по первым желтым линиям, умноженным на процент DinamicTP_Percent. При DinamicTP_Percent = 0 используется ТП в пунктах.

Фильтр частичного закрытия так и не работает, Мастер, может еще победную попытку? :)
Я вижу его логику работы так: Мы берем самый первый открывшийся ордер, который у нас есть с минимальным лотом. Смотрим его направление, допустим sell, и записываем его дистанцию от цены, скажем 50 пп. Далее ищем все бай ордера, начиная с дальних (первых открытых), т.е. 2, 4, 6 и т.п. По очереди просматриваем их дистанцию от цены но в другую сторону. Если из них находится тот, что прошел 50пп или более в другую сторону от цены, то мы предполагаем, что они захеджированы в текущий момент и мы может закрыть их, т.к. для сетки они лишние. Закрываем полностью ордер на селл, и откусываем его значение лота у ордера на бай. Все, частичное закрытие выполнено, на следующем тике пойдет проверка дистанции ордера на бай. Активируется она тогда, когда ордеров более, чем указано в настройке, но не менее трех.


Piranha_v1.6.1.mq4

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

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

LastCloseBy точно работает, но редко, я ищу когда сумма двух первых ордеров будет больше или равна "0"

Если хочешь чтобы искало не только по первым, закомментируй последний return в fLastCloseBy()

Чтобы найти момент когда такая ситуация произошла - добавь ExpertRemove(); после if((orders.profit+orders[j].profit)>=0){

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

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

нет, не правильно закрыл, в минус )))

Спойлер



Что думаешь по поводу последних дополнений? Лично я вроде все реализовал, что было в голове, хотелось бы, чтобы ты посмотрел, что то добавил :-b
Ссылка на сообщение
Поделиться на другие сайты

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

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

Думаю что хватит добавлять, надо тестировать и наоборот убирать ненужное.


Добавлено: 30-03-2017 15:30:49

Версия 1.6.2

Исправил LastCloseBy, поиск сделал по всем ордерам кроме последних двух, учел комиссию и своп.
Ситуация для такого закрытия возникает крайне редко.

Piranha_v1.6.2.mq4

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

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

Советник не может корректно тестироваться на котировках 99% качества на нескольких ТФ. Ваши тесты 90% вообще далековаты от реальности )


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


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


Согласен, но при поисках нашел лишь этот, он подошел для решения тех задач что стояли.

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


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

Также, как подумать о необходимости ADX и MACD для сетки. Лично мне сейчас работа ADX не нравится, слишком много входов.



По части MACD в версии 1.6.

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

По части ADX- тоже не вижу смысла в его использовании. Как фильтр первого входа он не дает преимущества, как фильтр переворотов он бесполезен. Изменено пользователем PiKG
Ссылка на сообщение
Поделиться на другие сайты

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

ибо в тестере нет ни комиссии ни проскальзываний.


Комиссия есть в TickStory, проскальзывание и динамический спред есть в Tick Data Suite.

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

МАКД можно убрать, можно чем нибудь заменить.
Ссылка на сообщение
Поделиться на другие сайты

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

Комиссия есть в TickStory, проскальзывание и динамический спред есть в Tick Data Suite.


Да я знаю, сейчас смотрю TDS. Я просто имел ввиду несколько иное. В любом случае алгоритм придется тестировать в реальном времени и проверять потом на соответствие с тестером.

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


Согласен с первым входом, но тут он упрощенный. Я крутил разные способы первого входа для переворотного алгоритма.
В подавляющем большинстве случаев, проблема флетов остается более чем актуальна. Но я конечно все смотрел "руками" качество такого сбора статы оставляет желать лучшего.
Печально что я не программист.))) А платить за тестирование каждой идеи, никаких денег не хватит, ибо 90% всех идей - мусор.)

По большому счету надо собирать статистику на большом отрезке истории по разным сетапам поведения цены, а именно, по поиску статистического преимущества для работы переворотного алгоритма.
Например поиск мест на ценовом графике, где вероятность движения цены в нужном направлении выше 60%. Руками такое сделать практически нереально.

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

Но прелесть переворотов в том, что нам в принципе перестает быть важно направление первого входа, нам очень важно место и время первого входа.
Нам важно, чтобы на 3-4-й шаг пришелся импульс, который выведет сетку в плюс. Можно и на 7-м шаге, только плюс будет больше.
Можно даже в БУ закрываться через "закрыть перекрытые ордера", тогда прибыль будет идти за счет спреда второй стороны лока.

Так что получается, для того чтобы иметь устойчивую эффективную стратегию работы с переворотом, нам нужно:
1. эфективный первый вход, то место которое не даст накрутить овер 9 переворотов во флете.
2. эффективное управление сеткой, что включает в себя применение статистики выявленой на истории. Более продвинутое управление переворотами более эффективное управление выходом из сетки.
Для этого нужно набрать, обработать и проанализировать большое количество статистических данных с того самого тестера.
А для этого нужно согласие программистов, на добровольных началах, ковырять тонны гуано, чтобы набрать стату.
Так сказать -мячта. >0
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано
Версия 1.6.3
- Заменен индикатор ATR H1-Channels_with_alert на аналогичный ATR_Channels с открытым кодом. Настройки по умолчанию выставлены как на оригинале.
- Обновлен индикатор X2 PRICE ZONE 2, настройки его МА вынесены во внешние переменные и в настройки советника
- Добавлено дополнительное условие на вход первого ордера по расположению центральной и дополнительной линиями. Если доп.линий ниже центральной - вход в бай и наоборот.
- Фильтр входа по MACD объединен с входом по каналу. Выключаемый. Если МАКД ниже 0 и предыдущий бар выше него - разрешен вход на продажи, если есть сигнал канала и наоборот. Не понравится - удалим.

Вопросы
- Почему у нас вход строго ограничен нахождением цены между каналами двух индикаторов? Почему цена не может выйти за пределы АТР канала?
- Возможно стоит МАКД для входа заменить каким нибудь трендовым индикатором?
- Как не крутил частичное закрытие, реально сложно из него что то выжать, то ли где то ошибка, но я не пойму, почему из сетки в 10 ордеров, которая болтается во флете всего 1 раз происходит частичное закрытие.
- Возможно стоит сделать сетку зеркальной? Чтобы лоты открывались 0.1 - 0.1, 0.2 - 0.2, снизит ли такой подход просадку?

Piranha_v1.6.3.rar
TesterGraph.gif

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

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

- Почему у нас вход строго ограничен нахождением цены между каналами двух индикаторов? Почему цена не может выйти за пределы АТР канала?


Это изначальный алгоритм, который остается неизменным с первого сова.
Сначала сов со стопами замысливался так:
Если канал X2PZ растет, то открываем бай, со стопом на противоположной границе канала. Такой короткий стоп обусловлен тем, что хотелось иметь короткий стоп.)
Естественно частота срабатывания этих стопов была огромной, особенно во флете.
Чтобы стоп был относительно коротким, то запрещалось открывать позицию дальше чем N пп(30 пп для евро бакса) от верхней границы индикатора X2PZ.
Но с такими настройками, жёсткая привязка в пунктах, сов плохо переваривал изменение волатильности инструмента.
На тесте 2014 года, сливал нонстоп без шансов, на сниженной воле летом.

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

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

Возможно стоит МАКД для входа заменить каким нибудь трендовым индикатором?


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


Возможно стоит сделать сетку зеркальной? Чтобы лоты открывались 0.1 - 0.1, 0.2 - 0.2, снизит ли такой подход просадку?


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

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

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

Версия 1.6.4


  • Был неверно прописан выход из цикла закрытия ордеров по CloseBy, и он всегда повторялся максимальное число раз(10), исправил.

  • Добавил удаление фона инфопанели при деинициализации

  • OrderCloseX теперь выводит информацию о проскальзывании и задержке




Добавлено: 31-03-2017 07:39:40

Версия 1.6.5


  • Индикатор ATR_Channels теперь рассчитывается в коде советника. Для работы достаточно одного индикатора X2 PRICE ZONE 2

Piranha_v1.6.4.mq4
Piranha_v1.6.5.mq4
X2_PRICE_ZONE_2.mq4

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

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

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


Дни недели никто не убирал.

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

2) МАКД можно заменить одним из трендовых индикаторов отсюда: http://tlap.com/forum/torgovye-sistemy/2/h1h4-forex-ultra-filter/1127/?do=findComment&comment=351785
Вроде бы тренд определяется вполне сносно, но вот тормозят они ужасно, и кода открытого нет.
Вместо ADX еще можно брать за сигнал не главную линию ADX, а второстепенные +/- DI

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

4) Еще мысль - добавить время дополнительного входа. В тестере бывает ситуация, что образовался длительный флет и мы болтаемся на месте месяц! Можно было бы ввести кол-во дней, через которое мы снова принудительно входим.
upd. Входить дополнительно по времени было плохой идеей, сетка и так хорошо тянется.

Последняя версия советника уже показывает неплохие результаты, но все равно не идеал.



ндикатор ATR_Channels теперь рассчитывается в коде советника. Для работы достаточно одного индикатора X2 PRICE ZONE 2


X2 PRICE ZONE 2 зашивать будешь? :d :d


Добавлено: 31-03-2017 20:42:06

Версия 1.6.6
- Удалено минимальное расстояние между ордерами в одном направлении, которое я добавлял ранее за ненадобностью.
- Добавлено снятие советника с графика ExpertRemove(), если недостаточно денег для открытия следующего лота для ускорения оптимизации.
- Изменен метод расчета торгового лота (надеюсь все ниже описано понятно:))
Параметры: LotExponent1 - начальный множитель, на который будет умножаться лот сетки.
Lvl: Profit/2 - на указанном колене сетки ТП делиться на 2 (хоть статический, хоть динамический). При Lvl: Profit/2 = 0 - выключен
Lvl2: BE - номер колена сетки, на котором будет использоваться новый множитель LotExponent2, а также сетка будет переведена в БУ.
Lvl3: Averaging - номер колена, на котором множитель становится равным 1, и дальнейшие ордера будут открываться с обычным усреднением, чтобы снизить просадку.
- Изменен фильтр входа по ADX. Теперь он учитывает линии ADX_PLUSDI и ADX_MINUSDI для покупок и продаж, и должен быть выше FilterADX_Level.

Вопросы:
1)Как на счет заменить MACD индюком OsMA? Будет ли он давать более точные сигналы?
2)Кто нибудь экспериментировал с настройками X2 PRICE ZONE 2?
3)Нужен ли МАКД для дополнительных колен?

Piranha_v1.6.6.mq4
NZDCAD.htm
NZDCAD.gif

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

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

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

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

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

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

Войти

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

Войти

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


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

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