Ваши вопросы по языку MQL4

Вы не правы. Пока Ордерзенд не получит ответа от сервера об открытии ордеа или неудачном открытии программа выполняться не будет,новые тики будут пропускаться.

Тогда откуда куча ордеров в стейте взялась? Разницу в 1-2 пипса спишем на ошибки вычисления "канала", но по одной и той же цене?! оО
 
Т.е. команда на открытие на данный момент уже послана и ордер должен быть открыт, но брокер этот ордер не открыл из-за какой-то задержки своей внутренней. Из-за этой задержки по каждому тику снова выдаются команды на открытие ордеров и происходит дублирование первой команды
Какое значение вернет команда OrderSend в первом и втором случаях?
Подсказываю, что по мануалу она возвращает либо номер тикета, либо -1.
 
Какое значение вернет команда OrderSend в первом и втором случаях?
Подсказываю, что по мануалу она возвращает либо номер тикета, либо -1.

Вот-вот, а стейт показывает несколько ордеров по одной цене.
Как-то надо бороться с безобразием ;)
 
Вы не правы. Пока Ордерзенд не получит ответа от сервера об открытии ордеа или неудачном открытии программа выполняться не будет,новые тики будут пропускаться.
При запросе на открытие сервер сразу возвращает тикет нового ордера, но может задержать его открытие, взависимости от загруженности, а за это время даже на ECN счетах может проскочить несколько тиков и по каждому будут посылаться новые команды на открытие - я с этим сталкивался не раз в своих разработках. А при сильном тренде загрузка у сервера максимальная и он может уже исполнять команды на уровне инстанта, а не ECN.
 
Последнее редактирование:
При запросе на открытие сервер сразу возвращает тикет нового ордера, но может задержать его открытие, взависимости от загруженности, а за это время даже на ECN счетах может проскочить несколько тиков и по каждому будут посылаться новые команды на открытие - я с этим сталкивался не раз в своих разработках. А при сильном тренде загрузка у сервера максимальная и он может уже исполнять команды на уровне инстанта, а не ECN.

Если действительно так, то может быть. Тут я не уверен.
 
Вот-вот, а стейт показывает несколько ордеров по одной цене.
Как-то надо бороться с безобразием ;)
Ну... вот последний вариант, что предложил, как раз должен справиться в этом плане, т.к. при правильном запросе по ордерсенд (когда результат больше -1 по коду), новые ордера не будут открываться, пока не будет в общем списке новый ордер, который просчитывается функцией подсчета ордеров по меджику.
 
Ну... вот последний вариант, что предложил, как раз должен справиться в этом плане, т.к. при правильном запросе по ордерсенд (когда результат больше -1 по коду), новые ордера не будут открываться, пока не будет в общем списке новый ордер, который просчитывается функцией подсчета ордеров по меджику.

Я попробую сегодня так сделать
 
Это совершенно не так. Даже если сов отправил запрос и вдруг прервалась связь, то сов будет висеть и подвесит весь терминал.
У меня мультивалютник, который торгует одновременно по 378 парам пар (на 5-ке), ни разу не подвешивал терминал ни при каких обстоятельствах. Зато был печальный опыт, когда у одного брокера на 3-х одинаковых реальных счетах один и тот же сов с одинаковыми настройками на одной паре: один сов на домашнем компе и 2 на VPS-ах и запущены практически одновременно, но на одном VPS счете сов начинает открывать ордера без всякой логики с промежутком в спред и в итоге слив, а 2 параллельных сова нормально продолжили торги как положено. Причину я так и не смог найти, но стараюсь как можно больше разных проверок вносить в свои разработки.
 
А может сделать совсем по-простому - при OrderSend > -1 слипнуть на 5-10-15-... секунд?
Это первое, что и я предложил, но в этом случае весь сов будет висеть эти секунды, а мог бы на резких скачках закрыть пару сделок в плюс. Поэтому правильней лучше один раз внести пару сложных проверок, которые блокируют только то, что нужно, а не весь сов, тем более, что трал должен работать.
 
Ну, хозяин - барин, конечно...
Но у меня - глубокое сомнение, что на реале такая торговля будет жизнеспособна. Как минимум - реквотами задолбят.

На ECN нету реквот, там "рыночное" исполнение, только вот глюк пролазит такой.
Глюк как-то связан с расширением спреда, на GBPAUD чаще всего вызазит, а там спред и так немаленький изначально.

Убрал свой "iCustom(1ATR)", воткнул стандартный iATR - на тестере результат один в один, вероятно, встроенный будет быстрее работать, не засек время теста за полгода, к сожалению.

2015.04.29 16:31:41.910 EURUSD,M5: 10996846 tick events (36985 bars, 11746241 bar states) processed within 702114 ms (total time 707527 ms)
Это на тиковой истории дукаскопи
 

Вложения

Последнее редактирование:
Коллеги, у меня тут идея пришла…*hi*.Для версии бота для оптимизации, реально ли с помощью программного кода, реализовать имитацию доливки депо. Давайте подумаем…));) Допустим –50 проц…..доливка 500 проц. в долларах….
 
Последнее редактирование:
Всем доброго времени суток. подскажите пожалуйста,как сделать чтобы после каждого закрытия сделок/сделки в советнике автоматически менялся мэджик(типа динамический меджик) и возможно ли это вообще?
 
Коллеги, у меня тут идея пришла…*hi*.Для версии бота для оптимизации, реально ли с помощью программного кода, реализовать имитацию доливки депо. Давайте подумаем…));) Допустим –50 проц…..доливка 500 проц. в долларах….
А чего тут думать? Считайте размер лота не от всего депо, а от части, по необходимости эту часть увеличивайте.
 
А чего тут думать? Считайте размер лота не от всего депо, а от части, по необходимости эту часть увеличивайте.

Идея....?..*hi*...Так не теория надо....Зачем мне теория ..:).....Желательно само исполнение в коде...:embrace:.........
 
А чего тут думать? Считайте размер лота не от всего депо, а от части, по необходимости эту часть увеличивайте.

extern double PercentLos = 50; // Процент убытка

if (AccountEquity()<=AccountBalance()*(1-PercentLos/100))
{



пока так сообразил.......есть предложения:)
 
А чего тут думать? Считайте размер лота не от всего депо, а от части, по необходимости эту часть увеличивайте.

Переосмыслив:).... подумав ….нееее…..ты не врубился в то что я предложил…:embrace:.
Будет желание, сообрази по новой….и желательно с кодом….)))):)
 

Посмотрели (408) Посмотреть

Отслеживают (499) Посмотреть

Назад
Верх