PDA

View Full Version : Советник FXOpen.DynamicTrailing



MaxZ
12-18-2013, 07:42 AM
Здравствуйте.

Данный советник был заказан Пользователем Slos в теме (http://forum.fxopen.ru/showthread.php?91373&p=1450226#post1450226).

Техническое задание (ТЗ) для данного советника было следующим:


Будет расти если увеличение трейлинг стопа будет отставать от увеличения профита сделки хотя бы в 1.5 раза или в 2 раза, (можно это отставание прописать в настройках в N пп) (имхо).
В этом случае уже не обязательно увеличение трейлингстопа должно происходить дискретно, можно и плавно.
К примеру при отставании в 1.5 раза, картина следующая:
профит 10 пп - трейлинг 6 пп- (безубыток 4 пп) ; 15 пп - 10пп (б\у 5 пп); 20пп - 13пп (б\у 7 пп) ; 25пп - 16пп (бу\9 пп); 30 пп- 20пп (б\у 10пп); 35 пп - 23пп (б\у 12 пп); 40пп - 26пп (б\у 14 пп); 45пп - 30 пп (б\у 15 пп); 50пп - 33пп (б\у 17 пп); 55 пп - 36 пп (б\у 19 пп); 60 пп - 40 пп (б\у 20 пп) и т.д.
При отставании в 2 раза:
профит 15 пп - 7 пп (б\у 8 пп); 20 пп - 10 пп (б\у 10 пп) ; 25 пп - 12 пп (б\у 13 пп); 30 пп - 15 пп (б\у 15 пп); 35 пп - 17 пп (б\у 18 пп); 40 пп - 20 пп(б\у 20 пп) ; 45 пп - 22 пп(б\у 23 пп); 50 пп - 25 пп(б\у 25 пп); 55пп - 27пп(б\у 28 пп); 60 пп - 30 пп(б\у 30 пп) и т.д.
Как то так.:sm23:

За основу написанного советника был взят FXOpen.Trailing (forum.fxopen.ru/showthread.php?93790&p=1591517#post1591517). Для тестовых сделок (TrailingTest равен true) было добавлено выставление уровней StopLoss'а и TakeProfit'а (TrailingTestStopLoss и TrailingTestTakeProfit).

Настройки советника следующие:


Общие настройки:
- Symb, название торгового инструмента, с которым советник работает (если "All", то работает со всеми торговыми инструментами, если "" (пустое поле), то работает с торговым инструментом, на который советник установлен);
- Magic, магическое число для ордеров, с которыми советник работает (если -1, то работает со всеми ордерами);
- CorrectError130, корректировка размеров TrailingStop'а и TrailingProfit'а с учётом StopLevel'а;
- AddAtStopLevel, страховочное значение, которое при корректировки размеров TrailingStop'а и TrailingProfit'а прибавляется к StopLevel'у.

Примечание: для параметра AddAtStopLevel нужно вводить целое число, которое умножается на величину, равную одному пункту.

Параметры для BreakevenStop'а:
- BreakevenStopEnable, true - выставление уровня StopLoss'а в безубыток включено, false - выключено;
- BreakevenStopDelta, значение прибыли в пунктах, после которого выставляется уровень StopLoss'а в безубыток.

Примечание: для параметра BreakevenStopDelta нужно вводить целое число, которое умножается на величину, равную одному пункту.

Параметры для TrailingStop'а:
- TrailingStopEnable, true - TrailingStop включен, false - выключен;
- TrailingStopStart, значение прибыли в пунктах, после которого начинается TrailingStop (может быть отрицательным);
- TrailingStopDelta, TrailingStopStep, параметры для TrailingStop'а.

Примечание: для параметров TrailingStopStart, TrailingStopDelta, TrailingStopStep нужно вводить целое число, которое умножается на величину, равную одному пункту.

Параметры для DynamicTrailingStop'а:
- DynamicTrailingStopEnable, true - DynamicTrailingStop включен, false - выключен;;
- DynamicTrailingStopStart, значение прибыли в пунктах, после которого начинается DynamicTrailingStop (не может быть отрицательным);
- DynamicTrailingStopEnd, значение прибыли в пунктах, после которого останавливается DynamicTrailingStop и включается классический TrailingStop с параметрами DynamicTrailingStopDelta, DynamicTrailingStopStep;
- DynamicTrailingStopKoef, коэффициент, на который умножается значение прибыли и получается Delta для DynamicTrailingStop'а;
- DynamicTrailingStopRound, < 0 - округляем значение полученного уровня StopLoss'а в меньшую сторону до целого, 0 - округляем в сторону до ближайшего целого, > 0 - округляем значение в большую сторону до целого;
- DynamicTrailingStopDelta, DynamicTrailingStopStep, параметры для DynamicTrailingStop'а, когда значение прибыли равно или превысило значение DynamicTrailingStopEnd.

Примечание: для параметров DynamicTrailingStopStart, DynamicTrailingStopEnd, DynamicTrailingStopDelta, DynamicTrailingStopStep нужно вводить целое число, которое умножается на величину, равную одному пункту.

Дополнительные настройки:
- DebugTrade, отладка торговли (во вкладку терминала "Журнал" выводятся сообщения, касающиеся торговых операций, которые совершает советник);
- Color_Buy, Color_Sell, цвета для меток и линий от торговых операций (для Buy- и Sell-ордеров соответственно);
- TrailingTest, true - функция включена и служит для тестирования различных режимов советника в тестере стратегий (в рынке всегда находится один ордер, который открывается в зависимости от характера предыдущего бара: Buy открывается, если предыдущая свеча бычья, Sell - если медвежья), false - функцию выключена;
- TrailingTestStopLoss, уровень StopLoss'а для тестовых сделок;
- TrailingTestTakeProfit, уровень TakeProfit'а для тестовых сделок;

Просьба в дальнейшем данный советник обсуждать здесь.

С уважением, Максим З..

slos
12-18-2013, 07:21 PM
Итого:
Добился на тесте используя режим визуализации нужных более-менее пока мне результатов трала:
http://forum.fxopen.ru/showthread.php?92844-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-FXOpen-BullsVsBears&p=1738821&viewfull=1#post1738821
(И несколько последующих сообщений после)
Но на реале пока сделку не подхватил
http://forum.fxopen.ru/showthread.php?92844-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-FXOpen-BullsVsBears&p=1739086&viewfull=1#post1739086

Сет пока следующий:

Для визуального удобства его параметры на текущий момент - следующие:
Symb= "";
Magic=0;
CorrectError130=true;
AddAtStopLevel=3 (величина спреда);
BreakevenStopEnable=true;
BreakevenStopDelta=10;
TrailingStopEnable=false;
TrailingStopStart=10;
TrailingStopDelta=10;
TrailingStopStep=1;
DynamicTrailingStopEnable=true;
DynamicTrailingStopStart=15;
DynamicTrailingStopEnd=80;
DynamicTrailingStopKoef=0.7;
DynamicTrailingStopRound=0;
DynamicTrailingStopDelta=55;
DynamicTrailingStopStep=1;
s10="Дополнительные настройки:"; DebugTrade=true;"

- - - Добавлено - - -


p.s. Внес изменения в настройки и заменил сет. Убрал выдержки из журнала и эксперта как больше неактуальные.

MaxZ
12-19-2013, 06:28 AM
Сет пока следующий:
37281
Для визуального удобства его параметры на текущий момент - следующие:
Symb=""; Magic=1;
CorrectError130=true;
AddAtStopLevel=10;
BreakevenStopEnable=true;
BreakevenStopDelta=10;
TrailingStopEnable=false;
TrailingStopStart=10;
TrailingStopDelta=0;
TrailingStopStep=1;
DynamicTrailingStopEnable=true;
DynamicTrailingStopStart=15;
DynamicTrailingStopEnd=80;
DynamicTrailingStopKoef=0.7;
DynamicTrailingStopRound=0;
DynamicTrailingStopDelta=0;
DynamicTrailingStopStep=1;
s10="Дополнительные настройки:"; DebugTrade=true;"

Здравствуйте! Благодарю за небольшой отчёт от Вас! :)

Двух моментов только не пойму. Зачем Вам такое большое значение AddAtStopLevel (в приведённом выше сете оно равно 10) и почему у Вас DynamicTrailingStopDelta равен 0!?

По поводу второго (и также этот пример пояснит первое): когда уровень прибыли у Вас будет равен или превысит значение DynamicTrailingStopEnd (в данном случае 80), динамический TrailingStop отключается и советник начинает сопровождать ордер классическим TrailingStop'ом на расстоянии DynamicTrailingStopDelta. У Вас же получается, что 0 будет всегда меньше StopLevel'а и эта величина примет значение: StopLevel + AddAtStopLevel. Считаем дальше: максимальный динамический размер TrailingStop'а: 79*0.7 = 55,3 пунктов, а после прохождения уровня прибыли отметки DynamicTrailingStopEnd оно сократится до StopLevel + 10 (величина AddAtStopLevel).

- - - Добавлено - - -


Но на реале пока сделку не подхватил
http://forum.fxopen.ru/showthread.php?92844-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-FXOpen-BullsVsBears&p=1739086&viewfull=1#post1739086

Ответил Вам здесь (forum.fxopen.ru/showthread.php?92844&p=1739449#post1739449). Но желательно бы по темам не расплетаться. Старайтесь все вопросы, касаемые динамического TrailingStop'а оставлять в этой теме! ;)

slos
12-19-2013, 04:27 PM
Спс. теперь кое-что понял. Я поначалу вообще не понял зачем нужна DynamicTrailingStopDelta поэтому и оставил ее значение "0" Изменим. Подумаем насколько, к пхоримеру:
Насколько правильноя понял, если рост DynamicTrailingStop остановиться примерно на уровне 55 пп и для того чтобы stoploss дальше отставал от уровня достигнутого профита на расттоянии этих 55 пп, то и DynamicTrailingStopDelta должна быть 55 пп (?)
Можно в принципе и сократить эти 55 пп или наоборот увеличить. Но это уже варианты. Главное что я понял теперь для чего DynamicTrailingStopDelta нужна (это постоянная величина последнего TrailingStop после завершения роста DynamicTrailingStop и взамен его (имхо))
(С остальным разберусь и отвечу позже. Пока не все понятно (StopLevel - это переменная величина на уровне текущего StopLos? А AddAtStopLevel - это не что иное как др. словами DeltaStopLos? Тогда все становится ясно что к чему, если я все конечно правильно понял. И AddAtStopLevel можно выставить к примеру на величину спреда для той или иной валютной пары (имхо):sm23:.
День рождения дочи не сегодня а в субботу, но супруга в панике уже сейчас):sm55:

MaxZ
12-21-2013, 03:41 PM
Спс. теперь кое-что понял. Я поначалу вообще не понял зачем нужна DynamicTrailingStopDelta поэтому и оставил ее значение "0" Изменим. Подумаем насколько, к пхоримеру:
Насколько правильноя понял, если рост DynamicTrailingStop остановиться примерно на уровне 55 пп и для того чтобы stoploss дальше отставал от уровня достигнутого профита на расттоянии этих 55 пп, то и DynamicTrailingStopDelta должна быть 55 пп (?)

Да, Вы правильно всё поняли. И это даже видно по сету, которые Вы выложили для советника FXOpen.BullsVsBears.v3 здесь (forum.fxopen.ru/showthread.php?92844&p=1741941#post1741941)! ;)

Мне показалось, что данная переменная добавит некоторой гибкости в настройки DynamicTrailing'а.

slos
12-26-2013, 07:16 PM
Привожу интересный на мой взгляд текущий практический пример использования и работы данного динамического трала.
Интересен он для меня в первую очередь примером того, как примерно в одной точке входа сходятся совершенно разные торговые методики и стратегии (имхо) Специально к этому конечно не стремился, но потом уже анализируя - заметил.
Первоначально из вот этих соображений http://forum.fxopen.ru/showthread.php?91373-%D0%9E%D1%82%D0%B4%D0%B0%D0%BC-%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%B8%D0%BB%D0%B8-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B7%D0%B0-%D0%B8%D0%B4%D0%B5%D1%8E&p=1743041&viewfull=1#post1743041 Я поначалу просто выставил отложенные стоповые ордера на пробой противоположных экстремумов предыдущего дневного бара. Не совсем конечно поступил правильно т.к. по-идее предпоследний бар является по сути внутренним к дневному бару от 18.12. Но в данном случае я не стал ждать выхода из его диапазона т.к. обкатываю не совсем эту методику а динамический трал и ждать еще несколько суток посчитал лишним (имхо).
Нижний же SellStop так же потом не совсем по правилам данной ТС (но так же используя один из любимых мною в прошлом торговых приемов) и опять же с целью плотнее и чаще обкатать возможности трала, я в последующем торговом процессе подтягивал вслед за ценой двигаясь за ней на более менее безопасном расстоянии по краткосрочным ценовым экстремумам на меньших ТФ.
37757
Когда BuyStop открылся - начал оглядываться в поисках подтверждений и обнаружил следующие моменты:
а) дополнительный подтверждающий примерно в этот момент часового стохастика из вот этой стратегии http://forum.fxopen.ru/showthread.php?91373-%D0%9E%D1%82%D0%B4%D0%B0%D0%BC-%D1%81%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-%D0%B8%D0%BD%D0%B4%D0%B8%D0%BA%D0%B0%D1%82%D0%BE%D1%80-%D0%B8%D0%BB%D0%B8-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B7%D0%B0-%D0%B8%D0%B4%D0%B5%D1%8E&p=1732232&viewfull=1#post1732232 (Кстати из нее более упрощенная ТС на основе которой первоначально отложенные ордера были выставлены и взята)
37758
Далее нашел подтверждение из недавно найденной мною на просторах инета вот этой своеобразной ТС, которую я приводил в пример в частности здесь http://forum.fxopen.ru/showthread.php?97105-%D0%A2%D0%BE%D1%80%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9-%D0%A5%D0%B0%D0%BE%D1%81&p=1732310&viewfull=1#post1732310
На 4-х часовом графике мы видим предварительный сигнал на покупку в виде зеленой стрелочки и как раз примерно в нашей точке входа нижние индикаторы уже вторыми барами вышли в верхнюю положительную зону покупок. (Пока они были в отрицательной зоне, данную стрелку я лично рассматривал пока еще как сигнал "Стоп предыдущим продажам!) (имхо)
37759
В настоящий момент открытый ордер подхвачен тестируемым мною, выложенным в данной ветке динамическим тралом и в настоящий момент находится в заслуженном безубытке!:sm46:
Можно конечно постараться и найти подтверждения и по другим торговым идеям. Но пока и этого думаю достаточно, для того, чтобы понять, что в общем то "Все дороги ведут в Рим", несмотря на то, что каждый из нас ищет свою дорогу к профиту!:smile309::banned::(:smile26::SOS::smile21::smile242::mad: :стены: :smile47::smile147:
Всем профитов, как текущих, так и грядущих!
Благодарю за внимание! :smile32:

slos
12-27-2013, 06:21 PM
p,s, Итого 170 пп профита.
37797

Mik 2806
12-28-2013, 05:20 PM
p,s, Итого 170 пп профита...
Рез во:smile9: Но я скептик. Нужна статистика, а ее можно получить только на визуализаторе (тренажере). Так, что видимо судьба у тебя такая, вновь идти в поход:sm46:

slos
12-29-2013, 07:02 AM
Согласен насчет статистики и насчет тренажера (хотя я так с ним и не подружился до сих пор). Но данный пример я привел не в качестве рекламы ТС на пробой суточных диапазонов а в качестве возможностей трала, который мне нравится все больше и больше . У него широкое поле применения. И думаю, благодаря своей универсальности, он способен дополнить и украсить любой тип торговли (имхо):sm46:
p.s. К примеру эту http://forum.fxopen.ru/showthread.php?93198-%D0%A1%D0%BE%D0%B2%D0%B5%D1%82%D0%BD%D0%B8%D0%BA-FXOpen-Martini&p=1750938&viewfull=1#post1750938

Mik 2806
01-13-2014, 11:52 AM
Итого:
Добился на тесте используя режим визуализации нужных более-менее пока мне результатов трала:

Всем привет! Разбираюсь с тралом и никак не могу врубиться, как ты видел трал на визуале. Чтобы видеть нужен открытый ордер да еще в плюсе:smile23: Если вручную открывал- то как поделись опытом, плиз

slos
01-13-2014, 04:54 PM
В настройках трала есть режим Traling Test Поставь там вместо false - true Он тогда на тесте сам открывает какие то свои тестовые сделки. Не забудь на реале поставить обратно false.

Mik 2806
01-13-2014, 06:01 PM
В настройках трала есть режим Traling Test Поставь там вместо false - true Он тогда на тесте сам открывает какие то свои тестовые сделки. Не забудь на реале поставить обратно false.
Спасибо! Вот блин:smile43: Счас и Макс мне выскажет пару "добрых" слов. Ведь ясно написано в мануале, а я....

slos
01-15-2014, 08:32 AM
Опять "клюет"!:sm34:
38941
:smile147: