Скачать MetaTrader 5

MQL4 OrderSend Error 130

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

Всем привет! Получаю эту ошибку при открытии отложенных ордеров советником, на реальном счёте... установил условия возникновения, со стоп уровнями всё в порядке, с ценой открытия тоже... однако, если инструмент `скрыт` (в обзоре рынка), то собственно error 130!
Скажите, пожалуйста - это так и задумано или я что-то упустил...?

ПС: перед открытием проверяю символ : MarketInfo(mySymbol, MODE_TRADEALLOWED) - всё ок!

MT4 4.00 build 988 (4 Jul 2016)

Vitaly Muzichenko
4375
Vitaly Muzichenko  

Попробуйте так, раньше работало

 double ask=MarketInfo(mySymbol,MODE_ASK);
 double bid=MarketInfo(mySymbol,MODE_BID);
    if(ask==0 && bid==0) {
     Alert("Нет символа в обзоре рынка: ", mySymbol, GetLastError());
    }
Artyom Trishkin
Модератор
80137
Artyom Trishkin  
Matvey Alekseev:

Всем привет! Получаю эту ошибку при открытии отложенных ордеров советником, на реальном счёте... установил условия возникновения, со стоп уровнями всё в порядке, с ценой открытия тоже... однако, если инструмент `скрыт` (в обзоре рынка), то собственно error 130!
Скажите, пожалуйста - это так и задумано или я что-то упустил...?

ПС: перед открытием проверяю символ : MarketInfo(mySymbol, MODE_TRADEALLOWED) - всё ок!

MT4 4.00 build 988 (4 Jul 2016)

Для того, чтобы можно было торговать на символе, он должен находиться в обзоре рынка.
Sergei Vladimirov
9124
Sergei Vladimirov  

Хм... Отсутствие символа в Обзоре приводит к ошибке 3, а не 130. Что-то вы не договариваете. 

А проверить наличие символа в Обзоре - примерно так:

bool CheckSymbol(const string sSymbol)
{
        if(SymbolInfoInteger(sSymbol, SYMBOL_VISIBLE) == false)
        {
                if(SymbolSelect(sSymbol, true) == false)
                        return(false);
        }
        
        return(true);
}
Matvey Alekseev
546
Matvey Alekseev  
Artyom Trishkin:
Для того, чтобы можно было торговать на символе, он должен находиться в обзоре рынка.
Только непонятно зачем....

Sergei Vladimirov:

Хм... Отсутствие символа в Обзоре приводит к ошибке 3, а не 130. Что-то вы не договариваете. 

А проверить наличие символа в Обзоре - примерно так:

Да нет.. 130 пишет (string)GetLastError() ... 2016.08.22 21:13:23.917 expert FDAX,M1: Order send error: 130, Symbol: XAUUSD; Lots: 0.01; Price: 1340.05; SL: 0; TP: 0

 

Vitaly Muzichenko:

Попробуйте так, раньше работало

Спасибо!

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