Элитные показатели :) - страница 431

 

самопродвигающаяся линия снижения

mladen:
Это "само" опережающая линия снижения ....

...это круто! Действительно хорошо для оценки тренда...

 

...

ValeoFX

Используйте этот. Он отличается от того, который вы выложили. Я решил использовать этот, так как тот, который вы выложили, перерисовывает цвета (посмотрите, когда есть некоторые наклоны, на которых цвет не меняется должным образом - это и есть перерисовывающая часть индикатора). Кроме того, этот индикатор чище и, следовательно, более подходит для добавления к нему дивергенции.

Добавлена опция показывать гистограмму наклона или нет, так что вы можете иметь "чистый вид" (как выше) или вид индикатора "с наклоном". Также я хотел бы напомнить, что по определению Уильяма Блауса эргодичность имеет место только в том случае, если длины равны 32,5,5. Другие длины (по его определению) - это уже не эргодичность, а "простой" индекс истинной силы.

ValeoFX:
Mladen, в отличие от того, что выглядит как очень полезный индикатор выше, моя просьба - просто прикрепить дивергенцию к этому индикатору, плз.

Я знаю, что вы сейчас думаете на другой равнине, так что я могу подождать.

Заранее благодарю.
 

Ты гениальный человек, ты!

mladen:
ValeoFX

Используйте этот. Он отличается от того, который вы разместили. Я решил использовать этот, так как тот, который вы выложили, перерисовывает цвета (посмотрите, когда есть некоторые наклоны, на которых цвет не меняется должным образом - это и есть перерисовывающая часть индикатора). Кроме того, этот индикатор более чистый и поэтому более подходит для добавления к нему дивергенции.

Добавлена опция показывать гистограмму наклона или нет, таким образом, вы можете иметь "чистый вид" (как выше) или вид индикатора "с наклоном". Также хочу напомнить, что по определению Уильяма Блауса эргодичность имеет место только в том случае, если длины равны 32,5,5. Другие длины (по его определению) - это уже не эргодичность, а "простой" индекс истинной силы.

======================

Искренне благодарю Вас, Младен. Я часто благодарю Господа за Вашу бескорыстную помощь этому сообществу в целом и мне в частности. Я не могу похвалить Вас!

Я протестирую, как вы предложили, и дам вам знать.

С наилучшими пожеланиями.

 

Отличная работа!

....many спасибо вам еще раз за эту замечательную работу. Вы настоящий супермодератор...

 

великий инди

Привет, Младен,

Спасибо за этот интересный индикатор... действительно очень хорошая идея...

Было бы интересно иметь "центрированную" версию с нулевой линией? Как вы думаете, это возможно?

спасибо

A.

 

Здравствуйте, может ли кто-нибудь сказать мне, почему этот индикатор и алерт выскакивает около 15 сообщений и отправляет около 30 писем на один алерт?

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

//+------------------------------------------------------------------+

extern int Back=4;

//+------------------------------------------------------------------+

double ExtMapBuffer1[];

//+------------------------------------------------------------------+

int init(){

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,167);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

return(0);

}

//+------------------------------------------------------------------+

int start(){

int i,j,pos;

for(i=Bars-IndicatorCounted()-1;i>=0;i--){

if ((HighLow))

Alert ("Inside bar alert ",Symbol()+""+Period()+"": Buy Alert @ "+DoubleToStr(Ask,Digits));

SendMail (StringConcatenate(Symbol()," Daily inside bar"),StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," Possible daily inside bar "));

{

pos=i;

for(j=i+1;j<i+Back;j++)

if ((High[j]-Low[j])<(High-Low))

pos=j;

if (pos==i)

ExtMapBuffer1=(High+Low)/2;

}

}

return(0);

}

спасибо

 

...

Вы должны ограничить количество поднимаемых алертов. Самый простой способ - сделать что-то вроде этого (это только start() и один из возможных способов, как количество алертов может быть ограничено до 1 на бар)

int start()

{

int i,j,pos;

static datetime lastTime=0;

for(i=Bars-IndicatorCounted()-1;i>=0;i--)

{

if ((HighLow) && lastTime!=Time[0])

{

lastTime = Time[0];

Alert ("Inside bar alert ",Symbol()+" "+Period()+": Buy Alert @ "+DoubleToStr(Ask,Digits));

SendMail (StringConcatenate(Symbol()," Daily inside bar"),StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," Possible daily inside bar "));

}

pos=i;

for(j=i+1;j<i+Back;j++)

if ((High[j]-Low[j])<(High-Low)) pos=j;

if (pos==i) ExtMapBuffer1=(High+Low)/2;

}

return(0);

}
jackjones:
Здравствуйте, может ли кто-нибудь сказать мне, почему этот индикатор и алерт выскакивает около 15 сообщений и отправляет около 30 писем на один алерт?

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Red

//+------------------------------------------------------------------+

extern int Back=4;

//+------------------------------------------------------------------+

double ExtMapBuffer1[];

//+------------------------------------------------------------------+

int init(){

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,167);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexEmptyValue(0,0.0);

return(0);

}

//+------------------------------------------------------------------+

int start(){

int i,j,pos;

for(i=Bars-IndicatorCounted()-1;i>=0;i--){

if ((HighLow))

Alert ("Inside bar alert ",Symbol()+""+Period()+"": Buy Alert @ "+DoubleToStr(Ask,Digits));

SendMail (StringConcatenate(Symbol()," Daily inside bar"),StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," Possible daily inside bar "));

{

pos=i;

for(j=i+1;j<i+Back;j++)

if ((High[j]-Low[j])<(High-Low))

pos=j;

if (pos==i)

ExtMapBuffer1=(High+Low)/2;

}

}

return(0);

}

спасибо
 

проект"дивергенция

Младен, некоторое время назад вы писали, что работаете над специальным индикатором/проектом дивергенции (?). Будет ли он основан на конкретном индикаторе (индикаторах) - таких как CCI, MACD и/или других осцилляторах, или скорее на чем-то более общем?

 

...

На самом деле он не основан на каком-либо индикаторе (и это цель, которую я пытаюсь достичь).

Он должен быть способен сравнивать любое значение с ценой и (с некоторым допуском) он должен быть способен сравнивать пики. И последняя часть ("пики") - это то, что меня убивает: проблема в том, что пики не могут быть определены без перерисовки - пересчета, что делает любую дивергенцию хорошей в ретроспективе и не такой полезной в реальном времени. Именно эту проблему я хотел бы попытаться решить... после этого все, что нужно сделать, это указать текущее значение чего-либо (значение из любого другого индикатора), которое должно сравниваться с ценами, и функция должна быть в состоянии найти дивергенции.

Возможно, вы заметили, что в это время я даже попробовал дивергенцию наклона (которая близка к дивергенции времени исполнения, но она должна иметь некоторые критерии для сравнения различных длин наклона друг с другом) В общем, это напоминает проблему, над которой ломают голову: когда думаешь об этом, кажется, что это просто, но когда пытаешься закодировать, это становится все сложнее и сложнее, и я ненавижу это.

wojtek.paul:
Младен, некоторое время назад вы писали, что работаете над специальным индикатором дивергенции/проектом (?). Будет ли он основан на конкретном индикаторе (индикаторах) - таких как CCI, MACD и/или других осцилляторах, или скорее на чем-то более общем?
 

да, это звучит очень интересно, и проблема, которую вы описали, отнюдь не тривиальна, но я уверен, что вы найдете решение; спасибо за подробное объяснение

возможно, что-то вроде зигзага (например, тот, который используется в индикаторе Semafor, так что он рисует свою последнюю линию без задержки) может помочь - он определяет некоторый локальный максимум (или минимум, соответственно), и когда цена уменьшается (увеличивается) на определенное количество (пунктов)*, это будет первый максимум (или минимум) для определения возможной дивергенции; далее, когда - и если - зигзаг изменит свое положение на другой, последующий более высокий максимум (или более низкий минимум), а затем цена уменьшится (увеличится) на определенную величину*, это будет второй и последний максимум (или минимум) для определения дивергенции... (??) это общая идея, я не знаю, имеет ли она смысл и может ли быть успешно запрограммирована.

* или следующая свеча закрывается (но не "намного ниже", чем последняя позиция зигзага), или индикатор - может быть, на более быстром (меньшем) ТФ - дает сигнал, и т.д.

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