Как заменить OrdersTotal() ?

 

По определению OrdersTotal () определяет общее количество открытых и отложенных ордеров.

Как можно определить открытые и отложенные SELL/BUY ордера?

(отдельно - SELL, отдельно - BUY)

 
Gusarow:

По определению OrdersTotal () определяет общее количество открытых и отложенных ордеров.


Как можно определить открытые и отложенные SELL/BUY ордера?


(отдельно - SELL, отдельно - BUY)



Щас код напишу, тока придумаю -дай минут 5-10!!!
 
int b=0,s=0,c;
c=OrdersTotal();
while(c>0)
{
OrderSelect(c-1,SELECT_BY_POS,MODE_TRADES);
c=c-1;
if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP){b=b+1;}
if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP){s=s+1;}
 
Ну как? Помог?
 

Пока не очень.

Но уменя другая проблема: скачал советник, а он не запускается. Причем при компиляции ошибок -"0"

 

как прикрепить файл?

 
Gusarow:

как прикрепить файл?



После поля ввода текста сообщения, в самом низу страницы.
 

Если есть открытая позиция, например OP_SELL, то по OrderOpenPrice() можно определить цену открытия.
А наоборот?

Если есть цена, например EUR/USD 1,3623, то как узнать:
- есть ли по этой цене открытый ордер (например OP_SELL) или отложенная позиция (например OP_SELLSTOP);
- если есть, то хорошо, а если нет, то поставить, например OP_SELLSTOP.

 
Gusarow:

Если есть открытая позиция, например OP_SELL, то по OrderOpenPrice() можно определить цену открытия.
А наоборот?

Если есть цена, например EUR/USD 1,3623, то как узнать:
- есть ли по этой цене открытый ордер (например OP_SELL) или отложенная позиция (например OP_SELLSTOP);
- если есть, то хорошо, а если нет, то поставить, например OP_SELLSTOP.

Перебирать все открытые ордера и сравнивать их цену открытия с необходимым значением.
Если после полного перебора ни один ордер не найден, устанавливаем новый.
 

Подскажите, как организуются циклы в MQL4 и взаимные переадресации внутри программы.

Если выше каждой OP_Buy или OP_Sell должен быть OP_BUYSTOP или OP_BUY,

а ниже каждой OP_Buy или OP_Sell должен быть OP_SELLSTOP или OP_SELL.

Причина обращения: