usver73 Опубликовано 4 мая, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 мая, 2017 (изменено) Год выпуска: 2017Валютные пары: EURUSD, GBPUSD, USDCHF, USDJPYТаймфрейм: H1-D1Время торговли: Лондонская и Американская сессии.Описание стратегии в статье http://tradelikeapro.ru/sistema-dibs-method/ .Кратко: "В основе стратегии лежит Price Action паттерн «Внутренний Бар». Этот паттерн состоит из материнской и внутренней свечи и означает временное согласие в цене между покупателями и продавцами. Границы внутренней свечи находятся полностью внутри границ предшествующей, «материнской» свечи.Наша цель как форекс трейдеров — захватить движение, захватить тренд, чуть раньше других игроков. И быть в тренде как можно дольше.Перед тем как мы тренд поймаем, нам нужно выяснить его направление, чтобы не торговать против тренда."За основу параметров советника взял рекомендации dj step с некоторыми корректировками.Логика советника максимально приближена к оригинальной стратегии: при наступлении 6 часов по GMT запоминаем цену открытия бара и используем ее для определения направления выставления ордеров:)). ТП и СЛ по теням внутреннего бара. Выставляются СТОП-отложки. Время жизни- 5 свечей рабочего ТФ.Описание настроек: Спойлер TF =1440; // Рабочий ТФ. В тестере необходимо явно задавать тот же ТФ.; Ordercomment ="DIBS";MagicNumber =1;MinLot =1; //начальный лот. Ордер с этим лотом выставляется без ТП. Одновременно выставляется ордер с двойным лотом. СЛ и ТП выставляются по стратегии- по Хай-Лоу + n пипсов;WorkingTime =6; //время начала открытия поз. - время когда сова открывает новые позиции;StandByTime =15; //время окончания открытия поз.- время, когда сова не открывает новые позиции при появлении сигнала, но следит за уже открытыми ордерами в рынке;GMTOffset =1; //смещение времени от времени GMT- смещение времени терминала брокера от времени GMT,;SignalTime =6; //время сигнальной свечи по GMT= 6 часов по GMT + значение GMTOffset - автоматическое определение сигнального времени , от которого отсчитывается направление будущей позиции;ExtremeIndent =3; //отступ от экстремумов- отступ от экстремумов инсайда для выставления отложекexpiration =5; //срок истечения отложенного ордера в свечах.UseBE =true; //Использовать БУ для 2-го ордера. 2- ордер- тот который тралится. Если праметр- true, то при закрытии первого ордера по ТП, СтопЛосс 2-го устанавливается на уровень ЦЕНА+3 пипс(без пересчета в 4-х знак);TPSL =3; //коэффициент превышения ТП над СЛ для 2-го орд.-- коэффициент превышения соотношения ТП над СЛ - в целых числах (например 2, 3 или 5, т.е. 1:2, 1:3 тлт 1:5) - просто для расчет ТП для третьего ордера в случае без трала.NumberOfTry =5; //количество попыток работы с ордером- служебный параметр для функций работы с ордерами;TrailingType =2; //тип трала 2-го орд:0- фиксированный ТП; 1- по МА; 2- по теням. Если 0, то 2-й ордер не тралится, его ТП устанавливается=TPSL х SL. Если 1,то трал по МА, если 2, то трал по теням. Раздел дополнительных фильтров- НЕ ПО СИСТЕМЕ! qq3="--------------Фильтры---------------"; MotherCanMin =10; //Минимальный р-р материнской свечи(пп)InnerCanMin =0.5; //Мининимальный размер внутренней свечи (Коэфф. от размера материнской свечи)- если размер внутренней свечи меньше MotherCanMin х InnerCanMin, то ордер не открываетсяMaxSL =150; //Макс. размер СЛ. Если расчетный СЛ большой, то ставится максимально допустимый размер СЛ= MaxSL;ExtraPosDistance; //Отступ от предыдущей открытой позиции. Пока не реализовано.... qq4="----------Настройки трала по МА-----";trTmfrm =1440; // таймфрейм МА trMAPeriod = 20; // период МА (не меньше 2)trMAShift = 0; // сдвиг индикатора относительно ценового графикаtrMAMethod = 0; // метод усреднения (0 - MODE_SMA, 1 - MODE_EMA, 2 - MODE_SMMA, 3 - MODE_LWMA);trApplPrice = 0; // используемая цена (0 - PRICE_CLOSE, 1 - PRICE_OPEN, 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL, 6 - PRICE_WEIGHTED)trShift = 1; // индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад)trIndent = 3; // отступ от тени бара, на котором размещается стоплосс string qq5="-----Настройки трала по теням---------";shdTmfrm =1440; // таймфреймshdBars_n = 2; // кол-во баров, по которым следует тралитьshdIndent = 3; // отступ от тени бара, на котором размещается стоплоссshdTrlinloss = false // следует ли тралить на участке лоссов (между курсом стоплосса и открытия) В визуальном режиме по цене сигнальной свечи рисуется линия. ЕЕ длина = времени жизни сигнальной цены (на Н1- до конца дня, на Н4 и Д1- до конца недели).Советник работает на открытии свечи на рабочем ТФ, но почему-то результаты тестирования по модели "все тики" и "по ценам открытия" разные.Тесты гонял отрывочно. Результаты пока слабые.Предварительные выводы: 1.UseBE (БУ 2-го ордера) дает положительный результат.2. Фильтр по размеру внутренней свечи дает положительный результат, но количество входов резко снижается.3. Фильтр размера материнской свечи дает слабый результат.Что пока не реализовано- "торговать только пары которые в движении. Мы кормим лошадь, которая бежит." (с). Необходимо формализованное описание.DIBS_Usver73_1.04.mq4EURUSD_D1_Shadow_with_BE.gifEURUSD_D1_Shadow_with_BE.gifEURUSD_D1_Shadow_without_BE.htmEURUSD_D1_Shadow_without_BE.gifТесты_разработка.rar Изменено 12 июля, 2017 пользователем Pavel888 7 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Сергей15 Опубликовано 7 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 7 июня, 2017 Очень интересный метод, жаль что тему бросили. Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 7 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 7 июня, 2017 Очень интересный метод, жаль что тему бросили. Советник месяц лежит- никакой обратной связи, предложений, тестов и т.д.У Вас есть что предложить? Или от других ждете? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 23 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 23 июня, 2017 Интересно, что из этого может получиться. Пока увидел что-то только на EURUSD (картинка с 2013 года - ниже), остальные пары льют, да и EUR до 2013 года льет. Возможно баги мешают и не хватает фильтра "бегущая лошадь", если надо - напишу свое видение.usver73, вам еще интересен проект? EURUSD_DIBS_Usver73_1.04.gif Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 24 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 24 июня, 2017 Интересно, что из этого может получиться. Пока увидел что-то только на EURUSD (картинка с 2013 года - ниже), остальные пары льют, да и EUR до 2013 года льет. Возможно баги мешают и не хватает фильтра "бегущая лошадь", если надо - напишу свое видение.usver73, вам еще интересен проект? Ну почему- нет? пишите, попробуем...Как раз заканчиваю другого советника, можно к этому вернуться. 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Mr_Antonio Опубликовано 25 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 25 июня, 2017 (изменено) Прогон после оптимизации, пока такой результат, довольно интересный Сов. DIBST.rarStrategyTester.htmStrategyTester.gifDIBST.EURUSD.Daili.setStrategyTester_0.1-0.4-2016_по_сегодняшний_день..htmStrategyTester_0.1-0.4-2016_по_сегодняшний_день..gif Изменено 25 июня, 2017 пользователем Mr_Antonio Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 25 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 25 июня, 2017 (изменено) Спойлер Интересно, что из этого может получиться. Пока увидел что-то только на EURUSD (картинка с 2013 года - ниже), остальные пары льют, да и EUR до 2013 года льет. Возможно баги мешают и не хватает фильтра "бегущая лошадь", если надо - напишу свое видение.usver73, вам еще интересен проект? Ну почему- нет? пишите, попробуем...Как раз заканчиваю другого советника, можно к этому вернуться. Супер. Видится, что советнику нужны вот такие изменения:- внедрить фильтр HotHand - дневная MA(20) не должна пересекать цену и иметь наклон.По моему, для первого достаточно проверки что вчерашняя MA не была между вчерашними Low и Hi,а второе было реализовано в Generic ATLP 11-й версии - в параметры надо добавить MA_TF = D1, MA_Period = 20, MA_slope = 0.1 и входить в сделку только если MA имеет абсолютный наклон больше MA_slope.Лучше обе проверки на Hot Hand сделать опционными. По визуальным тестам мне показалось, что первое правило лишнее, а второе рабочее.- если внутренняя свеча пересекает сигнальную цену, то выставляем стопы в оба направления (опционально). Вроде так должно быть по стратегии.- При TrailingType =0 сейчас не выставляется TP у второго ордера, видимо, просто баг.Это не по стратегии, но, наверное, будет очень удобно оптимизировать без трала с фиксированным TP второго ордера Не могу повторить, сейчас TP выставляется.- при использовании трала по MA (TrailingType =1) трал начинается до тейка первого ордера. Наверняка, этот тоже баг. При трале по теням бага нет- ввести максимальный размер внутренней свечи, тоже в процентах- если задан UseBE=true, БУ 2-го ордера выставлять после TP первого- для оптимизации будет удобнее, если время открытия поз задавать как смещение от сигнальной свечи (default 0) время окончания поз - как смещение от открытия (default 9)Вроде из главного не забыл ничего. Изменено 25 июня, 2017 пользователем Semenov 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 25 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 25 июня, 2017 (изменено) Господа, топикстартер Alastar весьма редко появляется на форуме - причины неизвестны, но работа явно прервана.Насколько помню, топикстартер зарекомендовал себя неплохо, но в данном топике диалог напрочь отсутствовал.я могу разделить топик на 2 части, начиная с http://tlap.com/forum/laboratoriya-profitfx/24/open-source-sovetnik-po-ts-uni-dibs-method-ea/12079/?do=findComment&comment=358054в новом топике топикстартером будет usver73 и можно будет спокойно попробовать развить интересный проект до прибыли.Нет возражений против разделения топика на 2 и продолжения работы в новом топике с топикстартером usver73?!100% необходимости дробить топик как бы нет - но если развиваться будет бот от usver73, то сопровождать разработку в новом топике было бы удобней и эффективней.==================Командиры одобрили идею разделения топиков и топик был разделен на старый и новый с разными топикстартерами.Коллега usver73, просьба несколько дооформить первый пост топика - чтобы вновь приходящим в топик было понятно кто и за что здесь сражается! :) Изменено 25 июня, 2017 пользователем Старик 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 26 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 26 июня, 2017 Коллега usver73, просьба несколько дооформить первый пост топика - чтобы вновь приходящим в топик было понятно кто и за что здесь сражается! Дооформил. Так? 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Старик Опубликовано 26 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 26 июня, 2017 usver73, да всё отлично!Успехов Вам! 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 26 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 26 июня, 2017 Появился ряд вопросов: Видится, что советнику нужны вот такие изменения:- внедрить фильтр HotHand - дневная MA(20) не должна пересекать цену и иметь наклон.По моему, для первого достаточно проверки что вчерашняя MA не была между вчерашними Low и Hi, 1. Уточните- дневная МА20 для рабочего ТФ Н1 или для H4/D1?2. МА всегда имеет наклон, т.е. крайне редко будет MA[2]=MA[1], либо нужно определиться, на каком периоде сравниваем значения МА.Что касается положения вчерашней МА по отношению к Хай/Лоу, то опять вопрос- для какого рабочего ТФ смотрим... Цитата а второе было реализовано в Generic ATLP 11-й версии - в параметры надо добавить MA_TF = D1, MA_Period = 20, MA_slope = 0.1 и входить в сделку только если MA имеет абсолютный наклон больше MA_slope. Что такое MA_slope? (простите мое невежество) Цитата - если внутренняя свеча пересекает сигнальную цену, то выставляем стопы в оба направления (опционально). Вроде так должно быть по стратегии. Возможно так и надо, но также ситуация довольно редкая. Если основные входы будут давать хороший результат, то имеет смысл добавить. Просто кодить эту ситуацию заморочено (в смысле сопровождать после выставления отложек). Цитата - При TrailingType =0 сейчас не выставляется TP у второго ордера, видимо, просто баг.Это не по стратегии, но, наверное, будет очень удобно оптимизировать без трала с фиксированным TP второго ордера Не могу повторить, сейчас TP выставляется. Вряд ли повторите- второй ордер ВСЕГДА выставляется без ТП (нет никаких проверок на соблюдение каких-либо условий) Цитата - при использовании трала по MA (TrailingType =1) трал начинается до тейка первого ордера. Наверняка, этот тоже баг. При трале по теням бага нет Может баг, может фича :-/ . Добавить цену профита, при котором начинается тралл, не сложно.Кстати, в том наборе разных тралов, что есть в загашнике, во многих есть флаг "тралить в отрицательной зоне" Цитата - ввести максимальный размер внутренней свечи, тоже в процентах сделаю Цитата - для оптимизации будет удобнее, если время открытия поз задавать как смещение от сигнальной свечи (default 0) время окончания поз - как смещение от открытия (default 9) Не понял, в чем смысл? Если хотите оптить разрешенный период открытия ордера, так чем текущие настройки не устраивают? Или Вы хотите одним параметром двигать временное "окно" ? Если так, то имхо, не стоит. Ускорение оптимизации будет относительно небольшим, но при портировании советника на брокеров с разным ГМТ геморрой будет обеспечен, как минимум в ветке :)) В том же Генерике пол-ветки про это... 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 27 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 27 июня, 2017 (изменено) Спойлер 1. Уточните- дневная МА20 для рабочего ТФ Н1 или для H4/D1?2. МА всегда имеет наклон, т.е. крайне редко будет MA[2]=MA[1], либо нужно определиться, на каком периоде сравниваем значения МА.Что касается положения вчерашней МА по отношению к Хай/Лоу, то опять вопрос- для какого рабочего ТФ смотрим... Цитата а второе было реализовано в Generic ATLP 11-й версии - в параметры надо добавить MA_TF = D1, MA_Period = 20, MA_slope = 0.1 и входить в сделку только если MA имеет абсолютный наклон больше MA_slope. Что такое MA_slope? (простите мое невежество) По оригинальной стратегии рабочий TF - H1, а "бегущую лошадь" определяем по MA20 на D1. Думаю, что для рабочего TF H4/D1 можно использовать эту-же MA, в стратегии для этих TF нет конкретики.slope - это наклон, я использовал названия параметров из советника Generic ATLP 11 версии; вычисление наклона там выглядит как разность двух MA (в коде это DeltaMA) Спойлер ma_shift_1 = iMA(NULL, PERIOD_M15, DailyMA, 0, MODE_SMA, PRICE_CLOSE, 1); ma_shift_2 = iMA(NULL, PERIOD_M15, DailyMA, 0, MODE_SMA, PRICE_CLOSE, 2); if((OP_TYPE == OP_BUY && ma_shift_1 = DeltaMA*old_point) || (OP_TYPE == OP_SELL && ma_shift_1 > ma_shift_2 && ma_shift_1 - ma_shift_2 >= DeltaMA*old_point)) только нам не важно направление сделки и разность надо брать абсолютную. Цитата - если внутренняя свеча пересекает сигнальную цену, то выставляем стопы в оба направления (опционально). Вроде так должно быть по стратегии. Возможно так и надо, но также ситуация довольно редкая. Если основные входы будут давать хороший результат, то имеет смысл добавить. Просто кодить эту ситуацию заморочено (в смысле сопровождать после выставления отложек). Если заморочено - то давайте оставим на потом. По тестам поймем надо ли оно. Цитата - При TrailingType =0 сейчас не выставляется TP у второго ордера, видимо, просто баг.Это не по стратегии, но, наверное, будет очень удобно оптимизировать без трала с фиксированным TP второго ордера Не могу повторить, сейчас TP выставляется. Вряд ли повторите- второй ордер ВСЕГДА выставляется без ТП (нет никаких проверок на соблюдение каких-либо условий) TP для второго ордера выставляется не сразу, а потом, модификацией ордера. Посмотрите, пожалуйста, там явно есть какой-то баг. Повторить не смог, но иногда TP не выставляется, а иногда выставляется с неправильным множителем относительно SL. Думаю, что очень интересный режим получится. Спойлер Цитата - при использовании трала по MA (TrailingType =1) трал начинается до тейка первого ордера. Наверняка, этот тоже баг. При трале по теням бага нет Может баг, может фича :-/ . Добавить цену профита, при котором начинается тралл, не сложно.Кстати, в том наборе разных тралов, что есть в загашнике, во многих есть флаг "тралить в отрицательной зоне" При использовании трала по MA получалось что тралятся оба ордера. Это неправильно: первый ордер вообще не надо трогать, а второй можно переводить в БУ и начинать тралить только после того, как по первому получили TP. Если в коде уже есть возможность опционально включать БУ и трал в отрицательной зоне - то супер, можно и с этими опциями поиграться. Цитата - для оптимизации будет удобнее, если время открытия поз задавать как смещение от сигнальной свечи (default 0) время окончания поз - как смещение от открытия (default 9) Не понял, в чем смысл? Если хотите оптить разрешенный период открытия ордера, так чем текущие настройки не устраивают? Или Вы хотите одним параметром двигать временное "окно" ? Если так, то имхо, не стоит. Ускорение оптимизации будет относительно небольшим, но при портировании советника на брокеров с разным ГМТ геморрой будет обеспечен, как минимум в ветке :)) В том же Генерике пол-ветки про это... Да, я предполагал одним параметром подвигать временное окно. Позже можно подумать о версии для оптимизации с таким "окном". Изменено 27 июня, 2017 пользователем Semenov 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 27 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 27 июня, 2017 (изменено) Реализацию предложений/замечаний от Semenov начал с предложений.Изменения:1. Упорядочил настройки (сгруппировал, добавил). Придется новое описание писать ~x( 2. Добавил вариант выставления временных параметров Цитата время открытия поз задавать как смещение от сигнальной свечи (default 0) время окончания поз - как смещение от открытия (default 9) 3. Добавлен фильтр по МА20 на D1. Пока не совсем понятно, какие нужны настройки МА, поэтому вывел наружу почти все (кроме ТФ). Если фильтр приживется, оптимизирую...4. Добавлен фильтр "По наклону МА". double ma_shift_1 = iMA(NULL, MAslope_tf, MAslope_period, 0,MAslope_metod,MAslope_price, 1);double ma_shift_2 = iMA(NULL, MAslope_tf, MAslope_period, 0,MAslope_metod,MAslope_price, 2);double distance = MathAbs(ma_shift_1 - ma_shift_2);if( distance Здесь с параметрами еще меньше понимания, поэтому ВСЕ настройки снаружи. Замечание: все пипсовые параметры совы нужно устанавливать под 4-х знак. Однако, при беглом прогоне фильтра "По наклону МА", выяснил, что расстояние между МА варьируется в очень узком диапазоне, поэтому его оставил в пятизнаке.И вообще- это не расстояние между двумя МА, а изменение цены одной и той же МА...долго соображал :))Ну и немного переделал внутреннюю логику, чтобы легче было подключать доп. фильтры.Следующим этапом будет вылавливание ранее озвученных косяков.Измененное описание параметров: Спойлер ENUM_TIMEFRAMES TF =60; "ПАРАМЕТРЫ ОРДЕРА "; Ordercomment ="DIBS";mn =1; //MagicMinLot =0.01; //начальный лот. Ордер с этим лотом выставляется без ТП. Одновременно выставляется ордер с двойным лотом. СЛ и ТП выставляются по стратегии- по Хай-Лоу + n пипсов;MaxSL =150; //Макс. размер СЛ Если расчетный СЛ большой, то ставится максимально допустимый размер СЛ= MaxSL;TPSL =3; //коэффициент превышения ТП над СЛ для 2-го орд.- коэффициент умножения на СЛ(в пп.) - в целых числах (например 2, 3 или 5, т.е. 1:2, 1:3, 1:5) - просто для расчета ТП второго ордера в случае без трала.expiration =5; //срок истечения времени жизни отложенного ордера (в свечах).ExtremeIndent =3; //отступ от экстремумов- отступ от экстремумов инсайда для выставления отложек "ВРЕМЕННЫЕ ПАРАМЕТРЫ "; TypeTimeSet =0; //Способ установки врем. периодов: 0- основной, 1- для оптимизацииGMTOffset =1; //смещение времени терминала от времени GMTSignalTime =6; //время сигнальной свечи по GMT "параметры 0: Время начала открытия- окончания открытия"; WorkingTime =6; //время начала открытия поз. по GMTStandByTime =15; //время окончания открытия поз. по GMT "параметры 1: Время начала от Сигнальной свечи- ширина окна"; Рекомендуется при оптимизации времени начала торговлиShiftBegime =0; //Смещение от сигнальной свечи. Время начала разрешенного периода для торговлиWidthWindow =9; // Продолжительность разрешенного периода открытия орд."===ФИЛЬТРЫ НА ВХОД===";"ФИЛЬТР РАЗМЕРА СВЕЧ";MotherCanMin =10; //Мин. р-р материнской свечи(пп)InnerCanMin =0.5; //Минимальный размер внутренней свечи (Коэфф. от размера материнской свечи)- если размер внутренней свечи меньше MotherCanMin х InnerCanMin, то ордер не открываетсяSlack =2; //Погрешность сравнения внутренней и внешней свечи. Если ХАЙ внутренней свечи будет выше на размер Slack ХАЯ внешней, то свеча будет считаться внутренней. Если ЛОУ внутренней свечи будет на Slack ниже ЛОУ внешней свечи, то свеча будет считаться внутренней. Попытка борьбы с микрогэпами.ExtraPosDistance; //Отступ от предыдущей открытой позиции. Не реализовано "ФИЛЬТР МА20"; Принцип работы: Если цена МА находилась между ХАЙ и ЛОУ предыдущего дня, то вход отменяется.UseMA20_filter =false;//Использовать фильтр по МА20 D1ENUM_MA_METHOD MA20_metod =0; //Метод усреднения МАMA20_period =20; //Период МАENUM_APPLIED_PRICE MA20_price =0; //Используемая цена"ФИЛЬТР ПО НАКЛОНУ МА"; Сравнивается цена МА на свече №1 и №2(относительно текущей - нулевой). Если Цена изменилась незначительно, то считаем, что мы находимся во флэте. Минимальное изменение цены задается параметром "Расстояние между МА пп".Use_slope_filter =false;//Использовать фильтр наклона МА ENUM_MA_METHOD MAslope_metod =0; //Метод усреднения МАENUM_TIMEFRAMES MAslope_tf =60; //Таймфрейм МАMAslope_period =20; //Период МА ENUM_APPLIED_PRICE MAslope_price =0; //Используемая ценаDelta_MA =20; //Расстояние между МА пп (Пятизнак!!!)"=====СОПРОВОЖДЕНИЕ ОРДЕРА========";UseBE =true; //Использовать БУ для 2-го ордера. 2- ордер- тот который тралится. Если праметр- true, то при закрытии первого ордера по ТП, СтопЛосс 2-го устанавливается на уровень ЦЕНА + 3 пипс(без пересчета в 4-х знак);TrailingType =0; //тип трала 2-го орд:0- фиксированный ТП; 1- по МА; 2- по теням. Если 0, то 2-й ордер не тралится, его ТП устанавливается=TPSL х SL. Если 1,то трал по МА, если 2, то трал по теням. "НАСТРОЙКИ ТРАЛА ПО МА";ENUM_TIMEFRAMES trTmfrm=1440; // таймфрейм МА trMAPeriod = 20; // период МА (не меньше 2)trMAShift = 0; // сдвиг индикатора относительно ценового графика trMAMethod = 0; // метод усреднения (0 - MODE_SMA, 1 - MODE_EMA, 2 - MODE_SMMA, 3 - MODE_LWMA);trApplPrice = 0; // используемая цена (0 - PRICE_CLOSE, 1 - PRICE_OPEN, 2 - PRICE_HIGH, 3 - PRICE_LOW, 4 - PRICE_MEDIAN, 5 - PRICE_TYPICAL, 6 - PRICE_WEIGHTED)trShift = 1; // индекс получаемого значения из индикаторного буфера (сдвиг относительно текущего бара на указанное количество периодов назад)trIndent = 3; // отступ от тени бара, на котором размещается стоплосс "-----НАСТРОЙКИ ТРАЛА ПО ТЕНЯМ---------";ENUM_TIMEFRAMES shdTmfrm=1440; // таймфреймshdBars_n = 2; // кол-во баров, по которым следует тралитьshdIndent = 3; // отступ от тени бара, на котором размещается стоплоссshdTrlinloss = false; // следует ли тралить на участке лоссов (между курсом стоплосса и открытия)NumberOfTry =5; //количество попыток работы с ордером- служебный параметр для функций работы с ордерами; DIBS_Usver73_1.06.mq4 Изменено 27 июня, 2017 пользователем usver73 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 29 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 29 июня, 2017 Добрый день.Очередная версия советника.1.07.Изменения:1. исправлена ошибка выставления БУ. Сейчас БУ 2-го выставляется в момент закрытия первого (при условии, что ТП 1-го ордера= СЛ 2-го).Проверка наступления события производится потиково(раньше- 1 раз в час/день). 2.БУ выставляется на уровень безубытка+ n- пипсов.3. изменена логика трала: трал включается только если ордер находится в БУ.4. Добавлен фильтр размера внутренней свечи: можно контролировать как минимальный, так и максимальный размер свечи.Получается из ране озвученных предложений осталось не реализована проверка на минимальное расстояние между ордерами. Вечером доделаю.А теперь о грустном...Если прогнать сов с "чистым" PA IB, т.е. вход после внутренней свечи в направлении предполагаемого тренда, фикс. СтопЛосс= Фикс. Тейкпрофит, то результат получается 50/50 (по крайней мере на Н1)И в исследовании ПА от Silentspec первый тест посвящен прогнозной эффективности и сравнению с подбрасыванием монетки. Результаты теста варьируется в диапазоне 43-51%%. Т.е. с тем же успехом можно входить просто по направлению определенного тренда. Если мои выводы верны, то фильтрация входа с помощью IB бессмысленна...Хотелось бы, чтоб меня опровергли или подтвердили выводы. DIBS_Usver73_1.07.mq4 5 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 29 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 29 июня, 2017 Спойлер Добрый день.Очередная версия советника.1.07.Изменения:1. исправлена ошибка выставления БУ. Сейчас БУ 2-го выставляется в момент закрытия первого (при условии, что ТП 1-го ордера= СЛ 2-го).Проверка наступления события производится потиково(раньше- 1 раз в час/день). 2.БУ выставляется на уровень безубытка+ n- пипсов.3. изменена логика трала: трал включается только если ордер находится в БУ.4. Добавлен фильтр размера внутренней свечи: можно контролировать как минимальный, так и максимальный размер свечи.Получается из ране озвученных предложений осталось не реализована проверка на минимальное расстояние между ордерами. Вечером доделаю.А теперь о грустном...Если прогнать сов с "чистым" PA IB, т.е. вход после внутренней свечи в направлении предполагаемого тренда, фикс. СтопЛосс= Фикс. Тейкпрофит, то результат получается 50/50 (по крайней мере на Н1)И в исследовании ПА от Silentspec первый тест посвящен прогнозной эффективности и сравнению с подбрасыванием монетки. Результаты теста варьируется в диапазоне 43-51%%. Т.е. с тем же успехом можно входить просто по направлению определенного тренда. Если мои выводы верны, то фильтрация входа с помощью IB бессмысленна...Хотелось бы, чтоб меня опровергли или подтвердили выводы. Еще в версии 1.04 я подбирал параметры для EURUSD на периоде 2015-2017.06, TF=H1.Вот как выглядит этот сет в версии 1.07 на периоде 2013-2017.06 при TP=SL для 2-го ордера Спойлер Не так печально получилось как у вас: количество выигрышей 60% и net/dd =3.5.Silentspec, конечно, монстр и мб полученный сет и не сет вовсе, а случайность, но давайте не будем пока вычеркивать IB.А теперь о грустном :-)В версии 1.06 этот сет (с тралом) был лучше чем в 1.04 и рисовал такую картинку Спойлер А в версии 1.07 нарисовал совсем другое Спойлер Понятно, что трал изменился и надо смотреть траловые параметры, но по сделкам видно, что сейчас TP для первого ордера иногда выставляется меньше чем в предыдущей версии. Советник выставляет TP и SL на равном расстоянии от цены. Если не ошибаюсь, то из-за спреда у нас получается, что TP всегда меньше SL на 2 спреда, нет?Сет и 3 теста во вложении.EURUSD_DIBS_1.06-1.07.zip 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 29 июня, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 29 июня, 2017 (изменено) Добрый вечер! Понятно, что трал изменился и надо смотреть траловые параметры, но по сделкам видно, что сейчас TP для первого ордера иногда выставляется меньше чем в предыдущей версии. Советник выставляет TP и SL на равном расстоянии от цены. Если не ошибаюсь, то из-за спреда у нас получается, что TP всегда меньше SL на 2 спреда, нет? ТП и СЛ выставляются от цены на одинаковом расстоянии в пипсах. И , да, технически Стоп сработает раньше, чем Тейк как раз на двойной спред. Если это важно, то спред можно учитывать, но, по-моему, это не принципиально.Можно развить эту идею дальше: ввести К превышения ТП над СЛ для 1-го ордера (кем-то предлагалось на ранней стадии обсуждения).По поводу трала:в версии 1.06 логика была такая:Если включен БУ + у 2-го ордера ТП не установлен + Включен трал, то ордер практически мгновенно переводился в БУ (шла проверка , чтоб цена отошла от ордера на расстояние StopLevel + 3пп.)Трал, в свою очередь, включался вообще сразу, без всяких проверок. И, кстати, тралил в отрицательной зоне :)Важное отступление: оба процесса считались 1 раз в свечу рабочего ТФ, т.е. для Н1- 1 раз в час.В 1.07 изменения по тралу и БУ серьезные:1. Условие для перевода в БУ проверяется на каждом тике.2. Для включения БУ 2-го ордера 1 -й должен закрыться по тейку. Здесь есть момент: в MQL4 нет адекватного способа отлова события закрытия ордера оп тейку, стопу и т.п. То что есть в публичных наработках- все с оговорками, либо с километровым кодом (типа, вести базу ордеров и на каждом тике сравнивать текущее состояние с записями в базе).Поэтому в сове упрощенное решение: т.к. СЛ у обоих ордеров одинаковое и СЛ =ТП у 1-го ордера, то для второго ордера цена включения БУ = Цена ордера+ его СЛ (в пунктах)(пример для БАЙ-ордеров).Но отсюда следует ограничение: если мы решим устанавливать для первого ордера ТПСЛ, то эта методика будет работать неправильно.3. Трал включается при следующих условиях: - ордер уже переведен в БУ (т. е. цена ушла в + на расстояние стоплосса); - проверка на перемещение СЛ производится раз в одну свечу рабочего ТФ.В версии 1.07 есть ошибка (точнее, отсутствие контроля некорректных настроек): если трал включен, а БУ-нет, то ордер не переведется в БУ, соответственно, не будет работать трал. В в.1.08 поправил. Если надо- выложу, но хотел накопить еще замечаний/предложений...Сеты Ваши обязательно погоняю, спасибо что поделились.Посмотрел сет, и возник вопрос?У Вас трал включен по теням на Д1, да еще и по 4 свечам! т.е. 4 дня ордер висит без тейка, с "базовым" Стопом...Я б даже не додумался проверить такой вариант.. Изменено 29 июня, 2017 пользователем usver73 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 30 июня, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 30 июня, 2017 ТП и СЛ выставляются от цены на одинаковом расстоянии в пипсах. И , да, технически Стоп сработает раньше, чем Тейк как раз на двойной спред. Если это важно, то спред можно учитывать, но, по-моему, это не принципиально.Можно развить эту идею дальше: ввести К превышения ТП над СЛ для 1-го ордера (кем-то предлагалось на ранней стадии обсуждения). По выложенным ранее TestResuts подсчитал выигрыш первых ордеров для 1.06 и 1.07. В первой версии получилось на 30% больше чем во второй. Может и не принципиально, но при подборе настроек будет мешать, думаю.Может сделать и компенсацию спреда и множитель? Типа TP=(SL+max_spread)*K Спойлер для второго ордера цена включения БУ = Цена ордера+ его СЛ (в пунктах)(пример для БАЙ-ордеров).Но отсюда следует ограничение: если мы решим устанавливать для первого ордера ТПСЛ, то эта методика будет работать неправильно При явно заданных параметрах реализованная методика БУ будет работать корректно.При подборе настроек я бы точно использовал компенсацию спреда. По умолчанию можно поставить 0 и 1, поиграемся и поймем что надо оставить или оставим оба?По поводу трала: Спасибо за пояснения. ИМХО, супер, только вы не описали еще одну фичу. Если задать БУ;тип трала=фикс TP и множитель TP=N*SL, то после выставления БУ работает какой-то трал. Прикольно получилось, только хотелось бы понять кто это работает и как им управлять :-)Посмотрел сет, и возник вопрос?У Вас трал включен по теням на Д1, да еще и по 4 свечам! т.е. 4 дня ордер висит без тейка, с "базовым" Стопом...Я б даже не додумался проверить такой вариант.. Это была борьба с тралом в версии 1.04. Поскольку на рабочем TF трал часто вышибало по БУ или минусу, то решил побороться так. А потом подумал, а почему бы и нет - мы, ведь, по стратегии пытаемся поймать начало большого движения. Из минусов - не ловим небольшие дневные движения на 3-4-5.. SLОтсюда мысль: а может надо два трала? Например, вначале использовать вышеописанную фичу с БУ, а при достижении какого-то профита или по времени переводить на трал по старшему TF? Здесь бы мнение специалистов, дабы не заниматься созданием велосипеда. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 3 июля, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 3 июля, 2017 (изменено) Всем добрый вечер. На выходных выпал из "жизни", поэтому была пауза По выложенным ранее TestResuts подсчитал выигрыш первых ордеров для 1.06 и 1.07. В первой версии получилось на 30% больше чем во второй. Может и не принципиально, но при подборе настроек будет мешать, думаю.Может сделать и компенсацию спреда и множитель? Типа TP=(SL+max_spread)*K Сделал, но немного не по такой формуле: oTP = oPrice+(oPrice - oSL)*TPSL+SpreadCurr*2;, т.е. компенсация спреда за скобками, иначе при К>1 большая разница набегает.. Цитата Спасибо за пояснения (по тралу). ИМХО, супер, только вы не описали еще одну фичу.Если задать БУ;тип трала=фикс TP и множитель TP=N*SL, то после выставления БУ работает какой-то трал. Прикольно получилось, только хотелось бы понять кто это работает и как им управлять :-) Это как раз не фича, а баг.В очередной раз его попытался выловить :)) Сейчас логика такая (ПРОШУ ПРОВЕРИТЬ!!!):- БУ включается, если: а) Явно включен БУ; б) включен любой трал.В БУ переводятся ВСЕ ордера, но т.к. сигналом на перевод является текущий профит= СтопЛосс+ 2 х спрэд, то первый ордер не успевает перевестись в БУ, т.к. закрывается по тейку. В этом есть подводный камень: на демо или реале (буде до них дойдем :)) ) спрэд плавает, поэтому может случиться, что первый ордер все же будет переведен в БУ не дойдя до тейка. Что еще придумать, чтобы переводить в БУ только второй ордер я не знаю...-Трал включается если ордер уже переведен в БУ. Это своего рода защита от раннего включения трала, иначе на тонком рынке стоп подтянется к цене до того, как ордер будет в профите. Это в первую очередь относится к тралу по теням. Цитата Отсюда мысль: а может надо два трала? Например, вначале использовать вышеописанную фичу с БУ, а при достижении какого-то профита или по времени переводить на трал по старшему TF? Здесь бы мнение специалистов, дабы не заниматься созданием велосипеда. В сборнике тралов, из которого я "рыбачу", есть такая связка,но пока не хочу заморачиваться- надо добиться стабильности во входах, а уж потом увеличивать прибыльность (ИМХО).Остальные изменения в советнике:- добавлен Минимальный размер СЛ;- добавлен Максимальный размер "материнской" свечи;- добавлен Минимальный размер "внутренней" свечи (Коэфф. от размера материнской свечи);- исправлена ошибка в способе установки временных периодов. Ошибка должна была проявиться на 4-х значном счете (что сегодня маловероятно :));Вообще хочется попробовать направление сделки определять по МА. DIBS_Usver73_1.08.mq4 Изменено 3 июля, 2017 пользователем usver73 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 4 июля, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 oTP = oPrice+(oPrice - oSL)*TPSL+SpreadCurr*2;, т.е. компенсация спреда за скобками, иначе при К>1 большая разница набегает.. Похоже, с поправкой что у 1го ордера множитель всегда 1.В этом есть подводный камень: на демо или реале (буде до них дойдем ) спрэд плавает, поэтому может случиться, что первый ордер все же будет переведен в БУ не дойдя до тейка. Что еще придумать, чтобы переводить в БУ только второй ордер я не знаю... Похоже что в приложенном TestResults с ордером 21 именно это и произошло. Не вижу проблемы.Вообще хочется попробовать направление сделки определять по МА. Поддерживаю, хотя определение направления по MA и не вписывается в первоначальную стратегию.ЦитироватьЕсли задать БУ;тип трала=фикс TP и множитель TP=N*SL, то после выставления БУ работает какой-то трал. Прикольно получилось, только хотелось бы понять кто это работает и как им управлять :-)Это как раз не фича, а баг.В очередной раз его попытался выловить Не выловлен :-( Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно.EURUSD_DIBS_1.08_BU_Tral.htm 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 4 июля, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 Не выловлен :-( Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно. Привет. Полтергейст какой-то ~x( .Semenov, скиньте сет, лень наколачивать руками. Тралиться с данными настройками вообще не должен... Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 4 июля, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 Спойлер Не выловлен :-( Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно. Привет. Полтергейст какой-то ~x( .Semenov, скиньте сет, лень наколачивать руками. Тралиться с данными настройками вообще не должен... Сет все тот-же. Просто выставляем БУ и отключаем трал. ПриложилEURUSD_DIBS_BU_bag_-_ks.set 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 4 июля, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 Похоже, с поправкой что у 1го ордера множитель всегда 1. проверил- прибавляем двойной спрэд у обоих ордеров. Цитата Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно. Прогнал этот же период с теми же настройками, только спрэд фиксированный. Оба места отработали по логике советника. Semenov, Вы в ТДСе тестируете или спрэд с текущего рынка берете?И просьба, при нахождении багов прикладывать сет, TesterReport и лог. В последнем отражается каждый шаг советника, проверять проще... Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 4 июля, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 Похоже, с поправкой что у 1го ордера множитель всегда 1. проверил- прибавляем двойной спрэд у обоих ордеров. Сделал, но немного не по такой формуле:oTP = oPrice+(oPrice - oSL)*TPSL+SpreadCurr*2; я имел ввиду, что множитель TPSL для первого ордера всегда равен 1, а для второго берется из настроек.Я тестирую в TDS, с плавающим спредом. Интересный трал - включается по плавающему спреду :-)Ближе к ночи прогоню еще раз и выложу лог. Ссылка на сообщение Поделиться на другие сайты More sharing options...
usver73 Опубликовано 4 июля, 2017 Автор Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 4 июля, 2017 я имел ввиду, что множитель TPSL для первого ордера всегда равен 1, а для второго берется из настроек. Так это по стратегии: первый ордер двойным объемом при закрытии по тейку позволяет "развлекаться" со вторым- как минимум вход будет с 0-м результатом при закрытии второго по стопу. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Semenov Опубликовано 5 июля, 2017 Поделиться [open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано 5 июля, 2017 и лог. В последнем отражается каждый шаг советника, проверять проще... Прикладываю обещанный лог.Также приложил 1.08 с измененными default значениями и добавленной OnTester(). Если вам подходит - правьте ее.20170705.logDIBS_Usver73_1.08-ks.mq4 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти