Чемпионат Automated Trading Championship 2010 стартовал! - страница 13
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Или я один с такой байдой столкнулся?
Аналогичная байда. Постоянно. И два, и три ордера с одинаковыми параметрами в одну секунду выставляет. https://www.mql5.com/ru/forum/2248 Но в причине я пока не разобрался.
Аналогичная байда. Постоянно. И два, и три ордера с одинаковыми параметрами в одну секунду выставляет. https://www.mql5.com/ru/forum/2248 Но в причине я пока не разобрался.
Сначала я боролся с этим, ставя Sleep
а потом начал проверять по магику
примерно так
otkr_b2=0; //флажок открытия ордера
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_LIMIT&&OrderGetInteger(ORDER_MAGIC)==8001)
{otkr_b2=1;}//флажок открытия ордера
Наверное, есть специалисты, которые смогут предложить более корректный код, но так у меня вроде получилось и выставляется только 1 ордер.
А почему
если:
1.43006 - 1.43206 не надо будеть реквот...
Сервер глючит ??? или я ??? :)))
В правилах соревнований явно указано, что исполнение будет происходить с реквотами. Это означает, что не зависимо от параметра diviation сервер время от времени будет слать отказы принять ордер. Лично я готовился к подобной ситуации. Во-первых, всегда обновляю цены непосредственно перед отправкой заявки, во вторых, я засыпаю на целых семь секунд после совершение операции (ибо в правилах указано исполнение до 7 секунд). Если за это время произошла реквота и заявка не была принята, повторяю попытку еще два раза (с аналогичным обновлением и засыпанием), если и в этом случае был получен отказ, дожидаюсь следующего тика и уже на нем запускаю повтор процедуры. Все это делает специализированная система циклов.
Вообще странно слышать подобные вопросы, так как ответы на них весьма очевидны и должны быть заранее проработаны разработчиками.
После выставления ордера в сон на несколько секунд уходилил?
В правилах соревнований явно указано, что исполнение будет происходить с реквотами. Понятно - еще одно поле за кухонии ДЛично я готовился к подобной ситуации. Во-первых, всегда обновляю цены непосредственно перед отправкой заявки, во вторых, я засыпаю на целых семь секунд после совершение операции (ибо в правилах указано исполнение до 7 секунд). Если за это время произошла реквота и заявка не была принята, повторяю попытку еще два раза (с аналогичным обновлением и засыпанием), если и в этом случае был получен отказ, дожидаюсь следующего тика и уже на нем запускаю повтор процедуры. Все это делает специализированная система циклов.
Вообще странно слышать подобные вопросы, так как ответы на них весьма очевидны и должны быть заранее проработаны разработчиками.
Спасибо. Вы абсолютно прав. Это бесспорное....
Я готовился к нормалны условия, а здесь .... устаревшея заявка.........
Извините..... Я пропустиль что-то..... И перепутал...
Еще раз - Спасибо.
Понятно все !! :))) " Это означает, что не зависимо от параметра diviation сервер время от времени будет слать отказы принять ордер." :)))
Нет, про такие тонкости я и не знал. Но, как видим, arnautov'у это не помогло.
Все-таки для того, что бы выставить два ордера нужно два вызова OrderSend.
Это может произойти и тогда, когда одна и та же функция OrderSend() с тождественными параметрами вызывается на двух последовательно обрабатываемых тиках. А эксперт при этом по какой-то причине не видит, что на первом обрабатываемом тике ордер уже выставлен.
Я хоть и не учавствую в чемпе, но на обычном демо такая - же история. вместо одного иногда штампует 2 ордера, хотя после OrderSend() стоит такая проверка
снова посмотрел внутри кода....ВЕДЬ есть же разрешение на работу
bool AUDUSD_TradeUp = true;
НИ ОДНОЙ сделки по символу...ни на тесте , ни на АТС2010.... загадка природы.... :/ надо выбрать время посмотреть еще раз..но что интересно, перед отправлением последней версии робота , сделки на тестере дома были :)