Boris54
ПенSионер

 
Уровень 18

  Торгую в компаниях:


Группа "Стол заказов MQL"

Рейтинг 2146



РЕКОМЕНДУЮ



Советник перевертыш, лот увеличивается арифметически

Прошу сделать советник- перевертыш. Торговля внутри дня!
t1 — начало торговли,
t2 -окончание торговли, внутри дня.
Lot1 -размер лота для бай стоп и селлстоп.
LotD -добавка к Lot1 для дальнейших шагов ( поясню в примере).
В — расстояние от текущей цены до отложенного ордера.
i — количество шагов.
Советник для МТ4, 5 знаков после запятой.
Во время t1 — цена 1. На расстоянии В от цены1 выставляются бай стоп и селл стоп (с учетом спреда): цена1+В для бай стоп и цена1-В для селл стоп. Размер лота Lot1.
При срабатывании одного ордера – второй удаляется.
Эту часть вы уже делали ранее
zakaz.opentraders.ru/98749.html
Если получили профит — торговля на сегодня закончена.
Если получили стоп-лосс открывается ордер в противоположном направлении с размером лота Lot2 =Lot1 +LotD
Если получили профит — торговля на сегодня закончена.
Если получили стоп-лосс открывается ордер в противоположном направлении с размером лота Lot3 =Lot1 +2*LotD
И так далее Loti =Lot1 +(i-1)*LotD Где i — параметр советника.
Во время t2 удаляются отложенные ордера, если такие имеются и закрывается открытый ордер, если такой имеется.
  • 0
  • Просмотров: 1536
  • 8 марта 2023, 08:15
  • Boris54
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
советник на трех индикаторах индикаторах
Следующая запись в группе  
Портфельный генетический советник MT5
07 марта 2023
08 марта 2023

Брокер для ваших роботов, 15 лет на рынке

Комментарии (10)

+
0
Пример: во время t1 выставлен байстоп и селлстоп, размер лота Lot1. Сработал байстоп. Удален селлстоп.
Байстоп закрылся по стоплоссу. В этот же момент открылся Селл с размером лота Lot2 =Lot1 +LotD
Закрылся по стоплоссу. В этот же момент открылся Бай с размером лота Lot3 =Lot1 +2*LotD
И так далее: либо до достижения Профита, либо до шага i.
Торговля внутри дня. Только одна серия из переворотов.
avatar

  18  Boris54 Автор Сообщений: 810 - ПенSионер

  • 8 марта 2023, 08:21
+
0
на 20-е
avatar

  35  AM2 Сообщений: 16282 - Андрей

  • 8 марта 2023, 13:46
+
0
avatar

  35  AM2 Сообщений: 16282 - Андрей

  • 14 марта 2023, 01:24
+
0
Я предполагал, что количество шагов i — это будет параметр советника.
Прошу либо вывести в параметры -количество шагов i.
Либо сделать максимум 2 шага. Что проще?
То есть в худшем варианте-
во время t1 выставлен байстоп и селлстоп, размер лота Lot1. Сработал байстоп. Удален селлстоп.
Байстоп закрылся по стоплоссу. В этот же момент открылся Селл с размером лота Lot2 =Lot1 +LotD
Закрылся по стоплоссу. Конец торговли.
avatar

  18  Boris54 Автор Сообщений: 810 - ПенSионер

  • 14 марта 2023, 14:50
+
0
Спасибо. Буду тестировать.
avatar

  18  Boris54 Автор Сообщений: 810 - ПенSионер

  • 14 марта 2023, 04:07
+
0
Как вариант можно пропорционально с увеличением лота уменьшать расстояние до тейкпрофита. Если первый ордер сработал и позиция закрылась положительно-то торговля в эти сутки закончилась. Если нет, то следующая позиция открывается увеличенным лотом, но с более коротким тейкпрофитом.

L1*TP1=L2*(TP2+2*спред).
Т.е. выводим сегоднящнюю торговлю в ноль.
avatar

  16  ssg Сообщений: 817

  • 14 марта 2023, 05:32
+
0
Спасибо. Попробую руками менять ТП. Доработку закажу в апреле.
avatar

  18  Boris54 Автор Сообщений: 810 - ПенSионер

  • 14 марта 2023, 14:08
+
0
Посмотрите это
zakaz.opentraders.ru/53311.html

Мартингейл в течении торговых суток.
avatar

  16  ssg Сообщений: 817

  • 14 марта 2023, 17:55
+
0
Спасибо. Профит стабильный?
avatar

  18  Boris54 Автор Сообщений: 810 - ПенSионер

  • 14 марта 2023, 18:26
+
+1
Это было пару лет назад. Но помню профита было больше. Я там немного переделал код. У Андрея было не по стратегии.
Если интересно, то можете удалить функцию

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()

из советника Андрея, а добавит эти две

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutOrder_(int type,double price)
{
int r=0;
color clr=Green;
double sl=0,tp=0;

if(type==1 || type==3 || type==5)
{
clr=Red;
if(StopLoss>0)
sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
}

if(type==0 || type==2 || type==4)
{
clr=Blue;
if(StopLoss>0)
sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
}

r=OrderSend(NULL,type,Lots,NormalizeDouble(price,_Digits),Slip,sl,tp,"",Magic,0,clr);
return;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   if(TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()))
     {
      double op=iOpen(NULL,PERIOD_D1,1);
      double cl=iClose(NULL,PERIOD_D1,1);

      // открытие в начале дня

      if(TimeCurrent()==StringToTime((string)StartHour+":"+(string)StartMin) && CountTrades()<1)
        {
         if(cl>op)
           {
            PutOrder_(0,Ask);
           }

         if(cl<op)
           {
            PutOrder_(1,Bid);
           }
        }

      // после лося

      if(LastDealResult()==2 && DayLosses()<3 && CountTrades()<1)
        {
         if(LastDealType()==1)
           {
            PutOrder(0,Ask);
           }

         if(LastDealType()==0)
           {
            PutOrder(1,Bid);
           }
        }
     }

   if(!TimeSession(StartHour,StartMin,EndHour,EndMin,TimeCurrent()) && CloseOn>0)
      CloseAll(-1);

   Comment("\n Day Losses: ",DayLosses(),
           "\n Last Deal Type: ",LastDealType(),
           "\n Last Deal Result: ",LastDealResult());
  }
//+------------------------------------------------------------------+


Теперь каждые сутки первая сделка постоянным минимальным лотом.
avatar

  16  ssg Сообщений: 817

  • 14 марта 2023, 18:43

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий