Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2307

 

добрый день!

подскажите пожалуйста, на МТ4 на каждом инструменте можно вывести панельку быстрой торговли. Выставить там лотность для каждого инструмента. Однако после закрытия терминала все эти настройки лотностей слетают. Возможно ли как то сохранять эти настройки, чтобы каждое утро не настраивать заново?

 
законопослушный гражданин #:

добрый день!

подскажите пожалуйста, на МТ4 на каждом инструменте можно вывести панельку быстрой торговли. Выставить там лотность для каждого инструмента. Однако после закрытия терминала все эти настройки лотностей слетают. Возможно ли как то сохранять эти настройки, чтобы каждое утро не настраивать заново?

Это общая настройка для всех инструментов.
 

Добрый день! Помогите разобраться, пожалуйста. 

МТ5.  Учусь алго-работе с отложенными ордерами. На основе изменений цены через событие OnBookEvent либо меняю отложенный ордер либо удаляю его. Использую OrderModify или OrderDelete. Обычно всё проходит хорошо, но иногда бывает так что изменяемый ордер исполняется незадолго либо прямо во время запуска  OrderModify или OrderDelete и тогда я либо получаю ошибку regected и программа продолжает работать (что хорошо), либо программа зависает ровно на 3 минуты, а затем выдаёт ошибку timeout. Программа в это время виснет и не может ничего делать, а рынок меняется. 

Возможно ли как-то не попадать в эту ошибку timeout? Другие ошибки работу программы не замедляют.

Либо хотя бы сократить продолжительность timeout, раз в 100 ?

Я попробовал проверять наличие ордера через OrderGetTicket() или OrdersTotal() прямо перед запуском OrderModify или OrderDelete. Выдаёт, что ордер есть, а потом всё равно может выдать rejected или timeout. Это не помогает. 

 
Александр #:

Добрый день! Помогите разобраться, пожалуйста. 

МТ5.  Учусь алго-работе с отложенными ордерами. На основе изменений цены через событие OnBookEvent либо меняю отложенный ордер либо удаляю его. Использую OrderModify или OrderDelete. Обычно всё проходит хорошо, но иногда бывает так что изменяемый ордер исполняется незадолго либо прямо во время запуска  OrderModify или OrderDelete и тогда я либо получаю ошибку regected и программа продолжает работать (что хорошо), либо программа зависает ровно на 3 минуты, а затем выдаёт ошибку timeout. Программа в это время виснет и не может ничего делать, а рынок меняется. 

Возможно ли как-то не попадать в эту ошибку timeout? Другие ошибки работу программы не замедляют.

Либо хотя бы сократить продолжительность timeout, раз в 100 ?

Я попробовал проверять наличие ордера через OrderGetTicket() или OrdersTotal() прямо перед запуском OrderModify или OrderDelete. Выдаёт, что ордер есть, а потом всё равно может выдать rejected или timeout. Это не помогает. 

Это с каким брокером такие задержки?

Что-то очевидное невероятное, а не пропадает-ли тырнет в эти моменты?

Попробуйте вместо  OrderSend попрользовать OrderSendAsync

 
Alexey Viktorov #:

Это с каким брокером такие задержки?

Что-то очевидное невероятное, а не пропадает-ли тырнет в эти моменты?

Попробуйте вместо  OrderSend попрользовать OrderSendAsync

Это Финам. Интернет точно не пропадает, пользуюсь им пока задержку пережидаю. Задержка стандартная, ровно по 3 мин с точностью до 1-2 мсек. Проверял много раз.

Спасибо, попробую асинк. 

А само решение, чтобы не попадать в timeout вообще возможно?  Или изменить его продолжительность? 

 
Как сейчас в коде MQL5 выявить наличие неиспользуемых переменных? Раньше компилятор об этом писал, теперь молчит.
 
Александр #:

Это Финам. Интернет точно не пропадает, пользуюсь им пока задержку пережидаю. Задержка стандартная, ровно по 3 мин с точностью до 1-2 мсек. Проверял много раз.

Спасибо, попробую асинк. 

А само решение, чтобы не попадать в timeout вообще возможно?  Или изменить его продолжительность? 

Не может там проц не успевать обрабатывать события так, что очередь переполняется? Если стакан активен, такое, в принципе, возможно.

 
сейчас нет проблем с обработкой, давно уже нет такого
 
lynxntech #:
сейчас нет проблем с обработкой, давно уже нет такого

Если на каждом OnBookEvent в ликвидном инструменте пытаться играть ордерами, легко упереться в производительность так, что интерфейс MT5 подвиснет. Сам в этом убеждался. Но у меня проц сильно старый, i5-2500K.

Сейчас думаю, i9-11900K или i7-13700K.

Как ведут себя процы с неоднородными ядрами при виртуализации(KVM)? Надо гвоздями прибивать к ВМ конкретные ядра?

 
Aleksey Vyazmikin #:
Как сейчас в коде MQL5 выявить наличие неиспользуемых переменных? Раньше компилятор об этом писал, теперь молчит.

Компилятор сообщает только о локальных неиспользуемых переменных.

На прошлой неделе наблюдал это сообщение в 4040…

Причина обращения: