Boris54
ПенSионер

 
Уровень 19

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


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

Рейтинг 2156



РЕКОМЕНДУЮ



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

Прошу сделать советник- перевертыш. Торговля внутри дня!
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
  • Просмотров: 1646
  • 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  19  Boris54 Автор Сообщений: 820 - Пен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

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