Чемпионат Automated Trading Championship 2010 стартовал! - страница 15
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Беркута:
Посмотрим лог терминала - там всё становится и понятнее:
Т.е. эксперт никак не реагировал на изменение цен - что уже является ошибкой. Дополнительная проверка показала, что эксперт использовал клиентское отклонение в 10 пунктов, но даже с этим отклонением цена не разу не удовлетворяла условиям входа.
Посмотрим лог терминала - там всё становится и понятнее:
Будьте добры, взгляните на мой лог, и на вопрос
Судя по логам клиента и сервера, это связано с неточностью настройки условий сервера при реквотировании запросов с установленным клиентским отклонением.
Мы откорректировали настройки 5 октября около 22.00 по московскому времени.
Я вот так пытался побороть
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);
}
Учитывая естественную асинхронность процессов исполнения ордеров и прихода тиков, я не стал использовать Sleep(), чтобы как то синхронизировать процесс. Для мультивалютника это вообще пагубно, пока Sleep'ом в цикле дождешься появляения исполненого ордера, цены для других валют уйдут, очередь из тиков в терминал выстроится. Вообщем, мне такая идея не нравится, тем более, что нам предоставлена возможность отслеживать этот процесс по событиям, а не постоянной проверкой в цикле.
Вот что я предпринимаю в OnTick при удачной посылке ордера на исполнение (упрощенно):
после чего советник не торгует по символу до тех пор пока в OnTrade не выловится исполненный ордер (снова упрощенно):
Попробуйте, может понравится.
Судя по логам клиента и сервера, это связано с неточностью настройки условий сервера при реквотировании запросов с установленным клиентским отклонением.
Мы откорректировали настройки 5 октября около 22.00 по московскому времени.
Судя по логам клиента и сервера, это связано с неточностью настройки условий сервера при реквотировании запросов с установленным клиентским отклонением.
Мы откорректировали настройки 5 октября около 22.00 по московскому времени.
Мой эксперт на чемпионате производит все расчеты и открывает позиции ТОЛЬКО при появлении нового бара (H4), за исключением трейлинга при открытой позиции.
И вот что я вижу на вкладке "Эксперты":
В указанное время новых 4-х часовых баров быть не могло!
Открытых позиций не было!
Последняя позиция была закрыта 2010.10.05 19:16:04
И всё это произошло после потери соединения с торговым сервером!
На домашнем компьютере у меня запущена точная копия эксперта с чемпионата, за исключением того, что лот постоянный. Эксперт работает без сбоев и ошибок, последняя сделка закрыта 2010.10.06 22:00:57
Просьба к организаторам - проверьте, пожалуйста, что произошло?
И, если посчитаете возможным, перезапустите моего эксперта! Ошибки выхода за границу массива в нем точно нет! При необходимости могу предоставить исходный код...
P.S. С датами и временем в логах - это уже известные глюки.
Мой эксперт на чемпионате производит все расчеты и открывает позиции ТОЛЬКО при появлении нового бара (H4), за исключением трейлинга при открытой позиции.
И вот что я вижу на вкладке "Эксперты":
Насколько я понял это сообщение о том что в определенном массиве произошел выход за границы диапазона допустимого для данного массива.
Подробно можно узнать о произошедшем проанализировав строку 450, позицию 16 (видимо там производилось добавления нового значения в массив).
Возможно происходит запись в массив по несуществующему адресу, к примеру не учитывался 0-вой адрес, или как вариант изменяется размерность не динамического массива...
PS
Как я понимаю, время указано по часам терминала, а не сервера...
Господа разработчики! Пожалуйста обратите внимание на мой советник - поставте ему диагноз. Складывается впечатление, что он по неизвестным причинам умер. После реквот по USDCAD и GBPJPY он не стал открывать позиции, хотя сообщил, что собирается это сделать. Он просто замолк, в лог ничего не пишет. После этого он пропустил две сделки по EURUSD, сегодня утром пропустил по USDJPY и по EURCHF. Может пора организовывать вынос тела робота?
Насколько я понял это сообщение о том что в определенном массиве произошел выход за границы диапазона допустимого для данного массива.
Подробно можно узнать о произошедшем проанализировав строку 450, позицию 16 (видимо там производилось добавления нового значения в массив)
PS
Как я понимаю, время указано по часам терминала, а не сервера...
Само сообщение об ошибке, естественно, мне понятно.
Строка 450:
bu=rates[i].high-au*(double)rates[i].time;
Перед этим:
i может принять значение от 2 до Bars(_Symbol,_Period)-2
А потом, разве эксперт, в котором такая ошибка, мог бы пройти автоматическое тестирование с 01.01.10 по 01.08.10 ???
P.S. Время - да, в одних местах терминала, в других текущее... Там с датами - весело, в логах до сих пор ещё 5-ое октября