Помогите разобраться. - страница 3

 
Yar1k писал(а) >>
Сейчас пытаюсь найти эксперт по алигатору Б.Вильямса, чтоб ордер бай стоп размещал над фракталом выше мувингов(покупка). Неподскажите есть ли такой(или что то наподобие) на форуме, или в библиотеке.

Их много было - загуглите PROFITUNITY.

 

Такая задача:

...никак неполучается запрограмировать этот перенос стопа.

Пробывал так: 

datetime TimeOpen2 = iTime(NULL,0,2);
datetime TimeOrder = OrderOpenTime();

if(OrderType()==OP_SELL)
        {
         
         if(TimeOpen2==TimeOrder)
         OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderOpenPrice(),0,Green); 
                            
        }   

... невыходит. Может поможете?

 
Yar1k писал(а) >>

Такая задача:

...никак неполучается запрограмировать этот перенос стопа.

Пробывал так:

... невыходит. Может поможете?

Это вообще что такое:

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderOpenPrice(),0,Green);

 
vasya_vasya >>:

Это вообще что такое:

OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderOpenPrice(),0,Green);

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

 
Yar1k писал(а) >>

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

А вы не забыли про OrderSelect?

 
vasya_vasya >>:

А вы не забыли про OrderSelect?

Есть ордер селект. Вот полный код функции модификации:

void CheckForCloseAndModifSELL()
  {
   double OpenOrder = OrderOpenPrice();
   datetime TimeOpen1 = iTime(NULL,0,1);
   datetime TimeOpen2 = iTime(NULL,0,2);
   double SAR=iSAR(NULL,PERIOD_D1,0.02,0.2,1);
   datetime TimeOrder = OrderOpenTime();
   
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)  break;
      if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol())  continue;
      if(OrderType()==OP_SELL)
        {
         if(TimeOpen1==TimeOrder && Open[1]<Close[1])
         OrderModify(OrderTicket(),OpenOrder,OpenOrder,OrderTakeProfit(),0,Green);
         if(TimeOpen2==TimeOrder)
         OrderModify(OrderTicket(),OpenOrder,OpenOrder,OrderTakeProfit(),0,Green); 
         if(SAR<OrderOpenPrice())
         OrderModify(OrderTicket(),OpenOrder,SAR,OrderTakeProfit(),0,Green);                   
        }   
     }
  }