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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method EA


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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)
Год выпуска: 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.mq4
EURUSD_D1_Shadow_with_BE.gif
EURUSD_D1_Shadow_with_BE.gif
EURUSD_D1_Shadow_without_BE.htm
EURUSD_D1_Shadow_without_BE.gif
Тесты_разработка.rar

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

  • 1 month later...
[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


Очень интересный метод, жаль что тему бросили.


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

  • 3 weeks later...
[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

Интересно, что из этого может получиться. Пока увидел что-то только на EURUSD (картинка с 2013 года - ниже), остальные пары льют, да и EUR до 2013 года льет. Возможно баги мешают и не хватает фильтра "бегущая лошадь", если надо - напишу свое видение.
usver73, вам еще интересен проект?

EURUSD_DIBS_Usver73_1.04.gif

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


Интересно, что из этого может получиться. Пока увидел что-то только на EURUSD (картинка с 2013 года - ниже), остальные пары льют, да и EUR до 2013 года льет. Возможно баги мешают и не хватает фильтра "бегущая лошадь", если надо - напишу свое видение.
usver73, вам еще интересен проект?


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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)

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

DIBST.rar
StrategyTester.htm
StrategyTester.gif
DIBST.EURUSD.Daili.set
StrategyTester_0.1-0.4-2016_по_сегодняшний_день..htm
StrategyTester_0.1-0.4-2016_по_сегодняшний_день..gif

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)


Спойлер


Интересно, что из этого может получиться. Пока увидел что-то только на 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)

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)

Господа, топикстартер 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, просьба несколько дооформить первый пост топика - чтобы вновь приходящим в топик было понятно кто и за что здесь сражается! :)

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

Коллега usver73, просьба несколько дооформить первый пост топика - чтобы вновь приходящим в топик было понятно кто и за что здесь сражается!


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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

Появился ряд вопросов:


Видится, что советнику нужны вот такие изменения:
- внедрить фильтр 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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)


Спойлер

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)


Не понял, в чем смысл? Если хотите оптить разрешенный период открытия ордера, так чем текущие настройки не устраивают? Или Вы хотите одним параметром двигать временное "окно" ? Если так, то имхо, не стоит. Ускорение оптимизации будет относительно небольшим, но при портировании советника на брокеров с разным ГМТ геморрой будет обеспечен, как минимум в ветке :)) В том же Генерике пол-ветки про это...


Да, я предполагал одним параметром подвигать временное окно.
Позже можно подумать о версии для оптимизации с таким "окном". Изменено пользователем Semenov
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)

Реализацию предложений/замечаний от 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; //Magic
MinLot =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; //смещение времени терминала от времени GMT
SignalTime =6; //время сигнальной свечи по GMT
"параметры 0: Время начала открытия- окончания открытия";
WorkingTime =6; //время начала открытия поз. по GMT
StandByTime =15; //время окончания открытия поз. по GMT
"параметры 1: Время начала от Сигнальной свечи- ширина окна"; Рекомендуется при оптимизации времени начала торговли
ShiftBegime =0; //Смещение от сигнальной свечи. Время начала разрешенного периода для торговли
WidthWindow =9; // Продолжительность разрешенного периода открытия орд.

"===ФИЛЬТРЫ НА ВХОД===";
"ФИЛЬТР РАЗМЕРА СВЕЧ";
MotherCanMin =10; //Мин. р-р материнской свечи(пп)
InnerCanMin =0.5; //Минимальный размер внутренней свечи (Коэфф. от размера материнской свечи)- если размер внутренней свечи меньше MotherCanMin х InnerCanMin, то ордер не открывается
Slack =2; //Погрешность сравнения внутренней и внешней свечи. Если ХАЙ внутренней свечи будет выше на размер Slack ХАЯ внешней, то свеча будет считаться внутренней. Если ЛОУ внутренней свечи будет на Slack ниже ЛОУ внешней свечи, то свеча будет считаться внутренней. Попытка борьбы с микрогэпами.
ExtraPosDistance; //Отступ от предыдущей открытой позиции. Не реализовано

"ФИЛЬТР МА20"; Принцип работы: Если цена МА находилась между ХАЙ и ЛОУ предыдущего дня, то вход отменяется.
UseMA20_filter =false;//Использовать фильтр по МА20 D1
ENUM_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

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

Добрый день.
Очередная версия советника.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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


Спойлер

Добрый день.
Очередная версия советника.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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)

Добрый вечер!

Понятно, что трал изменился и надо смотреть траловые параметры, но по сделкам видно, что сейчас 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 дня ордер висит без тейка, с "базовым" Стопом...
Я б даже не додумался проверить такой вариант..
Изменено пользователем usver73
  • Лайк 2
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


ТП и СЛ выставляются от цены на одинаковом расстоянии в пипсах. И , да, технически Стоп сработает раньше, чем Тейк как раз на двойной спред. Если это важно, то спред можно учитывать, но, по-моему, это не принципиально.
Можно развить эту идею дальше: ввести К превышения ТП над СЛ для 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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано (изменено)

Всем добрый вечер. На выходных выпал из "жизни", поэтому была пауза

По выложенным ранее 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

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

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
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

Не выловлен :-(
Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно.


Привет. Полтергейст какой-то ~x( .
Semenov, скиньте сет, лень наколачивать руками. Тралиться с данными настройками вообще не должен...
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


Спойлер

Не выловлен :-(
Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно.


Привет. Полтергейст какой-то ~x( .
Semenov, скиньте сет, лень наколачивать руками. Тралиться с данными настройками вообще не должен...


Сет все тот-же. Просто выставляем БУ и отключаем трал. Приложил

EURUSD_DIBS_BU_bag_-_ks.set

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

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

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


проверил- прибавляем двойной спрэд у обоих ордеров.

Цитата

Посмотрите на трал 76; 80 и 82; 106 ордеров. В первом и последнем случае тралится единственный ордер, во втором - в рынке 2 ордера одновременно.


Прогнал этот же период с теми же настройками, только спрэд фиксированный. Оба места отработали по логике советника. Semenov, Вы в ТДСе тестируете или спрэд с текущего рынка берете?
И просьба, при нахождении багов прикладывать сет, TesterReport и лог. В последнем отражается каждый шаг советника, проверять проще...
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


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


проверил- прибавляем двойной спрэд у обоих ордеров.

Сделал, но немного не по такой формуле:
oTP = oPrice+(oPrice - oSL)*TPSL+SpreadCurr*2;


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

Я тестирую в TDS, с плавающим спредом. Интересный трал - включается по плавающему спреду :-)
Ближе к ночи прогоню еще раз и выложу лог.
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано

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


Так это по стратегии: первый ордер двойным объемом при закрытии по тейку позволяет "развлекаться" со вторым- как минимум вход будет с 0-м результатом при закрытии второго по стопу.
Ссылка на сообщение
Поделиться на другие сайты

[open source] [Советник] DIBS по ТС [H1-D1] DIBS Method… Опубликовано


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


Прикладываю обещанный лог.
Также приложил 1.08 с измененными default значениями и добавленной OnTester(). Если вам подходит - правьте ее.

20170705.log
DIBS_Usver73_1.08-ks.mq4

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

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

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

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

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

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

Войти

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

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