Подскажите как советнику проверять позиции на открытие только по своей валютной паре.

 

Здравствуйте, Подскажите пожалуйста как поступить в этой ситуации:

советник прикреплён к нескольким валютным парам, но в его условии на открытие позиции есть такое условие

total=OrdersTotal();

if(total<1) /условие для открытия позиции/

ticket=OrderSend(...)

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

Получается что пока открыта позиция по одной из валютных пар, на других валютных парах открыть позиции нельзя? Если это так, то подскажите как советнику проверять позиции на открытие только по своей валютной паре?

 
himikczl писал(а) >>

Здравствуйте, Подскажите пожалуйста как поступить в этой ситуации:

советник прикреплён к нескольким валютным парам, но в его условии на открытие позиции есть такое условие

total=OrdersTotal();

if(total<1) /условие для открытия позиции/

ticket=OrderSend(...)

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

Получается что пока открыта позиция по одной из валютных пар, на других валютных парах открыть позиции нельзя? Если это так, то подскажите как советнику проверять позиции на открытие только по своей валютной паре?

Вычисляйте кол-во ордеров для каждой используемой валюты. Типа:

total=OrdersTotal();

int totaleuro=0;

for(int i=0;i<total;i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()=='EURUSD') totaleuro++ ;

if (OrderSymbol()=='GBPUSD') totalpound++ ;

....
}
А потом перед открытием проверяйте кол-во поз по конкретной валюте.

if(totaleuro<1)

 
Avals >>:

Вычисляйте кол-во ордеров для каждой используемой валюты. Типа:

total=OrdersTotal();

int totaleuro=0;

for(int i=0;i<total;i++){
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol()=='EURUSD') totaleuro++ ;

if (OrderSymbol()=='GBPUSD') totalpound++ ;

....
}
А потом перед открытием проверяйте кол-во поз по конкретной валюте.

if(totaleuro<1)


Спасибо за совет
Причина обращения: