Скачать MetaTrader 5

Вопрос к знатокам MQL

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Debugger
2501
Debugger  
Всем доброго времени суток!
Суть вопроса в следующем: как можно заставить индикатор пересчитываться не чаще определенного числа раз в секунду, например не чаще 2-х раз.
Функция Sleep в индикаторах не работает.
Victor Nikolaev
Модератор
15917
Victor Nikolaev  
Debugger писал(а) >>
Всем доброго времени суток!
Суть вопроса в следующем: как можно заставить индикатор пересчитываться не чаще определенного числа раз в секунду, например не чаще 2-х раз.
Функция Sleep в индикаторах не работает.


Зачем?
Debugger
2501
Debugger  
Алгоритм долго считает.
Victor Nikolaev
Модератор
15917
Victor Nikolaev  
Debugger писал(а) >>
Алгоритм долго считает.


Может вначале алгоритм оптимизировать. Хотя расчет раз в секунду, или в 10 секунд сделать можно.
Сохраняем последнее время расчета
На следующих тиках проверяем сколько прошло секунд.
Если больше заданного, то считаем, иначе выходим без расчета
Vadim Zhunko
5226
Vadim Zhunko  
Можно мерить между тиками миллисекунды этим:
int GetTickCount();
// Функция GetTickCount() возвращает количество миллисекунд, прошедших с момента старта системы.
// Счетчик ограничен разрешающей способностью системного таймера. Так как время хранится как беззнаковое целое, то он переполняется каждые 49.7 дней. 
Debugger
2501
Debugger  
Вадим, ты опять меня выручил. Громадный респект!!!!
helena
6
helena  
ЗДРАВСТВУЙТЕ! Не могли бы Вы посмотреть код и объяснить, почему этот индикатор тормозит у ДЦ, которые дают котировки 5 знаков,а в ДЦ которые дают котировки 4 знака работает нормально. И нельзя ли его как то поправить, чтобы он подружился с ДЦ с пятью знаками. Заранее спасибо
Файлы:
Rid
3170
Rid  

Да, действительно. На 5-ти знаке индюк тормозит. 

А вот почему, не пойму. Вроде всё норм. в коде...

Freelance
1234
Freelance  
rid >>:

Да, действительно. На 5-ти знаке индюк тормозит.

А вот почему, не пойму. Вроде всё норм. в коде...

Наверно частота котировок выше чем на 4-х.

Сравните тиковые объемы.

----- и пересчёт и перерисовку следует делать при "существенном" изменении цены.

"Существенность", наверное, следует вынести в параметры. 5-7 пипсов на 5-ти знаке погоду не изменят.

;)

Alexander Sevastyanov
4499
Alexander Sevastyanov  
FreeLance >>:

Наверно частота котировок выше чем на 4-х.

Сравните тиковые объемы.

Если так то можно сделать чтобы расчёт шёл на каждом 3-м или 5-м тике при 5-знаке.

Или вообще по сформировавшимся барам.

Рита
438
Рита  

Добрый день.

В разделе Code Base имеется индикатор - https://www.mql5.com/ru/code/8752 . 

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

Никак не получается запустить его даже для одной валюты!

"Перед тем как установить индикатор, создайте на графике хотя бы одну вертикальную линию со следующими параметрами:
Положение линии openN (где N - порядковый номер пакета) задаёт время открытия пакета
." 

Вертикальную линию я создала. Но не пойму, - что за параметр openN (в Свойствах его нет) и где задается   N ?

Далее :

"Позиции в индикаторе задаются только с помощью трендовых линий определенного цвета на графике инструмента.
Положение линии определяет время открытия и закрытия пакета."

Как провести ограниченный отрезок трендовой линии я не знаю. Получается все время бесконечный луч в одну сторону.

Пож. подскажите.

 

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий