Ошибки, баги, вопросы - страница 1563

 
Anton Zverev:

Было бы много удобнее, если бы по каждому символу терминал вел счетчик тиков (с момента коннекта). И каждый советник при вызове получал бы номер тика, на котором вызван.

Это позволило бы делать оценку пропущенных тиков.

Сейчас каждый советник обязан запускаться на чарте. BookEvent - это первая ласточка, говорящая, что никаких чартов для запуска советников не требуется. 

Не надо новых сущностей. Оценку пропущенных тиков можно сделать по уже существующему счётчику. Называется tick_volume
 
Slawa:

При обычной работе эксперт будет вызываться на каждом тике второго символа только в том случае, если этот эксперт прикреплён к графику этого самого второго символа.

И не надо никаких чарт-евентов городить. Всё уже сделано до Вас, нужно только поискать

1. Например, делаете 1-секундный таймер.

2. В OnTimer организуете цикл от нуля до 100 со Sleep(10) и контролем, чтобы цикл не работал дольше 1-й секунды.

3. Анализируете какие угодно инструменты при помощи запросов SymbolInfoTick

Эта конструкция и в тестере будет работать

Безусловно, эта конструкция и в тестере будет работать криво - пропускать тики. Удивительно, что Вы (Разработчик) предлагаете в своем же продукте использовать костыль!

Slawa:
Не надо новых сущностей. Оценку пропущенных тиков можно сделать по уже существующему счётчику. Называется tick_volume

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

Различие огромное даже на M1! Что уж говорить про остальные ТФ. 

 

Один эксперт работает только с одним графиком. Если OnTick написан правильно и без тормозов, то эксперт не пропустит ни одного тика

Это - данность.

Если Вам нужна обработка нескольких инструментов одновременно, то запускайте экспертов на графиках нужных инструментов. Один инструмент - один эксперт.

Но тестировать можно только одного эксперта. Это тоже данность.

А по поводу пропуска тиков в цикле в OnTimer необходимы воспроизводимые доказательства. Они у Вас есть?

 
Slawa:

Один эксперт работает только с одним графиком. Если OnTick написан правильно и без тормозов, то эксперт не пропустит ни одного тика

Это - данность.

Если Вам нужна обработка нескольких инструментов одновременно, то запускайте экспертов на графиках нужных инструментов. Один инструмент - один эксперт.

Но тестировать можно только одного эксперта. Это тоже данность.

Что-то в осадок выпадаю от таких заявлений. Хотим торговать сразу несколько символов - запускай столько же советников? Прикольно! Наверное, я что-то напутал, думая, что тестер мультисимвольный.

А по поводу пропуска тиков в цикле в OnTimer необходимы воспроизводимые доказательства. Они у Вас есть?

У меня нет доказательств (не подготовил) верности очевидного для меня утверждения. Но постараюсь их подготовить. Вы удивляете все больше.
 

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

Вы хотите получить полный синхронизированный тиковый поток всех символов в единой точке OnTick, что не работает ни в терминале, ни в тестере. В OnTick приходит поток тиков текущего рабочего символа. У тестера поведение аналогично терминалу.

Чтобы получить доступ к тиковому потоку других символов вам предлагаются обходные пути. Пусть неудобные, но другого выхода нет.

 

В библиотечном файле Trade.mqh нашел интересную функцию MQL5InfoInteger(). MQLInfoInteger() - знаю, а эту - нет. F1 на нее не реагирует, но действия, похоже, аналогичны MQLInfoInteger(). 

Нужна ли эта функция в библиотеке? 

 
Да, по обновлению в избранном не появляется звездочка. В частности по этой ветке.
 
Anton Zverev:

Что-то в осадок выпадаю от таких заявлений. Хотим торговать сразу несколько символов - запускай столько же советников? Прикольно! Наверное, я что-то напутал, думая, что тестер мультисимвольный.

У меня нет доказательств (не подготовил) верности очевидного для меня утверждения. Но постараюсь их подготовить. Вы удивляете все больше.

Тестер - мультисимвольный. Торгуйте какими хотите инструментами, главное, чтобы они доступны на сервере были.

Но так как можно тестировать только одного эксперта на одном инструменте, то Вы самостоятельно должны оценивать приход тиков по "чужим" инструментам. Для этого и был предложен цикл в OnTimer.

Чарт-евент от соответствующего индикатора также является решением, причём более прямым, чем цикл, и совсем не костыльным. Только непонятно, при чём здесь IndicatorRelease?

 
Slawa:

Чарт-евент от соответствующего индикатора также является решением, причём более прямым, чем цикл, и совсем не костыльным.Только непонятно, при чём здесь IndicatorRelease?

iCustom+IndicatorRelease. Плодить сложные сущности на ровном месте - наверное, это не костыльное решение. О вкусах не спорят. Вопрос в том, сколько такой костыль на множестве агентов будет выжирать ресурсов впустую.

Ну почти все круто в пятерке. Скорость на высоте. А тут, извините, какая-то полная волосатость, где не ожидаешь.

 
Renat Fatkhullin:

Чтобы получить доступ к тиковому потоку других символов вам предлагаются обходные пути. Пусть неудобные, но другого выхода нет.

Василий упомянул, что на ФОРТС (не в тестере) работает механизм через подписку и BookEvent. Тем самым вообще избавляя от привязки советника к какому-либо графику.

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