PiKG Опубликовано 22 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 (изменено) Приветствую! Не знаю в правильной ли теме я пишу, но я хотел бы попросить помощи в доведении до ума алгоритма моего советника. Довольно продолжительное время я его не "крутил", но вот решил достать с полки и сдуть пыль. Но похоже у меня творческий кризис и совершенно нет идей что можно с ним еще сделать. Очень хотелось бы совместными усилиями довести его до ума (если конечно это возможно). В аттаче находятся скрины с тестера без оптимизации средствами МТ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Селл.pngUSDJPY_test.png2017-03-22_02-31-18.pngX2_PZ_algo.rar Изменено 12 июля, 2017 пользователем Pavel888 13 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 22 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 (изменено) Рабочий таймфрейм H1? Видно что в плюс он идет только за счет увеличения лотности при убытках, усреднение не пробовали, вместо этого? Добавлено: 22-03-2017 14:51:35Попробовал усреднение, оно не подходит к этому советнику, слишком часто он входит уже к концу тренда и попадает как раз на новый противоположный тренд. В связи с этим сделал усреднение с переворотом(маятник или как он правильно называется):Вроде не плохо вышло.В приложении советник и бактесты стандартного варианта и с переворотной сеткой в TDS2, сеты автора только на сетке начальный лот уменьшен до 0.01X2_PRICE_ZONE_GRID_R.ZIPTesterReports.zip Изменено 22 марта, 2017 пользователем master_255 7 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 22 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 (изменено) Рабочий таймфрейм H1? Видно что в плюс он идет только за счет увеличения лотности при убытках, усреднение не пробовали, вместо этого? Здравствуйте, рабочий ТФ -М30, на Н1 (из за особенностей внутридневных и междневных разворотов) показатели хуже. Усреднение в этом советнике не планировал, так как по усреднению есть иные наработки. Как раз из за продолжительных убыточных серий сов и проседает. Для более гладкой работы было введено увеличение лота при падении эквити ниже МА. Расчет был на то, что 1-2 прибыльных сделки перекроют серию из 3-4 убыточных, за счет большей прибыли в пунктах. Но всегда есть обратная сторона медали, при длинных сериях убытков имеем большую скорость и глубину просадки. Мне хотелось поработать со стопами, но так как стопы небольшие, то соотношение прибыльных и убыточных сделок не в пользу прибыльных и за счет этого советник имеет очень нестабильную кривую. Небольшие стопы задумывались для того чтобы удержать значение среднего убытка в пунктах в нужных пределах (меньше средней прибыли). Если Вы посмотрите на стейтмент тестера на майфхбук, то там видно что показатели трендовой стратегии в норме. Мат ожидание 8.8 пп, это позволит пережить комиссию и проскальзывания на реале, но только в том случае, если рентабельность алгоритма будет больше 50%. Иначе периоды стагнации будут просто невыносимыми))). Так же стандартное отклонение не сильно превосходит среднюю прибыль в деньгах, это тоже смотрится довольно оптимистично, но скорее всего такое значение получено за счет мультипликатора лота в 1,5.Попробовал усреднение, оно не подходит к этому советнику, слишком часто он входит уже к концу тренда и попадает как раз на новый противоположный тренд. В связи с этим сделал усреднение с переворотом(маятник или как он правильно называется): Спасибо большое за помощь! У меня к Вам вопрос, не могли бы Вы посмотреть, а нет ли возможности улучшить показатель рентабельности начального сова? У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ. Изменено 22 марта, 2017 пользователем PiKG 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 22 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ. Идеи в студию Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 22 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 У меня есть идеи, но их надо кодить, а такой возможности у меня пока нет. Начальный сов делался на заказ. Идеи в студию Спасибо за обратную связь! Обязательно выдам все явки и пароли.)) Только мне нужно чуть больше времени для формирования обоснования ТЗ. Так получилось, что решение было спонтанным, поэтому на руках ничего нет. В ближайшее время все подготовлю.И мне хочется посмотреть Ваше решение, картинка тестера очень впечатляет, надо посмотреть поближе. Будем смотреть сразу в 2-х направлениях, если Вы не против конечно. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 22 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 Парни, вы очень неплохо начали тему! =d>Попробуйте упереться и дожать. 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 22 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 (изменено) Идеи в студию Мастер, знаете, а нахер мою идею (пока). Ваша идея не менее интересна, потому что такие варианты я давно смотрю, но похоже мой взгляд и там замылился.Давайте рассмотрим Ваш вариант. Я поставил на тест Ваш вариант сова с настройками по умолчанию на доллар/йену М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.png2017-03-23_00-16-27.png2017-03-23_00-19-50.pngX2PZ_GRID_test_01_1.htmX2PZ_GRID+MACD_test_01_1.htm2017-03-23_00-26-17.png Изменено 22 марта, 2017 пользователем PiKG 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 22 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 22 марта, 2017 PiKG, http://tlap.com/forum/forum-trade-like-a-pro/14/bolshoe-faq-po-forumu/2421/?do=findComment&comment=31714 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 23 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 23 марта, 2017 (изменено) Почти полностью переписал код. Оставил только вторую стратегию, параметры по умолчанию выставил из сета PiKG для USDJPY Переписал закрытие встречных ордеров друг на друга, теперь они закрываются начиная с меньших лотов, а последними закрываются оставшиеся большие ордера, меньше влияния проскальзывания. В предыдущем моем варианте не работал трал (а никто и не заметил), починил, но разница небольшая. Добавил фильтр дней недели. Добавил условия закрытия сетки: выход за канал, который считается от середины между "X2 PZ" и "ATR H1-Channels", параметр Use_PZ_ATR. Добавил отдельный лотэкспонент для первого ордера сетки и последующих, чтобы компенсировать погрешность округления Фильтр по интервалам времени можно и текущим фильтром эмулировать, задавая отрезки, мне это вообще не очень нравиться, ну ладно ночью действительно в основном флет и её можно исключить, а остальные отрезки времени это чисто подгонка будет.Уровень БУ в таком варианте не найду как правильно посчитать, все варианты которые находил врут при 3-х и более ордерах. Добавлено: 24-03-2017 09:01:52Версия 1.1Добавлена проверка наличия необходимых индикаторов и достаточной истории котировок для них Изменен алгоритм закрытия противоположных сделок. (После закрытия сделок разной лотности появляется новый ордер с остатком лотности, если таких выйдет больше одного надо повторно пройти по всем ордерам и закрыть эти новые друг на друга. Раньше было два прохода, сейчас будет повтор до тех пор пока не останется только одна сделка) Piranha.mq4Piranha_H1_5000depo.zipPiranha_v1.1.mq4 Изменено 24 марта, 2017 пользователем master_255 9 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 24 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 24 марта, 2017 Предыдущее свое сообщение писал несколько "наскоком". Согласен по поводу прошлой версии и трала. При переворотной стратегии трал начального входа действительно не сильно влияет на общую картинку так как есть мультипликатор лота и в 40-50% входов, закрытие сделки будет по переворотному алгоритму. Что сводит эффект трала первого входа на нет из за низкого стартового значения лота. Давайте поближе посмотрим на переворотную стратегию, на ее особенности и отличия. 1. Первый правильный вход (направление движения цены) теряет свою основную роль. Нам не важно куда пойдет цена, нам важно когда и на сколько она отклонится от торгового коридора.2. Одним из самых основных для переворотной стратегии является длина торгового коридора в барах, а так же ширина этого коридора и частота активации сделок на границе этого коридора. Спойлер То есть самым главным врагом переворота является флет. Если флет дольше чем мы можем сопровождать открытие позиций, то будет слив.3. Из второго пункта, вытекает третий). Вторым по значимости параметром является отклонение цены от торгового коридора. Этого отклонения должно быть достаточным чтобы выйти по прибыли , заданной в алгоритме переворота. (Поэтому не плохо иметь на графике отображение уровня безубытка). Спойлер К чему все это? Исходя из этих пунктов единственная задача трейдеров -найти оптимальные значения коридора и отклонения цены от этого коридора. Выявить проблемные участки и посмотреть способы решения проблемы. Проблема 1 - флет, не хватит средств для переворота если флет более чем возможности счета для открытия сделок. Проблема 2 - она комбинирована, величина отклонения от торгового коридора (в любую сторону) должна соответствовать среднему АТР пары+средней величине импульса который можно проверить на истории. Не хватит величины отклонения для закрытия по прибыли из за слишком долгого нахождения цены в границах торгового коридора. Поэтому теперь, на мой взгляд нужно обратить внимание именно на эти параметры торговли. Но для этого нужно собрать статистику на достаточно длительном участке истории. А именно, собрать в информер информацию о максимальном и среднем формировании торгового коридора (количество сделок в бай и селл до закрытия в прибыль) Собрать информацию о максимальном и среднем отклонении от торгового коридора в пунктах. Конечно это второстепенная информация, потому что первичен всегда первый вход, место открытия первого ордера. Если первый ордер часто открывается во флетовой зоне, то стратегия будет менее устойчива и будет подвержена большим просадкам и вероятность получения стопаута на флете будет очень высока.Изменен алгоритм закрытия противоположных сделок. (После закрытия сделок разной лотности появляется новый ордер с остатком лотности, если таких выйдет больше одного надо повторно пройти по всем ордерам и закрыть эти новые друг на друга. Раньше было два прохода, сейчас будет повтор до тех пор пока не останется только одна сделка) Заметил у себя такую особенность.Закрывается сделка и остается бай и селл равным лотом и эта конструкция висит до тех пор пока цена не уйдет за противоположную границу торгового коридора. Спойлер Спойлер Уровень БУ в таком варианте не найду как правильно посчитать, все варианты которые находил врут при 3-х и более ордерах. Получается что работает лок, в аттаче прикрепляю индикатор для работы с локом. Показывает уровни БУ какие только возможно. Может быть он чем то поможет?Inf_Open_Orders+.mq4 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 25 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 25 марта, 2017 Версия 1.2 Добавлен уровень бузубытка на визуализации Уровни профита теперь считаются в пунктах от безубытка, раньше текущий профит переводился в пункты для лотности первого ордера сетки Добавлен сброс тейка первого ордера после установки противоположного После окончания тестирования в лог выводиться сообщение о максимальном и среднем количестве ордеров до закрытия в прибыль Piranha_v.1.2.mq4 15 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 26 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 26 марта, 2017 (изменено) Посмотрел измененную версию. Вообще у меня довольно интересная ситуация - прошлая версия сливает на моих котировках при идентичных параметрах, как в отчетах с тестера у Мастера. Но я в принципе грешу на некачественные котировки. Это так - отступление лирическое.Теперь по теме: Взял прогон с января 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.setCCI_НУФ_v5a.mq4 Изменено 26 марта, 2017 пользователем PiKG 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 26 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 26 марта, 2017 Страшную картину показал EURAUD - 17 ордеров сетки 8-}Еще в журнал сыпет ошибку, я не понял, где она и с чем связана =\ Statement_EURAUD.gifStatement_EURAUD.htmError.png Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 26 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 26 марта, 2017 (изменено) Страшную картину показал EURAUD - 17 ордеров сетки 8-} Как по мне, то euraud не торт для теста текущего алгоритма. На мой взгляд лучше тестить доллар йену, евро бакс, евро йену, короче то у чего наименьший спред. Но все же погляжу что там к чему, очень странная кривая теста у вас, хочу сам поглядеть.Теперь все выглядит иначе, при новом прогоне испарились сделки которых недолжно быть, а теперь вообще все в порядке с открытием первой сделки. Котировки такие котировки. @-) Спойлер Изменено 26 марта, 2017 пользователем PiKG 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) По поводу первой сделки, я тоже замечал такое, делал ExpertRemove() после входа и оказывалось что все было по правилам. Просто сигналы индикаторов берутся с нулевой свечи во время открытия, а в истории остается значение при закрытии этой свечи, можно брать сигнал с предыдущей свечи, тогда таких ситуаций не будет, но по тесту выходит хуже, поэтому пока так оставил.Rever27, похоже эта ошибка возникает если брокер запретил CloseBy(Закрытие встречным ордером), заранее этот запрет видимо никак не узнать. Изменено 27 марта, 2017 пользователем master_255 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) Rever27, похоже эта ошибка возникает если брокер запретил CloseBy(Закрытие встречным ордером), заранее этот запрет видимо никак не узнать. Так я тестирую на котировках TSL, там в настройках нет никакого запрета. Визуализация вроде тоже вполне нормальная.По поводу закрытия сетки, всегда лучше закрывать начиная с самого большого лота, потому что при задержке сервера цена может улететь от нас, и вся его необходимая прибыль может снизиться до суммарного минуса. Изменено 27 марта, 2017 пользователем Rever27 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) Плечё, мин лот, лот степ и многие другие параметры при тестировании в TSL берутся из параметров счета к которому подключен терминал, только в TDS их можно переопределить, а в TSL нужно подключаться к другому счету.В усредняющей сетке лучше начинать с большего лота, а в такой (если разрешено закрытие встречным) не все так однозначно, выгоднее закрыть сначала встречные (так как экономиться спред), а потом оставшиеся. Еще лучше посчитать заранее какие ордера и с какой лотностью останутся после CloseBy и сделать частичное закрытие начиная с большего, потом закрыть оставшиеся встречные. Надо будет подумать над таким вариантом. Добавлено: 27-03-2017 13:04:09Версия 1.3Добавлен параметр macd_atr_shift, для сигнала на первый вход "0" - текущий бар, "1" -предыдущий Добавлены фильтры переворота ADX и CCI, все фильтры переворота выделены в отдельный блок настроек Изменен алгоритм закрытия, на тот что описан выше + если закрытие встречных запрещено будет закрытие начиная с большего лота Piranha_v1.3.mq4Piranha_H1_5000depo_PZ_ADX.zipPiranha_H1_5000depo_CCI.zip Изменено 27 марта, 2017 пользователем master_255 4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) Задался еще несколькими вопросами: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.mq4AUDUSD_Tests.zip Изменено 27 марта, 2017 пользователем Rever27 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) Версия 1.4 Параметр LastCloseBy, закрытие дальних ордеров если их общий профит больше или равен 0 и количество ордеров больше LastCloseBy Rever27, ты видимо случайно 1.2 без изменений скинул, добавь свои наработки в 1.4 Piranha_H1_5000depo_CCI_LastCloseBy.zipPiranha_v1.4.mq4 Изменено 27 марта, 2017 пользователем master_255 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 27 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 27 марта, 2017 (изменено) Rever27, ты видимо случайно 1.2 без изменений скинул, добавь свои наработки в 1.4 Блин, и правда, не то скинул. Версия на работе осталась, но ты и так уже все реализовал в 1.3Я там добавил основную линию ADX для проверки условия на вход первого ордера. Если ADX больше N, значит сейчас тренд, значит можно входить. Банально, конечно, но как еще определить тренд я ума не приложу. Свечной анализ делать кодингом просто не реально, если много свечей. Можно, конечно брать данные расстояния по ЗигЗагу, но и с ними мы всегда может войти в начало флета.Вообще, по сути, мы практически всегда находимся в замке, если открыто четное количество ордеров. Возможно стоит последующий, нечетный, открывать только тогда, когда по ADX снова восстановится тренд. Завтра подробнее изучу твои нововведения.Еще, мысль пришла в голову. Если мы отвяжемся от значения ТП в пипсах, и будем его выставлять либо по АТР*множитель, либо на средней линии канала ATR, при условии, что его хватит, чтобы закрыться в плюс?И кстати, по помещало бы ТП все же выставлять у всех ордеров, а не держать их в памяти. Зависнет VPS, и сетка будет брошена в свободное плавание без целей. Изменено 27 марта, 2017 пользователем Rever27 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 28 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 28 марта, 2017 Версия 1.5 golden-macd оказался просто разукрашенным стандартным MACD и был заменен стандартным трал и тейк первого ордера ничего не меняли и были удалены добавлен фильтр первого ордера по ADX добавлен фильтр переворота только по каналу ATR, без PZ Piranha_v1.5.mq4 6 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Rever27 Опубликовано 28 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 28 марта, 2017 (изменено) 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Снимок.PNGHeart_Beating_AUDCAD.htmHeart_Beating_AUDCAD.gifHeart_Beating_EURAUD.htmHeart_Beating_EURAUD.gif Изменено 28 марта, 2017 пользователем Rever27 4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 28 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 28 марта, 2017 (изменено) Спасибо за быстроту добавления новых версий! Хотел бы сразу оговориться, что не вижу пока смысла в закреплении в шапке темы новых версий советника, страниц в теме пока немного и новые версии появляются довольно часто, то есть нет смысла выкладывать промежуточную версию.Вижу что в новой версии убран трал первого входа.Тут хотелось бы остановиться подробнее. Если посмотреть на логику изначального алгоритма, без переворотов, то видно, что 45% сделок закрывались по этому самому тралу или тейку. В новом алго с переворотом есть такой параметр Exite_Minutеs. Если я все правильно понял, то он работает и на первый ордер. Если это так и первая (стартовая) сделка так же закрывается по времени, то в трале смысла действительно нет. Но если сделать так, чтобы этот параметр начинал свою работу с первого переворота (шаг 2)? А первый шаг так и продолжал работать с тралом? По поводу отключения фильтра по дням недели. Не думаю что это хорошая идея. Конечно если этот фильтр не вредит скорости просчета алгоритма. А так, советник желательно иметь в виде некого конструктора. Ведь можно использовать разные торговые пары в разные торговые дни, если выявлено некое стат преимущество и нет подгонки под историю. Теперь по поводу фильтрации и попыток снижения количества переворотов. К сожалению фильтр по CCI все же не сильно помогает, так как сам индикатор из серии осцилляторов и реагирует на колебания цены в канале флета очень чутко. Нам же нужно снизить количество вращений во флете. Что можно сделать?Давайте посмотрим на MACD. Нам нужно войти в тренд и "ловить" смену направления движения цены. Конечно макд сглаживает ценовой ряд, но в принципе это может быть полезным. Если 1,2,3 шаги оставить такими как они есть сейчас и фильтр по макду включать только с 4-го шага переворота, то в теории мы можем снизить количество переворотов. 2017-03-28_19-13-14.png Изменено 28 марта, 2017 пользователем PiKG 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
master_255 Опубликовано 28 марта, 2017 Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 28 марта, 2017 Версия 1.5.3Так как мнения разделились:[quote=Rever27]- Фильтр выхода по времени лучше применять только к первому ордеру, сетка все равно висит куда больше пары часов, что в настройках. [quote=PiKG]Но если сделать так, чтобы этот параметр начинал свою работу с первого переворота (шаг 2)? А первый шаг так и продолжал работать с тралом?Добавлены параметры с какого ордера начинает работать фильтр выхода по времени TimeExit_Start, и до какого TimeExit_End.Трал после этого пробовал вернуть, но все равно оказывалось прибыльнее без него.Удален LastCloseBy, оказывается он ломал логику: как я уже говорил - после закрытия ордеров разной лотности появляеться новый, с остатком лотности, и время его создания оказывается новее последнего, в связи с чем он становиться последним и уровень бузубытка рассчитывается неверно, сетка закрывалась в минус.- исправив этот расчет я понял что лотность первого ордера изменяется, так как настоящий первый уже закрыт, и дальнейший расчет лотности идет агрессивней. - и даже исправив это, после такого закрытия уровень БУ отдаляется и сетка висит дольше, в общем поэкспериментировал и убрал.Piranha_v1.5.3.mq4 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
PiKG Опубликовано 28 марта, 2017 Автор Поделиться [open source] [Советник] To_PIRANHAfx X2 PRICE ZONE Опубликовано 28 марта, 2017 (изменено) Так как мнения разделились: Ну у меня чисто теоретическое предположение, оно основано на первичном алгоритме, но там был фиксированный стоп, а в новом советнике идет переворот, соответственно неизвестно лучше или хуже в итоге с тралом. Где то, например, при сильном импульсе, будет лучше. А где то, например если первый вход будет почти на вершине движения, перед флетом на разворот, то будет хуже.Добавлено: 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.htmPiranha_v.1.5.3_usdjpy_test_M15.set Изменено 29 марта, 2017 пользователем PiKG 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти