Скачать MetaTrader 5

Возможно ли запустить эксперта из скрипта?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Алексей
1563
Алексей  
Хочу бросить на чарт скрипт, чтобы он по стратегии в истории считал индикаторы. Свой индикатор пока считаю в самом эксперте :) Так думаю пока лучше.
А потом хочу из скрипта сразу запустить эксперта, который подхавит последний статус (расчитанные значения индикатора) и продолжит считать в реальном времени и торговать в том числе.
Кстати заметил такую вещь: если советник в Init делает вычисления в истории до последнего бара, то это происходит медленне (в часности графические объекты медленно появляются: секунд через 6). А если скрипт делает тоже самое в своём Init, то это происходит чуть ли не мгновенно.
Интересно в чём здесь дело. Может быть Init у эксперта имеет маленький приоритет в потоке?
Вообщем, главный вопрос: как эксперта запусить из скрипта, и возможно ли это? Иначе придётся ручками по очерди бросать на чарт. Скрипт -> Эксперт
Евгений Панин
701
Евгений Панин  
Вообщем, главный вопрос: как эксперта запусить из скрипта..?
Никак.
Разработчики такой возможности не дают, хотя было бы не плохо.
MetaQuotes
Админ
25337
Renat Fatkhullin  
если советник в Init делает вычисления в истории до последнего бара, то это происходит медленне (в часности графические объекты медленно появляются: секунд через 6)
Эксперт выставляет графические объекты быстро, но их явно не перерисовывает, пока не выйдет или терминал сам не перерисует окно.
Если нужно сразу же обновить экран и показать объекты, то надо вызвать функцию RefreshRates().
Slava
Модератор
6978
Slava  
Поправочка. Не RefreshRates, а ObjectsRedraw
Евгений Панин
701
Евгений Панин  
Кстати, эксперт и скрипт вообще говоря могут работать в окне поочерёдно, передавая друг другу управление через Глобалные Переменные.
Правда, скрипт для этого нужно зациклить, иначе он отработает и выгрузится.
Алексей
1563
Алексей  
Renat:
если советник в Init делает вычисления в истории до последнего бара, то это происходит медленне (в часности графические объекты медленно появляются: секунд через 6)
Эксперт выставляет графические объекты быстро, но их явно не перерисовывает, пока не выйдет или терминал сам не перерисует окно.
Если нужно сразу же обновить экран и показать объекты, то надо вызвать функцию RefreshRates().
Я открыл новую тему по скорости выполнения скрипта и советника.
Алексей
1563
Алексей  
SKif:
Кстати, эксперт и скрипт вообще говоря могут работать в окне поочерёдно, передавая друг другу управление через Глобалные Переменные.
Правда, скрипт для этого нужно зациклить, иначе он отработает и выгрузится.
Ну да можно зациклить наврено скрипт с функцией sleep. Мне это не надо. Мне надо быстро расчитать все параметры по истории и отбразить их и записать статус в глобальные переменные или файл, а потом запустить советник на выполнение чтобы он продолжил вычисления почитав эти переменные.
Можно было конечно сделать предварительные расчёты по истории в Init советника, но я подумал что у неё есть ограничение на выполнние по времени. Да и выполняется она у меня аж 6 секунд для выбранного таймфрема и валюты.
А скрип почему то очень быстро: меньше секунды.
Евгений Панин
701
Евгений Панин  
deinit() имеет ограничения 2.5 сек только при выгрузке.
А при загрузке у init() ограничений нет. Поэтому все разовые расчёты можно спокойо делать в init().
MetaQuotes
Админ
25337
Renat Fatkhullin  
SKif:
deinit() имеет ограничения 2.5 сек только при выгрузке.
А при загрузке у init() ограничений нет. Поэтому все разовые расчёты можно спокойо делать в init().
Сомневаюсь, что спокойно. Никто не отменял правило "сделай свою работу так быстро как только можешь".
Иначе можете с задержкой или тотальным циклом навсегда словить очень неприятные моменты, которые будут повешены трейдером без зазрения совести прямо на разработчиков.
Евгений Панин
701
Евгений Панин  
Renat:
Сомневаюсь, что спокойно. Никто не отменял правило "сделай свою работу так быстро как только можешь".
Иначе можете с задержкой или тотальным циклом навсегда словить очень неприятные моменты, которые будут повешены трейдером без зазрения совести прямо на разработчиков.
А какие есть ограничения (кроме здравого смысла). Может, я что-то пропустил?
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий