Индикаторы: PivotPoint

 

PivotPoint:

Опорные точки (Pivot Points) всегда очень полезны в торговле, это простой способ получить некоторое представление о том, куда рынок будет двигаться в течение дня.

Этот индикатор также рисует первые три линии поддержки (Support) и сопротивления (Resistance). При расчете уровней используются значения завершенного дневного бара (предыдущего торгового дня).

Автор: okh

 

 Скомпилировал... 

 Оссспаде!!! Хвалёный по скорости работы MT5 на каждом ТФ пересчитывает его так натужно и долго, что у меня чайник быстрее вскипает. Не ожидал, если честно. Я даже не уверен, что всякий раз идёт пересчёт заново, так как на каждом ТФ уровни по факту оказываются одни и те же и смысла во внутридневном пересчёте попросту нет, а потому всё это выглядит теперь ещё более странно.

 Под MT4 пользуюсь https://c.mql5.com/3/2010/4/6/Pivot_fur_D1und_W1.rar - так он, во-первых, работает мгновенно на любом ТФ; во-вторых, подписаны значения каждого из уровней (за счёт использования графических объектов "горизонтальная линия"); в-третьих, он умеет ещё и недельные пивоты показывать на ТФ W1, правда, плохо то, что при уходе на другие ТФ недельные уровни не запоминаются и при необходимости их приходится периодически подглядывать, возвращаясь на W1, а так было бы здорово, если бы недельные визуально сохранялись на каждом ТФ! К тому же на W1 они оказываются так близко друг к другу, что их очень трудно разглядеть, а вот если бы они не исчезали на более младших ТФ, то их можно было бы рассмотреть вполне спокойно.

 В общем, всё вышеизложенное для MT4-Пивота с замечаниями было бы очень здорово реализовать и в MT5-индикаторе PivotPoint, подумав также и насчёт ускорения обсчёта.

 Или всё-таки медленный обсчёт - это вопрос к разработчикам MT5, а не к писателям индикаторов и скриптов?

 
x100intraday:

 Или всё-таки медленный обсчёт - это вопрос к разработчикам MT5, а не к писателям индикаторов и скриптов?

В данном случае медленный обсчет (по сравнению с примером, приведенным Вами) обусловлен конкретной реализацией PivotPoint - тут используется 7 индикаторных буферов для показа обычных горизонтальных линий, при этом если количество баров на графике (указанное в Сервис->Настройки->Параметры->Графики->Макс.баров в окне) велико, то и скорость расчета будет невысокой.

Как Вы отметили, в указанном Вами коде для MetaTrader4 используются графические объекты "горизонтальные линии", поэтому он и "работает мгновенно на любом ТФ". При таком подходе и в MetaTrader5 он также будет работать мгновенно на любом ТФ. Это и есть правильный путь ускорения обсчета.

Данный код является переводом  - можете адресовать этот вопрос автору кода в обсуждении оригинальной версии.

Также никто не запрещает Вам предложить свою версию этого индикатора, написанную оптимальным образом - код будет опубликован и переведен.

 
Спасибо за пояснения и отдельно - за индикатор.
 
x100intraday:
Спасибо за пояснения и отдельно - за индикатор.

Вот Ваш индикатор, переписанный на MQL5 - проверьте, пожалуйста.

Логика и структура те же, прежний MQL4-код приведен в комментариях.


Файлы:
 
Quantum писал(а)  :

Вот Ваш индикатор, переписанный на MQL5 - проверьте, пожалуйста.

Логика и структура те же, прежний MQL4-код приведен в комментариях.


 1. Нельзя задать цвета линий в настройках.

 2. Работает, по-моему, так же медленно, как и PivotPoint в MT5.

 3. После удаления индикатора с графика линии остаются в качестве объектов - приходится дополнительно вручную вычищать ещё и их, хотя в MT4 достаточно было удалить индикатор для полной очистки от него графика.

 4. На W1 линии должны быть на иных уровнях - недельных.

 Это всё сообщаю на случай, если возьмётесь клонировать по полной.

 

 Тем не менее - спасибо за проделанную работу!

 

 P.S.: 2 пункт отменяется - всё ускорилось после перезапуска терминала, но это ускорение относится только к pivot_fur_d1_und_w1.mq5. 

 

код такой же, как был в MT4 - сравните их.

по поводу удаления - исправил названия удаляемых объектов (гориз. линии) в OnDeInit, т.к. в MT5 строчные и прописные наименования различаются.

Файлы:
 
Quantum писал(а)  :

код такой же, как был в MT4 - сравните их.

по поводу удаления - исправил названия удаляемых объектов (гориз. линии) в OnDeInit, т.к. в MT5 строчные и прописные наименования различаются.

 Угу. Вроде кукарекает теперь более знакомым голосом.

 Надо бы засесть за MQL5 и уже начинать становиться самостоятельным. И даже что-нибудь полезное выкладывать. Даже вдохновение есть, но нет времени - оттого поползновения длятся уже немыслимо долго...

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