Ну в общем то так и пришлось сделать, Spy в тестере, на реале таймер.
Только это получается как в той репризе "здесь читайте, здесь не читайте, а здесь я рыбу заворачивал", хотелось бы, чтобы работало одинаково хорошо как в тестере так и в терминале.
Подтверждаю, решение «Spy» ненадежно при работе в реальном времени.
Ну в общем то так и пришлось сделать, Spy в тестере, на реале таймер.
Только это получается как в той репризе "здесь читайте, здесь не читайте, а здесь я рыбу заворачивал", хотелось бы, чтобы работало одинаково хорошо как в тестере так и в терминале.
А что это за дребедень такая, Spy? Дайте посмотреть…
В OnChartEvent получает пользовательское событие, и после этого идёт расчёт по символу, на котором пришёл новый тик.
Spy в советнике запускаю примерно так.
Если символов до девяти штук, то вроде советник работает норм, если символов девять и больше, то время от времени в лог записывается такая ошибка и советник перестаёт работать совсем.
В лог попадают не все символы из советника, обычно только половина.
Подскажите в чём может быть причина такой ошибки? Что в этом индикаторе Spy может тормозить?
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
Сильно извиняюсь, распечатал не правильный индикатор. Перепутал правильный с чем то своим экспериментальным.
Правильный конечно без SymbolInfoTick, так как он там вообще не нужен.
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
Какая там может быть ошибка, там код из 3 строк..., дальше в роботе создаются хендлы к нужным символами и ловятся события, тик по каждому символ, если что и тормозит, то это дальнейшая логика, доп индикаторы и т.д.
Не вижу что там может быть не надёжного, работает как часы, тики передаются все, раз в сутки, а то и реже бывает сообщение что индикатор медленный.., но работа индикатор идет дальше, это не в момент открытия позиции же,
А то, что может мешаться мышка и прочие действия отлавливаться с графика.., в реал торговом терминале вроде и делать нечего... И тем более рабочем графике.
Интерес к мультивалютному анализу и мультивалютной торговле существует давно. Но только с выпуском в свет терминала MetaTrader 5 и языка программирования MQL5 появилась возможность реализации полноценного мультивалютного режима. В данной статье предложен способ, позволяющий проводить анализ и обработку всех поступающих тиков по множеству финансовых инструментов. В качестве иллюстрации рассмотрен мультивалютный индикатор RSI для индекса доллара USDx.
Я передаю ГетМикросекондсКаунт из шпиона и считаю задержку на доставку события в принимающем советнике.
В среднем получается достаточно хорошо (конкретных цифр сейчас не приведу, не помню), но периодически случаются всплески задержек до нескольких секунд.
На этот случай из таймера генерирую синтетические тики раз в Х мс и все равно исполняю алгоритм.
Фига себе!!!
Ну в общем то так и пришлось сделать, Spy в тестере, на реале таймер.
Только это получается как в той репризе "здесь читайте, здесь не читайте, а здесь я рыбу заворачивал", хотелось бы, чтобы работало одинаково хорошо как в тестере так и в терминале.
Фига себе!!!
Ну в общем то так и пришлось сделать, Spy в тестере, на реале таймер.
Только это получается как в той репризе "здесь читайте, здесь не читайте, а здесь я рыбу заворачивал", хотелось бы, чтобы работало одинаково хорошо как в тестере так и в терминале.
А что это за дребедень такая, Spy? Дайте посмотреть…
Мультивалютный советник, получает событие "новый тик" с помощью индикатора Spy.
В OnChartEvent получает пользовательское событие, и после этого идёт расчёт по символу, на котором пришёл новый тик.
Spy в советнике запускаю примерно так.
Если символов до девяти штук, то вроде советник работает норм, если символов девять и больше, то время от времени в лог записывается такая ошибка и советник перестаёт работать совсем.
В лог попадают не все символы из советника, обычно только половина.
Подскажите в чём может быть причина такой ошибки? Что в этом индикаторе Spy может тормозить?
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
У меня вообще никаких бед с ним нет, я прекрасно вижу что условия отрабатываются в онлайне,
у меня нет никаких панелек которые следят за событиями, может в этом дело
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
Сильно извиняюсь, распечатал не правильный индикатор. Перепутал правильный с чем то своим экспериментальным.
Правильный конечно без SymbolInfoTick, так как он там вообще не нужен.
В советнике используется этот индикатор.А что это за дребедень такая, Spy? Дайте посмотреть…
https://www.mql5.com/ru/forum/170952/page68#comment_6406566
кстати в самом Spy ошибка на ошибке - он должен быть в обычной форме с полными массивами ohlc; сейчас выдаёт CustomEvent даже без тика при подкачке истории; SymbolInfoTick лучше не вызывать (в данном случае), наличие тика и bid и так известны ; И вместо 0 лучше использовать ChartID() сохранённый в OnInit().
тормоза конечно это не вылечит, они от другого..но то что такой Spy вообще работал - заслуга разработчиков MT
Какая там может быть ошибка, там код из 3 строк..., дальше в роботе создаются хендлы к нужным символами и ловятся события, тик по каждому символ, если что и тормозит, то это дальнейшая логика, доп индикаторы и т.д.
Не вижу что там может быть не надёжного, работает как часы, тики передаются все, раз в сутки, а то и реже бывает сообщение что индикатор медленный.., но работа индикатор идет дальше, это не в момент открытия позиции же,
А что это за дребедень такая, Spy? Дайте посмотреть…
Индикатор шпион, как могли пропустить его
https://www.mql5.com/ru/articles/234
Я передаю ГетМикросекондсКаунт из шпиона и считаю задержку на доставку события в принимающем советнике.
В среднем получается достаточно хорошо (конкретных цифр сейчас не приведу, не помню), но периодически случаются всплески задержек до нескольких секунд.
На этот случай из таймера генерирую синтетические тики раз в Х мс и все равно исполняю алгоритм.