Скачать MetaTrader 5

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

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


Зачем?
Debugger
2501
Debugger 2010.04.18 16:23  
Алгоритм долго считает.
Victor Nikolaev
Модератор
14483
Victor Nikolaev 2010.04.18 16:26  
Debugger писал(а) >>
Алгоритм долго считает.


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

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

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

Freelance
1234
Freelance 2010.05.20 08:31  
rid >>:

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

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

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

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

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

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

;)

Alexander
4034
Alexander 2010.05.20 09:52  
FreeLance >>:

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

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

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

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

Рита
438
Рита 2010.07.31 11:06  

Добрый день.

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

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

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

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

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

Далее :

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

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

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

 

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