Чемпионат Automated Trading Championship 2010 стартовал! - страница 14
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
снова посмотрел внутри кода....ВЕДЬ есть же разрешение на работу
bool AUDUSD_TradeUp = true;
НИ ОДНОЙ сделки по символу...ни на тесте , ни на АТС2010.... загадка природы.... :/ надо выбрать время посмотреть еще раз..но что интересно, перед отправлением последней версии робота , сделки на тестере дома были :)
В правилах соревнований явно указано, что исполнение будет происходить с реквотами. Это означает, что не зависимо от параметра diviation сервер время от времени будет слать отказы принять ордер. Лично я готовился к подобной ситуации. Во-первых, всегда обновляю цены непосредственно перед отправкой заявки, во вторых, я засыпаю на целых семь секунд после совершение операции (ибо в правилах указано исполнение до 7 секунд). Если за это время произошла реквота и заявка не была принята, повторяю попытку еще два раза (с аналогичным обновлением и засыпанием), если и в этом случае был получен отказ, дожидаюсь следующего тика и уже на нем запускаю повтор процедуры. Все это делает специализированная система циклов.
Вообще странно слышать подобные вопросы, так как ответы на них весьма очевидны и должны быть заранее проработаны разработчиками.
Не думаю, что после реквоты нужна задержка. Наоборот, нужно как можно быстрее послать запрос с новыми ценами. Ведь как при ручной работе ? Просто жмёте кнопку 'Принять новые цены' и никакой задержки. У меня лично нет задержки после реквот.
Вот, с шестой попытки закрыл позицию:
Действие сервера (и терминала) надо будеть изправлено ! Нет только на чемпионата.... Это ошибка ! (УМИШЛЕННАЯ)
Если цена в диапазон deviation - вставит ! Что значить "устаревшея" , когда она актуалная ? (+/- deviation)
Я пропустиль предстощие изумительние реквот на чемпионата и сейчас они мешают Объём и Тип ордерам...
Ошибка - моя, понятно...
Советник выставил два ордера отложенных вместо одного.
Такое впечатление что есть момент времени когда приказ на установку уже ушел, а orderstotal еще ни хрена этого ордера не видит.
Я перед чемпионатом проверяя на демо сталкивался с такой фигней, думал поборол задержкой после установки ордера
оказывается ни фига.
Интересно бы услышать разработчиков по этому поводу.
Или я один с такой байдой столкнулся?
Многие вещи в терминале работают асинхронно, насколько, известно только разработчикам. Я тоже с таким сталкивался на демо.
Или вот пример с чемпионата. Уровень маржи - хороший показатель загрузки депозита. Поэтому после совершения сделки вывожу этот показатель в журнал. Вот отрывок:
2010.10.05 08:44:40 Margin Level= 0.002010.10.05 08:44:40 Short Position by EURUSD to be opened
2010.10.05 08:44:37 vol= 1.5
2010.10.05 08:44:09 Short position by EURUSD to be closed of stop-loss
2010.10.05 07:39:29 Short position by EURUSD to be modified withoutloss
2010.10.04 20:00:29 Margin Level= 521.15
2010.10.04 20:00:29 Short Position by EURUSD to be opened
2010.10.04 20:00:26 vol= 1.4
2010.10.04 15:15:31 Short position by EURUSD to be closed of stop-loss
Там, где жёлтым, правильное значение, где зелёным - 0, т.е. то значение, которое было до открытия позиции. Само значение уровня маржи получаю с помощью
В тестере было нормально, заметил это на демо. Вставил задержку 10 сек. после открытия, перед запросом уровня маржи, думал за это время уж точно информация об аккаунте в терминале обновится.
Как видим, не помогло.
P.S.: Хотя, судя по времени , задержка не попала в чемпионатный вариант. Но всё равно остаётся вопрос по синхронизации.
А почему Ваш эксперт уже дважды перезапускался ? И откуда stop-out ? Убыток вроде бы небольшой по позиции.
1. Насчёт первой перезагрузки объяснение простое:
https://www.mql5.com/ru/forum/2236/page5/#comment_26915
https://www.mql5.com/ru/forum/2236/page6/#comment_26969
https://www.mql5.com/ru/forum/2236/page7/#comment_26989
2. Насчёт второй презагрузки - не знаю. По времени она может корреллировать и со временем стоп-аута, и с рассмотрением проблемы https://www.mql5.com/ru/forum/2248
3. Стоп-аут. Получается, у меня первый антирекорд? :) Менее, чем за сутки. Приз - в студию :) Если серьёзно, то ночью с объёмом позиции 9,4 уровень доходил до 65%. А когда утром новая позиция выдала объём более 12, сервер, по всей видимости, такой наглости потерпеть не смог.
Нет, про такие тонкости я и не знал. Но, как видим, arnautov'у это не помогло.
Я вот так пытался побороть
OrderSend(request,result);
ulong iTicket=result.order;
ulong l=0;
for (int i=0;i<10;i++)
{
int z=OrdersTotal();
for (int j=0;j<z;j++)
{
l=OrderGetTicket(j);
if (l>0)
if (l==iTicket)
return(true);
}
Sleep(1000);
}
Это может произойти и тогда, когда одна и та же функция OrderSend() с тождественными параметрами вызывается на двух последовательно обрабатываемых тиках. А эксперт при этом по какой-то причине не видит, что на первом обрабатываемом тике ордер уже выставлен.
Я тоже так думаю
И вот эта причина меня очень интересует
У Беркута:
А как насчет моего вопроса? бид равен запросу на продажу, но реквота. что-то тут не так. имхо