Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Вся активность MQL5.community у тебя на ладони. Заходи в раздел Стена!
Aleksey
2451
Aleksey 2014.05.01 09:27 
  • 36%
    (37)
  • 44%
    (45)
  • 20%
    (20)
Всего проголосовало: 102
Aleksey
2451
Aleksey 2014.05.01 09:28  
Если советник использует [stop]/[limit] ордера, при отключении авто-торговли он становится совершенно беспомощным. А мог бы отменить их.
Удивительно, что это не так.
Igor Konyashin
3108
Igor Konyashin 2014.05.01 09:29  
Тогда в советнике должен быть обработчик событий включения/отключения автоторговли. Типа как Init/DeInit.
Aleksey
2451
Aleksey 2014.05.01 09:31  
i_logic:
 Тогда в советнике должен быть обработчик включения/отключения автоторговли. Типа как Init/DeInit.

Ну, это уже от нас зависит. Сразу надо было делать чтоб при нажатии этой кнопки происходил Init.

В свете последних тенденций, не удивлюсь если большая часть ответит на последний пункт - А шо, тут ещё какой-то терминал обсуждают?!.. 

Vladimir Karputov
Модератор
45434
Vladimir Karputov 2014.05.01 09:46  

Использовать TRADE_RETCODE_SERVER_DISABLES_AT или TRADE_RETCODE_CLIENT_DISABLES_AT и по таймеру проверять это условие. Пока наверное так. 

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Коды возврата торгового сервера - Документация по MQL5
Aleksey
2451
Aleksey 2014.05.01 09:55  
barabashkakvn:

Использовать TRADE_RETCODE_SERVER_DISABLES_AT или TRADE_RETCODE_CLIENT_DISABLES_AT и по таймеру проверять это условие. Пока наверное так. 

Так

TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)

Igor Konyashin
3108
Igor Konyashin 2014.05.01 09:57  
barabashkakvn:

Использовать TRADE_RETCODE_SERVER_DISABLES_AT или TRADE_RETCODE_CLIENT_DISABLES_AT и по таймеру проверять это условие. Пока наверное так. 

Ну дело даже в этом, как я понимаю. Надо чтобы после отключения пользователем автоторговли (нажатия на кнопку) советник мог сделать "последний вздох" -  удалить отложенные ордера например. А сейчас советник просто тупо рубится (хотя и новые тики он обрабатывает, но сделать с ордерами ничего не может - включается запрет на отправку торговых запросов).

Только если делать для советника свою кнопку отключения автоторговли (с сохранением состояния в глобальную переменную, как-то так)

Vladimir Karputov
Модератор
45434
Vladimir Karputov 2014.05.01 09:58  
pronych:

Так

TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)

Не, это похоже вообще ответ, а разрешена-ли торговля. Просто торговля.
Aleksey
2451
Aleksey 2014.05.01 10:15  
i_logic:

Только если делать для советника свою кнопку отключения автоторговли (с сохранением состояния в глобальную переменную, как-то так)

И опять придется лепить, подменяя штатный функционал. Лично мне придется, если не изменят.

Почти всё надо переделывать заново и по-своему. Совместимости - ноль.

По итогам голосования буду писать заявку в сд.

Aleksey
2451
Aleksey 2014.05.01 10:26  
i_logic:

Оптимально было бы расширить коды причин инициализации (деинициализации).

Например, добавить значения REASON_AUTOTRADE_ENABLED и REASON_AUTOTRADE_DISABLED к уже имеющимся:


Да, да, да. Гуд ваще!
Igor Konyashin
3108
Igor Konyashin 2014.05.01 10:29  
pronych:
Да, да, да. Гуд ваще!

Не, не так. Удалил пост.

Пускай сделают даже без возврата кода причин инициализации (деинициализации), лишь бы при нажатии на кнопку "Автоторговля" запускался Init (как при смене таймфрейма), соответственно, при её отжатии - DeInit. А значения TERMINAL_TRADE_ALLOWED можно будет ловить самому.

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