Automated Trading Championship 2012: Чемпионат стартовал! - страница 6

 
Yedelkin:
Для точного ответа на эту версию ("сработает - не сработает") надо смотреть код Лизара и уточнять, при каких условиях посылается сигнал о наступлении CHARTEVENT_NEWBAR_D1. Вполне возможно, что в описанной Вами ситуации сигнал просто поступит не в 00-00, а в 00-05, т.е. с приходом первого тика нового дня.

Сегодня спец. наблюдал смену суток.

Тики шли по eurjpy с 00-00-00 и далее.

 
Yedelkin:
Для точного ответа на эту версию ("сработает - не сработает") надо смотреть код Лизара и уточнять, при каких условиях посылается сигнал о наступлении CHARTEVENT_NEWBAR_D1. Вполне возможно, что в описанной Вами ситуации сигнал просто поступит не в 00-00, а в 00-05, т.е. с приходом первого тика нового дня.

Там фишка может быть, которая заключается в том что котировка есть, а торговля запрещена.

В этом случае нужно дополнительные проверки делать.

artall:

А там lparam -типа  long и равно произошедшему событию,

sparam - типа string и равно собственно символу, с которого пришло событие.

Это было понятно изначально, вопрос в том что приходит туда при событии и как вы значения этих переменных формируете (в том числе при отправке событий).
Yedelkin:
Сначала надо получить точный ответ на мой вопрос, а затем - копать дальше, чтобы не прыгать с проверки одного условия на проверку другого.
Тут как подойти к делу. Я обычно начинаю с основных условий ветвления, а потом вложенными занимаюсь (смысла не вижу проверять вложенное если до него не будет доходить дело).
 
artall: На два первых вопроса ответ положительный, а вот по поводу "PositionSelect()==false" не вставил я Принт на ошибку в советнике(и в журнале,соотвт. нет записей,), потому что в тестере не было такого, -не озадачился.

Так вы сейчас вставьте распечатку и запустите параллелльно на предчемпионатном счёте.

artall: Ещё думаю, что очерёдность событий смешивается\толкается чтоли? Да, нет не так надо было, а как-то так.

1. Пришло событие по символу.

2. Ищем есть ли открытая по нему поза.

3. Если есть, смотрим профит и если больше 100, то кроем.

4. Ну и на каждый НЕТ, продолжаем отслеживать 30-ти мин. события.

Есть ещё такая беда, как очередь обработки пользовательских событий. Зимой смотрел Справочник - если одно событие обрабатывается, другие в очередь не ставятся. У Вас случайно, не несколько символов одномоментно посылают сигналы о наступлении нового дня?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика - Документация по MQL5
 
Interesting: Там фишка может быть, которая заключается в том что котировка есть, а торговля запрещена. В этом случае нужно дополнительные проверки делать.
А, понял. Типа, может быть котировочная сессия (с поступлением тиков), но не торговая. Ценное замечание!
 

В принципе, если речь идет о закрытии всех прибыльных позиций позиций по событию то проще генерировать одно событие и делать общий перебор позиций (в цикле) на предмет прибыльности.

Если по каким-то условиям закрытие не смогло быть выполнено для определенных позиций повторить проверку минут через 10.

Так можно закрыть все что нужно с большой гарантией по выполнению.


 
papaklass:
 Что то опять не вижу Вашего советника на Чемпионате. В очередной раз соскочили? :)

Угу, даже проверок проходить не стал.

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

PS

Я традиционно балеть буду за мульты конечно. Еще в этом году, как прочем и всегда, желаю AM2 с его БАФФЕТОМ удачно выступить.

 

Все замечания и предложения где-то в чём-то ценны и полезны. Учту.

Огромное спасибо всем, принявшим участие о обсуждении!


 
artall:

Все замечания и предложения где-то в чём-то ценны и полезны. Учту.

Огромное спасибо всем, принявшим участие о обсуждении!


Я бы вашу задач решал не в блоке обработке событий, а в таймере с периодом этак минут 10-15.

При чем в цикле все позы обрабатывал и контролировал успешность выполнения.

Уверен так надежней будет и не так затратно по ресурсам.

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
papaklass:

 Поставьте элементарную проверку наступления нового дня. И когда событие "нового дня" наступит, делайте все запланированные действия.

Вместо моих принтов сделайте закрытие позиций

Зачем так накручивать\усложнять. Уже же определили "тик нового дня" по символу.

Interesting:

Я бы вашу задач решал не в блоке обработке событий, а в таймере с периодом этак минут 10-15.

При чем в цикле все позы обрабатывал и контролировал успешность выполнения.

Уверен так надежней будет и не так затратно по ресурсам.

А на это скажу, что уже есть обработчик событий и зачем на таймере заморачиваться, и в цикле не вижу смысла.

lharam и sparam приходят в одном событии и остаётся проверить есть ли по нему(символу) позиция и затем какова она

и крыть.Ну и конечно добавить принты ошибок(или не ошибок) на каждой проверке.

Все эти лишнии теледвижения,на мой взгляд, сильно тормознут прцсесс.

 

Обьясните кто-нибудь пожалуйста, как у пользователя Crucian получилось 7000$ пятью лотами? Цена так не ходила. Бред какой-то. Он вчера 02.10.2012 в 16:31 по гринвичу открылся по 1.2961.