1. Счёт заблокирован
2. Брокером запрещена торговля вообще
3. Брокером запрещена торговля автоматическая
4. Отжата кнопка автоторговли в терминале
5. Снята галочка "Разрешить советнику торговать" в настройках советника/скрипта
6. Может ещё какие причины...
Есть более специфичные функции, позволяющие точнее узнать причину отказа: MQLInfoInteger(MQL_TRADE_ALLOWED), TerminalInfoInteger(TERMINAL_TRADE_ALLOWED), AccountInfoInteger(ACCOUNT_TRADE_EXPERT), AccountInfoInteger(ACCOUNT_TRADE_ALLOWED).
У данной функции есть 2 вариант:
bool IsTradeAllowed();
bool IsTradeAllowed( const string symbol // символ datetime tested_time // время );
Я так понял, первый это проверить можно ли торговать вообще на всех инструментах, а второй на канкретном? Тогда возникает вопрос о надобности второго варианта. Если использовать первый, и получить ответ, что можно. Значит торговать можно. Какой прок с второго варианта?
Если у второго варианта нет явных приемуществ и каких-либо дополнительной пользы, то зачем это канкретика?
У данной функции есть 2 вариант:
Я так понял, первый это проверить можно ли торговать вообще на всех инструментах, а второй на канкретном? Тогда возникает вопрос о надобности второго варианта. Если использовать первый, и получить ответ, что можно. Значит торговать можно. Какой прок с второго варианта?
Если у второго варианта нет явных приемуществ и каких-либо дополнительной пользы, то зачем это канкретика?
У меня после всех представлений:
if(IsTradeAllowed() == True)
{
И всё остальное! Работает! Когда какое-нибудь отключение, советник не посылает ничего на сервер, он, в общем, и не пошлёт без тиков, но так, для соблюдения порядка! :)
У меня после всех представлений:
И всё остальное! Работает! Когда какое-нибудь отключение, советник не посылает ничего на сервер, он, в общем, и не пошлёт без тиков, но так, для соблюдения порядка! :)
Борис, у тебя всё тело советника заключено в эти скобки? Если так, то наверное это не очень-то корректно - ты запрещаешь тем самым советнику собирать статистику.
Всё то, конено, хорошо. Но IsTradeContextBusy() кто-нить использует? Или ограничиваться можно лишь IsTradeAllowed() ?
Бывает так, что один из этих состояний true, а другое false?
Всё то, конено, хорошо. Но IsTradeContextBusy() кто-нить использует? Или ограничиваться можно лишь IsTradeAllowed() ?
Бывает так, что один из этих состояний true, а другое false?
Конечно, IsTradeAllowed()= False, то не имеет значания IsTradeContextBusy().
А если IsTradeAllowed()= True, то IsTradeContextBusy() может быть False.
Но я не использую его, т.к. поток в любое время может освободится, а команда от эксперта запаздает!
У данной функции есть 2 вариант:
Я так понял, первый это проверить можно ли торговать вообще на всех инструментах, а второй на конкретном? Тогда возникает вопрос о надобности второго варианта. Если использовать первый, и получить ответ, что можно. Значит торговать можно. Какой прок с второго варианта?
Если у второго варианта нет явных приемуществ и каких-либо дополнительной пользы, то зачем это конкретика?
Глаз режет. Конкретно
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Открыл я описание данной функции.
Хотя я раньше не особо задумываясь использовал эту функцию, но.. Хочется знать канкретно. Зачем она нужна? Какова может быть "невозможность торговли" ?
Я понимаю, что может быть занят торговый потом, но для этого случая имеется функция IsTradeContextBusy(). А по какой причине может вернуть false функциях IsTradeAllowed() ?