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

[Советник] HedgeOnSteroids


Rigal

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

[Советник] HedgeOnSteroids Опубликовано (изменено)

Название советника:  Hedge On Steroids
Год выпуска: 2019
Актуальная версия: GLXMultiSession_v.5.0

Терминал: MT4 (build 1220+)
Сайт разработки: http://tradelikeapro.ru/
Рекомендуемые валютные пары: EURUSD
Таймфрейм: M1, M5
Время торговли: Круглосуточно
Рекомендуемый ММ: 0.13 лота на 10000$
Описание настроек:

 

 

 

Я не буду задерживаться на тривиальных настройках, вроде маджика и коммента

input int            MagicNumber                = 123321;
input string         CommentStr                 = "Hedge On Steroids";

 

input double         StartLot                   = 0.0;                                       //Start lot (0 - automatic)

Стартовый лот, если вы почему-то хотите указать его вручную. Если оставить 0, советник рассчитает сперва лимит потерь в сессии, как четверть доступных средств.

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

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

Расчет выполняется на старте сессии, стартовый лот сохраняется постоянно до следующей сессии - если вы не перезапустите советник/терминал.
Рекомендуемое значение 0.


input int            LotIncrement_CountToStart              = 5;                             //Count to start incrementing

Советник увеличивает лот во время торговли. Но начинает не сразу. Этот параметр определяет, сколько сделок в одном направлении будет открыто без увеличения лота.

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

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

Рекомендуемое значение 20.


input double         LotIncrement_Factor                    = 1.5;                           //Increment factor (per 1 order or 100 pips)

Множитель лота. Лот очередной сделки будет вычислен, как стартовый, умноженный на вот это число в степени числа сделок в рынке за вычетом предыдущего параметра.

Рекомендуемое значение 1.05


input double         LotIncrement_IncrementPercent          = 100;                           //Increment, %from start lot (per 1 order or 100 pips)

Более мягкий способ увеличения лота: на каждом следующем шаге к лоту прибавляется столько процентов от стартового лота

Работает вместе с множителем: умножили и потом прибавили.

Рекомендуемое значение 0 (можно оптимизировать)


input double         TakeProfitPips             = 0;                                         //Take profit, pips (0 - use adaptive)

Если вам почему-то кажется, что вам лучше знать, чем ATR, можно задать фиксированный тейк этим параметром.

Если оставить ноль, он вычислится по ATR M15. Собственно, рекомендуется.


input int            MaxTrades                  = 200;

Максимальное количество сделок, которые советник может открыть одновременно.

На самом деле ограничивается лимитом убытка.

Этот же параметр используется для расчета лота на старте - пока статистики нет.

Рекомендуемое значение 100.


input int            MaxDisbalancePerBar        = 5;

На каждом баре советник может открываться и в бай и в сел многократно - зависит от величины бара и волатильности.

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

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

Речь идет не о баре, как таковом, а о периоде длительностью в бар, от текущего времени.

Рекомендуемое значение 3-5.


input double         MaxSessionLossLimit        = 5000;

Как я уже сказал, лимит потерь вычисляется как четверть эквити.

Чтобы он не целился сливать уже накошенные миллионы по 250 косарей, можно ограничить размер лимита.

Имейте в виду, что цель сессии всегда равна 10% от лимита потерь (и может немного усыхать временами, под неблагоприятный ATR)


input int            CooldownMinutes            = 60;

Время отдыха между сессиями.

У меня получались хорошие результаты для отдыха в 120 минут.


input double         MaxAvgSpreadPips           = 0.3;

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

Рекомендуемое значение 0.25.


input int            SpreadAveragingTickCount   = 400;

Сколько тиков использовать в усреднении спреда

Рекомендуемое значение 200.

 

Всем, я надеюсь, знакомый фильтр новостей.

input string            _22_                       = "<==== News Filter ====>"; //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  
extern bool             UseNewsFilter               = true;            //Use a news filter
input bool              ConsiderHighImpactNews      = true;             //Show High impact news
input bool              ConsiderMediumImpactNews    = true;             //Show Medium impact news
input bool              ConsiderLowImpactNews       = false;            //Show Low impact news
input int               DontStartMinutesBefore      = 120;              //Don't start new session, minutes before the news
input int               DontTradeMinutesAfter       = 30;               //Don't start new session, minutes after the news
input bool              DrawNewsLinesOnTheChart     = true;             //Draw lines on the chart for selected news
input string            NewsSymb                    = "";               //Currencies Filter (Empty Only shows current currencies) 
input color             ColorHigh                   = clrRed;           //High impact news color
input color             ColorMedium                 = clrLime;          //Medium impact news color
input color             ColorLow                    = clrBlue;          //Low impact news color

 

Всем, я надеюсь, в целом знакомый блок настройки времени

Я поясню пару параметров ниже

 

sinput string            _0_                           = "#============= Time settings =============#";//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            _1_                           = "- broker GMT offset will be auto-adjusted -";//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            _2_                           = "-- Set your winter GMT offset for tester --";//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
input int                BrokerGMTOffsetWinter         = 2;                                            //Broker GMT Offset (winter time)

Часовой пояс вашего брокера зимой.

Нужно только в тестере, если у вас указаны интервалы торговли, или если тестируете с новостями

Наживую определяется автоматически - нужно разрешить боту импортировать DLL


sinput DstMode           BrokerDstMode                 = DST_EUROPE;                                   //DST mode of your broker (or in TDS2)

Как ваш брокер переходит на летнее время

Нужно только в тестере, если у вас указаны интервалы торговли, или если тестируете с новостями


sinput string            _3_                           = "----- Trade intervals, comma separated ----"; //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            _4_                           = "----- set time in the London timezone -----";//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            _5_                           = "Format: 'hh:mm-hh:mm', blank for no trading";//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput   string          _7_                           = "<== MONDAY ==>";                             //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            MONDAY_TradeIntervals         = "08:30-17:00";                                //Monday Trade intervals
sinput   string          _8_                           = "<== TUESDAY ==>";                            //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            TUESDAY_TradeIntervals        = "08:30-17:00";                                //Tuesday Trade intervals
sinput   string          _9_                           = "<== WEDNESDAY ==>";                          //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            WEDNESDAY_TradeIntervals      = "08:30-17:00";                                //Wednesday Trade intervals
sinput   string          _10_                          = "<== THURSDAY ==>";                           //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            THURSDAY_TradeIntervals       = "08:30-17:00";                                //Thursday Trade intervals
sinput   string          _11_                          = "<== FRIDAY ==>";                             //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
sinput string            FRIDAY_TradeIntervals         = "";                                           //Friday Trade intervals

 

Все интервалы в GMT

Рекомендуемое время для всех дней с 00:00 до 23:59

В пятницу с 00:00 до 08:00.


В настройках все пункты - 4-хзначные.
Для работы на пятизнаке никаких изменений в сетах не требуется, все считается автоматически.
 

 

 

Описание: 

Исходно советник писался как тестируемая реплика Ассам Хедж Мастер: в отличие от первых версий Ассама, он умел  работать по расписанию, ограничивать потери и сам закрывал прибыль.

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

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

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

Если кому-то хочется глянуть, как он ведет себя в тестере - милости прошу.

Тестировать его можно только на котировках с качеством 99.9, желательно в ТДС, с плавающим спредом - с недавних пор спред является одним из критериев запуска сессии.

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

 

Мониторинг в Роботест

large.jpg

 

HedgeOnSteroids.ex4

HedgeOnSteroids - описание параметров - 20200215.docx

HedgeOnSteroidsGLXMultiSession_v.3.2.ex4 HedgeOnSteroidsGLXMultiSession_v.5.0.ex4

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

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

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

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

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

Версия 2. Изменена логика закрытия: советник выбирает, закрывать Buy или Sell ордера первыми по машке. На экране статистика, которую можно игнорировать - часть работы над более надежным расч

Перейти

Я расточил его немного: - Динамическое определение лимита потерь на сессию. Выбирается, как четверть депозита. Может быть ограничено значением MaxLossLimit - Цель сессии 10% от выбранного ли

Перейти

Обновил версию. Упростил настройки - почти ничего не додумывается автоматически. Ну, разве что максимальная просадка. Добавлен фильтр диапазона последнего часа (минимум и максимум), но толку

Перейти
[Советник] HedgeOnSteroids Опубликовано

Поправил.

Одну машку он использует, уродец. Две другие для красоты, похоже.

Декабрь в тестере:

image.png

Отчет в архиве.

 

HedgeOnSteroids-Dec19.rar

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

[Советник] HedgeOnSteroids Опубликовано

С начала года:

image.png

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

[Советник] HedgeOnSteroids Опубликовано

Погонял с разными интервалами, таргетами и уровнем стопа по эквити.

У него есть очень длинные положительные участки (что, собственно видно на графике выше), но стопы нужны больше таргетов, это понятно - и налетая на них, он сьедает прибыль.

Визуально торгует идентично Азаму. 

Версия в аттаче.

Всем профитов и спокойной ночи.

HedgeOnSteroids_v.1.1.ex4

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

[Советник] HedgeOnSteroids Опубликовано (изменено)

HedgeOnSteroids  закрыл свои два процента. На мухобойке ассар висит пока в просадке, но это, может, оно еще не обновилось? 

UPD:  а вот тоже схлопнулось

пока совпадает с тестером за декабрь:

 

 

TesterGraph.gif

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

[Советник] HedgeOnSteroids Опубликовано (изменено)

Assam не справился с атакой вчера и закрыл лосс.

HedgeOnSteroids (с выключенной функцией закрытия по окончании сессии) закрыл в профит сегодня. Но новую сессию уже не стартовал, это понятно.

Передернул его вручную и поправил условия, чтобы вел позицию после сессии, если не сказано закрыть все.

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

В 13.12.2019 в 19:59, Rigal сказал:

Погонял с разными интервалами, таргетами и уровнем стопа по эквити.

У него есть очень длинные положительные участки (что, собственно видно на графике выше), но стопы нужны больше таргетов, это понятно - и налетая на них, он сьедает прибыль.

Визуально торгует идентично Азаму. 

Начал тестировать в TDS2, но нет стопа и тейка в $ ! По стопу в % картина совсем другая, и судить об работе Азама по таким тестам не получится, и стеройдной версии. 

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

[Советник] HedgeOnSteroids Опубликовано (изменено)
11 минут назад, ostapbender сказал:

но нет стопа и тейка в $ !

Я сам намедни столкнулся с этой проблемой и добавил.

В аттаче. 

Торгует постоянным лотом.

HedgeOnSteroidsOpt.ex4

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

Тест за 2019. @Rigal распишите настройки

 

asa1.jpg

ASAR.ZIP

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

Тест без новогодних недель

 

ASAR2.ZIPasa2.jpg

 

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

[Советник] HedgeOnSteroids Опубликовано

TakeProfit - тейк в 4-хзначных пунктах, основной механизм сборки в нем

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

MaxTrades - сколько сделок открывать всего. Для брокеров с сильно ограниченным количеством сделок (хотя этот друг на таких брокерах плохо работает) - ибо нет никакого способа программно вычислить лимит и, если не ограничить, он будет сыпать ошибкой 148

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

SessionTarget - цель в валюте депозита. Когда эквити отрастет на эту величину, советник закроет все сделки и будет ждать начала следующей торговой сессии.

SessionProtection - стоплосс в валюте депозита. Если эквити просядет на эту величину от уровня начала сессии, все сделки закрываются и он ждет следующей сессии.

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

CloseAllAfterSession - по окончании обозначенного интервала времени закрыть все открытые сделки. Цели сбрасываются, понятно.

С торговым интервалом и сдвигом от лондона, я надеюсь, все понятно.

последние три параметра можно игнорировать: обработка реквот и все вот это вот.

 

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

 

использует глобальные переменные, цели не теряет при перезапуске, no funny business 

 

очень неожиданный результат, дружище. Это на тиковых котировках? Я как раз размышлял, велика ли разница - и судя по всему велика.

А можно с выключенным close all after session? Может оказаться интереснее

 

 

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

[Советник] HedgeOnSteroids Опубликовано

могу добавить фильтр дат, чтобы можно было выкинуть дни, когда вы б не стали торговать - как в сетке. Надо?

пишите, короче, что надо, я прикручу ;)

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

Как в версии 1.1 автолот рассчитывается? Указан лот 0,1, торгует 2,5-3,07 - опасно, но закрыл сегодня +2%. Запустил его ещё раз.

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

4 часа назад, Rigal сказал:

А можно с выключенным close all after session? Может оказаться интереснее

Сделал.

3.JPG

 

4 часа назад, Rigal сказал:

могу добавить фильтр дат, чтобы можно было выкинуть дни, когда вы б не стали торговать - как в сетке. Надо?

пишите, короче, что надо, я прикручу

Фильтр недель НГ точно нужно, чтоб протестировать хотябы за лет 5.

 

Можно добавить выход по БУ через определённое время.

 

 

ASAR3.ZIP

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

Стоит на демо версия 1.1, по 2% прибыли набирает быстро сегодня, включил уже третий раз, поставлю только 10% для теста.

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

[Советник] HedgeOnSteroids Опубликовано

Автолот: там два параметра, StrartLot и AmountDivider

Лот в итоге выставляется = StartLot * (AccountBalance / AmountDivider).

Или поставьте делитель побольше (очень большой - будет постоянный стартовый лот), или на аккаунте много денег :)

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

[Советник] HedgeOnSteroids Опубликовано
1 час назад, ostapbender сказал:

Фильтр недель НГ точно нужно, чтоб протестировать хотябы за лет 5.

 

Можно добавить выход по БУ через определённое время.

Взял в работу

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

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

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

[Советник] HedgeOnSteroids Опубликовано
4 минуты назад, ac_crazy сказал:

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

Об этом я не подумал.

Он до конца сессии сохранит, потом будет использовать новое значение.

Можно зайти в глобальные переменные и удалить все три с префиксом "HedgeOnSteroids" - тогда после перезапуска подхватит сразу.

У меня на подходе версия с несколькими важными усовершенствованиями. Он перестанет учитывать других советников и не будет использовать эквити. Это решит проблему.

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

19 часов назад, Rigal сказал:

Автолот: там два параметра, StrartLot и AmountDivider

Лот в итоге выставляется = StartLot * (AccountBalance / AmountDivider).

Или поставьте делитель побольше (очень большой - будет постоянный стартовый лот), или на аккаунте много денег :)

Все равно с лотом ерунда: startLot=0.02; AccountBalance=10000; AmountDivider=1000. Итого должно получиться 0.02*(10000/1000)=0.2

А в итоге лот равен 1

расчет лота.png

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

10 минут назад, wowa230874 сказал:

Все равно с лотом ерунда: startLot=0.02; AccountBalance=10000; AmountDivider=1000. Итого должно получиться 0.02*(10000/1000)=0.2

А в итоге лот равен 1

расчет лота.png

Тоже мучался с лотом, перешел на версию HedgeOpt - там лот указывается вручную, без вычислений.

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

[Советник] HedgeOnSteroids Опубликовано
9 минут назад, wowa230874 сказал:

Все равно с лотом ерунда

Старовата версия. Баг с пятницей я поймал и запатчил пару дней назад, у меня сегодня молчит.

Вот так выглядело вчера кстати



image.png

А с лотом и правда ерунда. Какой у Вас минимальный лот на брокере, если не секрет? Можно мне лог запуска советника плиз, можно в личку.

Если минимальный лот 0.1, или шаг большой - это могло бы как-то объяснить.

 

В новой версии уберу лот и таргет напрочь, кстати.

От лукавого это. Достаточно определиться риском на сессию в долларах, все остальное рассчитывается.

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

[Советник] HedgeOnSteroids Опубликовано
3 минуты назад, ac_crazy сказал:

перешел на версию HedgeOpt

да, и пятница поправлена

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

3 минуты назад, Rigal сказал:

Старовата версия. Баг с пятницей я поймал и запатчил пару дней назад, у меня сегодня молчит.

Вот так выглядело вчера кстати

 

  Скрыть контент

 

 


image.png
 

 

 

А с лотом и правда ерунда. Какой у Вас минимальный лот на брокере, если не секрет? Можно мне лог запуска советника плиз, можно в личку.

Если минимальный лот 0.1, или шаг большой - это могло бы как-то объяснить.

 

В новой версии уберу лот и таргет напрочь, кстати.

От лукавого это. Достаточно определиться риском на сессию в долларах, все остальное рассчитывается.

Минимальный 0.1 на Робо

 

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

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

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

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

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

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

Войти

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

Войти

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


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

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