Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1112

 
Alexey Viktorov:

В OnChartEvent тоже надо знать точное имя объекта. А его нет пока нет самого объекта.

Оно, при создании, в sparam. 

В общем в OnChartEvent работает, но не работает в тестере.

 
Andrey Sokolov:

Оно, при создании, в sparam. 

В общем в OnChartEvent работает, но не работает в тестере.

Попробуйте такую логику:

если появился новый объект ...

 
Andrey Sokolov:

Оно, при создании, в sparam. 

В общем в OnChartEvent работает, но не работает в тестере.

Но с чем сравнивать sparam? Как отличить что это тот самый, нужный объект? Как вы определили, что работает именно на том-же тике?

Artyom Trishkin:

Попробуйте такую логику:

если появился новый объект ...

Это будет, как ни крути, на следующем тике.

 
Artyom Trishkin:

Попробуйте такую логику:

если появился новый объект ...

Уточните, пожалста, как именно

 
Alexey Viktorov:

Но с чем сравнивать sparam? Как отличить что это тот самый, нужный объект?  - по части имени.

Как вы определили, что работает именно на том-же тике? - По выводу в печать.

 
Andrey Sokolov:

Но с чем сравнивать sparam? Как отличить что это тот самый, нужный объект?  - по части имени.

Как вы определили, что работает именно на том-же тике? - По выводу в печать.

1. Посмотрите на другие объекты, не совпадают-ли эти части имени.

2. В печать выводится время в секундах? А тики как часто бывают?

 
Alexey Viktorov:


Это будет, как ни крути, на следующем тике.

Ну погоди.., в милисекундном таймере мы можем же знать текущий Volume. Пока Volume не изменился (текущий тик) проверяем появление нового объекта. Как только прошлое количество объектов стало не равно текущему их количеству, при этом текущий Volume равен прошлому Volume - поймали появление какого-то объекта внутри текущего тика - делаем что нужно.
Или ошибаюсь? Проверять нужно...

ЗЫ. Как видится - поймали в таймере появление нового объекта - сразу отсылаем пользовательское событие, в котором пишем нужную информацию. Вся обработка появления нового объекта таким образом будет осуществляться в обработчике событий. Ну и не факт, что предположение верно, и стоит овчинка выделки...

 
Artyom Trishkin:

Ну погоди.., в милисекундном таймере мы можем же знать текущий Volume. Пока Volume не изменился (текущий тик) проверяем появление нового объекта. Как только прошлое количество объектов стало не равно текущему их количеству, при этом текущий Volume равен прошлому Volume - поймали появление какого-то объекта внутри текущего тика - делаем что нужно.
Или ошибаюсь? Проверять нужно...

ЗЫ. Как видится - поймали в таймере появление нового объекта - сразу отсылаем пользовательское событие, в котором пишем нужную информацию. Вся обработка появления нового объекта таким образом будет осуществляться в обработчике событий. Ну и не факт, что предположение верно, и стоит овчинка выделки...

Если не в тестере, то достаточно OnChartEvent, а в тестере ни таймер, ни OnChartEvent не работают. 

Пока актуален вопрос чтоб в тестере работало на том-же тике.

 
Alexey Viktorov:

1. Посмотрите на другие объекты, не совпадают-ли эти части имени. - мне этого достаточно

2. В печать выводится время в секундах? А тики как часто бывают? - заметной задержки нет, можете сами убедиться, кода минимум

 
Artyom Trishkin:

Ну погоди.., в милисекундном таймере мы можем же знать текущий Volume. Пока Volume не изменился (текущий тик) проверяем появление нового объекта. Как только прошлое количество объектов стало не равно текущему их количеству, при этом текущий Volume равен прошлому Volume - поймали появление какого-то объекта внутри текущего тика - делаем что нужно.
Или ошибаюсь? Проверять нужно...

ЗЫ. Как видится - поймали в таймере появление нового объекта - сразу отсылаем пользовательское событие, в котором пишем нужную информацию. Вся обработка появления нового объекта таким образом будет осуществляться в обработчике событий. Ну и не факт, что предположение верно, и стоит овчинка выделки...

Как я понимаю задачу:

На одном графике присутствует индикатор рисующий метки и советник читающий эти метки.

Надо на одном тике советником прочесть ту метку, которую индикатор нарисовал на том-же тике. Где гарантия того, что индикатор сработает быстрей чем советник? Ведь событие придёт одновременно и в индикатор, и в советник. Во-вторых даже в одном коде, после ObjectCreate не получается прочесть свойства объекта несмотря на то, что объект уже создан.

Я очень сомневаюсь в возможности такого трюка. Но буду очень рад если ошибаюсь.

Причина обращения: