[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 298

 
TheXpert:
Убрать зацикливание и настучать по рукам кодеру :)
Где и как это прописано в коде? Что, именно, убрать?
 
yosuf:
Где и как это прописано в коде? Что, именно, убрать?
На фейсе это написано того, кто писал советник. Вы же не сами его писали?
 
granit77:
На фейсе это написано того, кто писал советник. Вы же не сами его писали?

Кто с пятёркой дружен - гляньте, плз... - индик не пашет на пятёрке. На четвёрке - вопросов нет.

Готовлюсь к Чемпу - времени до старта всё меньше...

Благодарю.

 
GarKain:
почему не работает закрытие ордера?


if (OrdersTotal()>0){
for(int g=OrdersTotal()-1; g>=0; g--){
OrderSelect(g,SELECT_BY_POS);
if (OrderMagicNumber()==2563 && OrderType()==OP_BUY){
if (Open[0]<=Low[steploss]){
OrderClose(g,1,Bid,3,Red);
return(0);
}
if (GradusEDBuy==true){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
if (OrderMagicNumber()==2563 && OrderType()==OP_SELL){
if (Open[0]>=High[steploss]){
OrderClose(g,1,Ask,3,Red);
return(0);
}
if (GradusEDSell==true){
OrderClose(g,1,Bid,3,Red);
return(0);
}
}
}
функции OrderClose требуется уникальный номер ticket ордера, а не его номер в списке открытых ордеров
 
GarKain:
почему не работает закрытие ордера?

...

Попробуйте на вкус такую конструкцию. Сравните с тем, что у вас было и сами найдите отличия. Кстати при закрытии у вас слипадж стоит 3, это для 4-значных котировок. Если 5-значные то ставьте 30.

if (OrdersTotal()>0
{  //--- 1 start
   for(int g=OrdersTotal()-1; g>=0; g--)
   {  //--- 2 start
      if OrderSelect(g,SELECT_BY_POS,MODE_TRADES);
      {  //--- 3 start
         if (OrderMagicNumber()==2563 && OrderType()==OP_BUY)
         {  //--- 4.a start
            if (Open[0]<=Low[steploss] || GradusEDBuy==true)
            {  RefreshRates();
               OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);
               return(0);
            }
         } //--- 4.a end
         if (OrderMagicNumber()==2563 && OrderType()==OP_SELL)
         {  //--- 4.b start
            if (Open[0]>=High[steploss] || GradusEDSell==true)
            {  RefreshRates();
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);
               return(0);
            }
         } //--- 4.b end
      } //--- 3 end
   }  //--- 2 end
}  //--- 1 end
 

Помогите !

как научить советник не закрывать чужие ордера?


Заранее благодарен

 
Ale-xander:

Помогите !

как научить советник не закрывать чужие ордера?


Заранее благодарен

Напишите чем чужие ордера отличаются от ваших. Варианты зависят от этого отличия. Универсальный вариант - это ваши ордера открывать с магик-номеров, а затем фильтровать ордера по этому номеру.
 

Подскажите где можно скачать МТ4 с пятизначными котировками?

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

Ale-xander Вставляйте нужный магик в функцию OrderSend()