Скачать MetaTrader 5

Цикл проверки наличия ордера

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
prt
369
prt  

Здравствуйте. нужен совет.

Имеется цикл проверки наличия открытого ордера задача которого не продолжать программу при его наличии... ордер сенд присваивает значения тикета

Если ордера нету продолжаем... проверку if

int suma_pos = 0;
   
   for (int pos=0; pos<OrdersTotal(); pos ++)
      OrderSelect (pos, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic){
            suma_pos ++; Print ("suma_pos = ", suma_pos);
            return;}
            
   
            
   if(suma_pos==0 продолжаем проверку для открытия
Sergey Dzyublik
5111
Sergey Dzyublik  

уважаемый начните изучать документацию и учебник

сложно понять что вы конкретно хотите

как-то так должно быть, если нужно без отложенных вставте еще конструкцию &&((OrderType()== OP_BUY)||(OrderType()== OP_Sell))

for (int pos=0; pos<=OrdersTotal()-1; pos ++) 
{
 if(OrderSelect (pos, SELECT_BY_POS)==true)
  {if (OrderSymbol()==Symbol()&&OrderMagicNumber()==Magic &&OrderCloseTime()==0) // если у Вас есть отложенные ордера и открытие
  return;}
 else
  Print("OrderSelect() вернул ошибку - ",GetLastError());
}            
 //продолжаем 
ktest0
631
ktest0  
ALXIMIKS:

уважаемый начните изучать документацию и учебник

сложно понять что вы конкретно хотите

...


Зачем такая агрессия? Заметил вы очень склонны к грубости... Вам здесь должны или нижайше просят лично вашей помощи?

Переспросите и помогите, если желаете, а если что-то "не по вашему" - не нужно лаять на людей....

Artyom Trishkin
Модератор
80243
Artyom Trishkin  
ktest0:


Зачем такая агрессия? Заметил вы очень склонны к грубости... Вам здесь должны или нижайше просят лично вашей помощи?

Переспросите и помогите, если желаете, а если что-то "не по вашему" - не нужно лаять на людей....

+
Artyom Trishkin
Модератор
80243
Artyom Trishkin  
Profit777:

Здравствуйте. нужен совет.

Имеется цикл проверки наличия открытого ордера задача которого не продолжать программу при его наличии... ордер сенд присваивает значения тикета

Если ордера нету продолжаем... проверку if

Наличие ордера какого типа вам нужно определить? А вообще-то можно в функции пройтись в цикле по всем открытым ордерам/позициям и при встрече первой соответствующей критерию отбора вернуть true. После всего цикла возвращается false
Vladimir Perervenko
2398
Vladimir Perervenko  

Более простой путь-> Скачайте библиотеки Кима (KimIV), если нужно доработайте и не теряйте время на изобретение велосипеда. Если только не стоит задача досконально изучить язык.

Удачи

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