Чемпионат Automated Trading Championship 2010 стартовал! - страница 26

 

Здравствуйте!

Не мог бы мне кто нибудь подсказать пункт "IV. Торговые условия" правил чемпионата, а именно:

4. Минимальный размер сделок 0.1 лота, максимальный - 5 лотов с шагом 0.1 лота на каждый ордер.

Где и в каком случае используется "...с шагом 0.1 лота на каждый ордер"?

Ограничения и проверки в экспертах
Ограничения и проверки в экспертах
  • 2010.08.02
  • MetaQuotes Software Corp.
  • www.mql5.com
Можно ли торговать этим инструментом в понедельник? Хватит ли денег на открытие позиции? Какой размер убытка мы получим, если сработает Stop Loss? Как ограничить количество отложенных ордеров? Была ли выполнена торговая операция на этом баре или это было на предыдущем? Если торговый робот не может сделать подобные проверки, то любая прибыльная торговая система может превратиться в проигрышную. В этой статье показаны примеры проверок, которые пригодятся в любом эксперте.
 
gisip:

Здравствуйте!

Не мог бы мне кто нибудь подсказать пункт "IV. Торговые условия" правил чемпионата, а именно:

4. Минимальный размер сделок 0.1 лота, максимальный - 5 лотов с шагом 0.1 лота на каждый ордер.

Где и в каком случае используется "...с шагом 0.1 лота на каждый ордер"?


Например при Мартине (от минимального лота) или при торговле лотом расчитанным в процентном соотношении от депозита.

Ордер может быть с любым объемом лежащим в диапазоне 0,1 - 5,0. Позиция может быть любого объема в диапазоне 0,1 - 15,0.

Шаг в данном случае будет минимальным изменением объема лота (по аналогии с пипсом для цены).

Пример Мартина, при начальном лоте в 0,10 (минимальный)

Лоты на ордера (не на позиции): 0.10 (открывает позицию), 0.10, 0.20, 0.40, 0.80, 1.60.

Позиция при этом будет иметь следующий объем: 0.10, 0.20, 0.40, 0.80, 1.60, 3.20.

PS

Теоретически можно сделать еще одну операцию на объем от 1,6 до 1,8 (если принять максимум позиции в 5.0). С учетом шага это будет три варианта: 1.6, 1.7 и 1.8.

В этом случае общая позиция будет иметь объем от 4.8 до 5.0...

PPS

На чемпионате же максимально допустимый ордер (операция) подпадающая под этот алгоритм и удовлетворяющая правилам чемпионата будет иметь объем 3.2 (поскольку объем 6.4 уже нарушит правила).

Максимальный же объем позиции может быть равен 15.0, поэтому если алгоритм должен использоваться и дальше объем 6.4 придется разбить на две части...


 
Interesting:

Например при Мартине, от минимального лота или при торговле лотом расчитанным в процентном соотношении от депозита.

Ордер может быть с любым объемом лежащим в диапазоне 0,1 - 5,0. Позиция может быть любого объема в диапазоне 0,1 - 15,0.

Шаг в данном случае будет минимальным изменением объема лота (по аналогии с пипсом для цены).

Пример Мартина, при начальном лоте в 0,10 (минимальный)

Лоты на ордера (не на позиции): 0.10 (открывает позицию), 0.10, 0.20, 0.40, 0.80, 1.60.

Позиция при этом будет иметь следующий объем: 0.10, 0.20, 0.40, 0.80, 1.60, 3.20.

 

А если, допустим после расчёта лота он оказался равным 3, 67 и в таком виде пошёл на сервер в виде заявки на исполнение сделки, то эксперт досрочно выбывает из чемпионата! 
 
GODZILLA:
А если, допустим после расчёта лота он оказался равным 3, 67 и в таком виде пошёл на сервер в виде заявки на исполнение сделки, то эксперт досрочно выбывает из чемпионата! 

Скорей всего при таком объеме возникнет соответствующая ошибка при проверке, если же проверки не было (тут проблемы у программера) или ошибка по неизвестным причинам не обнаружилась клиент отправит запрос на сервер. Сервер в свою очередь тоже должен проверить объем операции.

Если сервер обнаружит ошибку в расчетах по идеи он должен откланить запрос, направив эксперту соотвествующий код ошибки (если он этого не сделал то проблемы не только у программера, а еще и у MQ).

если таких ошибок будет много и эксперт на них адекватно не отреагирует скорей всего этот эксперт уйдет с чемпионата по дисквалификации, хотя тут как повезет.

Если все же заявка будет выполнена то эксперт по идеи в любом случае будет дисквалифицирован (не смотря на явную недоработку в логике сервера). Формальным поводом для дисквалификации станет нарушение размеров шага.

PS

тут речь идет не об SL или TP, только об отложенных ордерах или рыночных операциях.

 
Interesting:

Скорей всего при таком объеме возникнет соответствующая ошибка при проверке, если же проверки не было (тут проблемы у программера) или ошибка по неизвестным причинам не обнаружилась клиент отправит запрос на сервер. Сервер в свою очередь тоже должен проверить объем операции.

Если сервер обнаружит ошибку в расчетах по идеи он должен откланить запрос, направив эксперту соотвествующий код ошибки (если он этого не сделал то проблемы не только у программера, а еще и у MQ).

если таких ошибок будет много и эксперт на них адекватно не отреагирует скорей всего этот эксперт уйдет с чемпионата по дисквалификации, хотя тут как повезет.

Если все же заявка будет выполнена то эксперт по идеи в любом случае будет дисквалифицирован (не смотря на явную недоработку в логике сервера). Формальным поводом для дисквалификации станет нарушение размеров шага.

PS

тут речь идет не об SL или TP, только об отложенных ордерах или рыночных операциях.

Спасибо за полный ответ!

Теперь хоть понятно о чем речь.

А то из правил можно подумать, что  лот от 0.1 до 5.0 должен расти с шагом 0.1.

Написали бы просто кратный 0.1

 
Interesting:

Скорей всего при таком объеме возникнет соответствующая ошибка при проверке, если же проверки не было (тут проблемы у программера) или ошибка по неизвестным причинам не обнаружилась клиент отправит запрос на сервер. Сервер в свою очередь тоже должен проверить объем операции.


Не отправит. Терминал, также как и сервер, тоже проверяет параметры запроса на корректность, независимо от того, предусмотрел или нет программер такую проверку у себя в эксперте.

Просто в журнале будет зафиксирована ошибка грануляции объёма от OrderCheck и запрос на сервер не уйдёт. Это можно проверить на демо или даже в тестере.

 
gdtt:

вот воспроизвел ситуацию, когда идет обращение к данным таймфрейма, отличном от тех, на котором работает эксперт

здесь м1-м5

На м1 определили, что появился новый бар м5. без синхронизации обращаемся к данным на м5, пытаемся получить значение close[1]( предпоследнего бара), а возвращается значение бара close[2]

на картинке пообводил значения и бар, стрелка, указывала на обведенный бар, но при prinscreen она гаснет

Вы ничего не проглядели? У вас первый и второй бары имеют равный Close вот вы и спутали.

Если есть сомнения распечатайте сразу и первый и второй Close.


 
Urain:

Вы ничего не проглядели? У вас первый и второй бары имеют равный Close вот вы и спутали.

Если есть сомнения распечатайте сразу и первый и второй Close.

да пока беру свои слова обратно, клозы этих баров совпадают с точностью до пятого знака,  пока такую ситуацию, которую хотел показать, не могу воспроизвести
 
LeoV:

К сожалению, я не мог заниматься 3-ёх или 4-ёх месячным тестированием советника на новой платформе и выискиванием несоответствий правил чемпионата и справок к МТ5, который только разрабатывается - у меня тоже свои дела, как и у вас. Мне написали советник, по тем правилам, которые вы указали для чемпионата - никто не думал о таких подвохах.

Я понимаю по поводу справки, но должен тоже ещё раз повторить вам, что договоры, правила и прочие юридические документы, читаются и трактуются так как они написаны и не позволительно трактовать их так, как думаете вы или я. У вас чётко написно -

Если делать так как вы подразумеваете, то нужно писать так -

Вам любой юрист скажет, что договоры и правила трактуются так как они написаны и никак иначе.

Да! Леонид абсолютно прав! Это не дело! Я так, например, функции подкачки истории из своего эксперта убрал только по причине жлобских утверждений в правилах чемпионата! Ежели есть желание у организаторов чемпионата, можно посмотреть код  моего эксперта и в конце стоят закомментированые функции LoadHistory() и CheckLoadHistory().  Ну нафига качать историю, ежели она и так доступна:

Для Чемпионата выбраны 12 валютных пар с доступной минутной историей с 2005 года. 

Популяризации языка программирования такие выкрутасы с правилами отнюдь не прибавляют! 

Кстати, а почему вызов функции 

SeriesInfoInteger(symbol, timeframe, SERIES_LASTBAR_DATE);
при отсутствии данных по данному инструменту возвращает ноль или 1970.01.01 00:00:00

По логике вещей в такой ситуации даты быть не должно, свечки то такой нет на нулевом баре С ДАТОЙ 1970.01.01 00:00:00? Только что-нибудь типа -1! 

 
GODZILLA:

Интересная вещь получается! Прогнал своего чемпионатного эксперта в тестере стратегий за период чемпионата (2010.10.03 - 2010.10.14). Получилось пять сделок. На чемпионате - ни одной сделки! В чём причина такого ступора и каковы отличия работы работы эксперта в обоих случаях, если он находится на крупном таймфрейме и анализирует только закрытые бары?

Аналогично. Правда, у меня при старте совершил три сдели и все, потом замолчал. Хотя на демо совершил уже с десяток сделок.
Причина обращения: