![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Зачем отключать? Нужно правильную политику указать советнику. Если торгуете через класс CTrade, то будет так:
1. Так сказал брокер.
2. Советник сгенерирован платформой, в самом советнике 100 строк кода, половина из которых описание.
3. Нашел руками в стандартных модулях данный параметр, попробовал разные поставить - эффекта нет.
Например: почему советник не торгует? Причем любой, самописный - точно работал, буквально месяц назад, а теперь ни на демо-счете не торгует, ни в тесте, просто не открывает ни одной сделки. Советник сгенерированный платформой мт5 - точно так же, не торгует, ни в тесте, ни на демо счете, от слова никак.
Месяц назад советники работали на этом-же брокере, вы ничего не меняли, и внезапно всё сломалось? Или месяц назад вы сменили брокера и у нового почему-то ничего не работает? Это разные вещи.
Для начала подключитесь к MT5 серверу MetaQuotes-Demo, сделайте там демо аккаунт и проверьте советника в тестере. 99% что он будет работать без проблем, а значит ваш брокер не хочет чтоб вы торговали советником и просто мешает вам.
Ответ брокера о проверке filling type какой-то мутный. Это поле обязательное.
Хотя, на всякий случай чтоб проверить, найдите любой советник для mt5 где сделки совершаются без классов, а напрямую из OrderSend() со структурой MqlTradeRequest. В этой структуре есть поле type_filling. Непосредственно перед вызовом OrderSend() очистите значение MqlTradeRequest.type_filling = 0, видимо саппорт брокера об этом говорил.
Если не поможет, попробуйте добавить код MqlTradeRequest.type_filling = ORDER_FILLING_FOK перед вызовом OrderSend(), потом ещё раз MqlTradeRequest.type_filling = ORDER_FILLING_IOC, потом ещё раз MqlTradeRequest.type_filling = ORDER_FILLING_RETURN. (Все три допустимые значения)
Если советник так и не заработает, то ваш брокер не хочет чтоб вы торговали советником и просто мешает вам.
Запустите, пожалуйста, этот скрипт:
На биржевых инструментах должно быть так:
Запустите, пожалуйста, этот скрипт:
На биржевых инструментах должно быть так:
2016.05.23 19:30:29.890 script (GBPUSD,H1) ORDER_FILLING_RETURN
Месяц назад советники работали на этом-же брокере, вы ничего не меняли, и внезапно всё сломалось? Или месяц назад вы сменили брокера и у нового почему-то ничего не работает? Это разные вещи.
Для начала подключитесь к MT5 серверу MetaQuotes-Demo, сделайте там демо аккаунт и проверьте советника в тестере. 99% что он будет работать без проблем, а значит ваш брокер не хочет чтоб вы торговали советником и просто мешает вам.
Ответ брокера о проверке filling type какой-то мутный. Это поле обязательное.
Хотя, на всякий случай чтоб проверить, найдите любой советник для mt5 где сделки совершаются без классов, а напрямую из OrderSend() со структурой MqlTradeRequest. В этой структуре есть поле type_filling. Непосредственно перед вызовом OrderSend() очистите значение MqlTradeRequest.type_filling = 0, видимо саппорт брокера об этом говорил.
Если не поможет, попробуйте добавить код MqlTradeRequest.type_filling = ORDER_FILLING_FOK перед вызовом OrderSend(), потом ещё раз MqlTradeRequest.type_filling = ORDER_FILLING_IOC, потом ещё раз MqlTradeRequest.type_filling = ORDER_FILLING_RETURN. (Все три допустимые значения)
Если советник так и не заработает, то ваш брокер не хочет чтоб вы торговали советником и просто мешает вам.
Ну месяц-два назад... я ничего не менял, потому что некогда было заниматься тестом советника, а тут решил своего потестить, да платформой пособирать, а советники не работают.
И да, у другого брокера все работает без проблем.
2016.05.23 19:30:29.890 script (GBPUSD,H1) ORDER_FILLING_RETURN
Этот запустите, если выдаст 3, то у вас FOK,