Скачать MetaTrader 5

достаточно ли свободной маржи

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Подключи MQL5 Cloud Network. Увеличивай свой рейтинг!
Ekaterina Babaeva
1749
Ekaterina Babaeva 2016.04.05 18:00 

Привет всем,помогите решить задачку

//--- Проверяем: достаточно ли свободной маржи? ---//
   int type=0;
   
   if(pType==OP_BUY||pType==OP_BUYSTOP||pType==OP_BUYLIMIT)
    type=OP_BUY;else
   if(pType==OP_SELL||pType==OP_SELLSTOP||pType==OP_SELLLIMIT)
    type=OP_SELL; 
    
   if(AccountFreeMarginCheck(Symbol(),type,pLots)<=0.0 || GetLastError ()==134)
   
   {
    
     Print("We have no money. Free Margin = ",DoubleToString(AccountFreeMargin(),2));
    return(-1); 
    } 
       
//--- Конец проверки ---// 

 картинка 

один ордер выдаёт 2 сообщения одно  ненужное  Error 134,как его убрать или заменить на другое сообщение  ?

Alexey Volchanskiy
16673
Alexey Volchanskiy 2016.04.05 18:28  
Ekaterina Babaeva:

Привет всем,помогите решить задачку

  

один ордер выдаёт 2 сообщения одно  ненужное  Error 134,как его убрать или заменить на другое сообщение  ?

Error 134 - это служебное, его не уберешь
Alexey Volchanskiy
16673
Alexey Volchanskiy 2016.04.05 18:42  
Ekaterina Babaeva:

Привет всем,помогите решить задачку

  

один ордер выдаёт 2 сообщения одно  ненужное  Error 134,как его убрать или заменить на другое сообщение  ?

Вы где-то получаете 134 и потом не сбрасываете ошибку, она так и висит всю программу, надо вот так  

ResetLastError();
if(AccountFreeMarginCheck(Symbol(),type,pLots)<=0.0 || GetLastError ()==134)
модераторы, форум поломался и режет вставку кода, пришлось еще одну сделать !!!
Ekaterina Babaeva
1749
Ekaterina Babaeva 2016.04.05 18:50  
Alexey Volchanskiy:

Вы где-то получаете 134 и потом не сбрасываете ошибку, она так и висит всю программу, надо вот так  

теперь сообщение error 0,  это сообщение убрать какнибудь
Alexey Volchanskiy
16673
Alexey Volchanskiy 2016.04.05 18:55  
Ekaterina Babaeva:
теперь сообщение error 0,  это сообщение убрать какнибудь

А где вы это сообщение получаете? Дело в том, что оно определено, как отсутствие ошибки

 

#define ERR_NO_ERROR 0

.

Ekaterina Babaeva
1749
Ekaterina Babaeva 2016.04.06 05:48  
Alexey Volchanskiy:

А где вы это сообщение получаете? Дело в том, что оно определено, как отсутствие ошибки

 

.

Всем спасибо я сама разобралась, проблема была не проверке маржи, а в самом коде советника 
George Merts
3609
George Merts 2016.04.06 06:51  
Ekaterina Babaeva:
Всем спасибо я сама разобралась, проблема была не проверке маржи, а в самом коде советника 
Не женское это дело - в коде советника разбираться !  Попросила - и кавалер разобрался...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий