지그재그 표시기 - 페이지 15

 
DamonThailand:
여보세요,

빠른 검색으로 이것을 찾을 수 없었기 때문에 이것은 여기에 나의 첫 번째 게시물입니다.

여러 기간에 걸쳐 ZigZag 표시기를 사용하고 있습니다. 적절한 고/저를 추적하도록 매개변수를 설정했지만 차트의 텍스트에 고/저 값을 표시하고 싶습니다.

내가 원하는 것을 스크린샷으로 찍었습니다(내가 찾고 있는 것을 보여주기 위해 수동으로 텍스트를 추가한 후).

P1, P2, P3 텍스트와 해당 고/저 EUR/USD 값을 차트에 이렇게 인쇄할 수 있습니까?

가격이 계속 오르거나 내리면 P3의 가치가 실시간으로 변한다는 것을 이해합니다.

나는 마지막 3개의 값만 필요하고 오래된 값은 중요하지 않습니다.

조언이나 제안을 해주셔서 감사합니다. 나는 코더는 아니지만 너무 어려운 일이 아니라면 이 일을 할 수 있을 것입니다!

사용 중인 코드를 게시해야 합니다.

 

표준 지그재그 표시기 를 사용하고 있습니다. 그러나 요청한 대로 코드를 게시하고 있습니다.

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

//| Zigzag.mq4 |

//| Copyright ฉ 2005-2007, MetaQuotes Software Corp. |

//| http://www.metaquotes.net/ |

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

#property copyright "Copyright ฉ 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property indicator_chart_window

#property indicator_buffers 1

#property indicator_color1 Yellow

//---- indicator parameters

extern int ExtDepth=12;

extern int ExtDeviation=5;

extern int ExtBackstep=3;

//---- indicator buffers

double ZigzagBuffer[];

double HighMapBuffer[];

double LowMapBuffer[];

int level=3; // recounting's depth

bool downloadhistory=false;

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

//| Custom indicator initialization function |

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

int init()

{

IndicatorBuffers(3);

//---- drawing settings

SetIndexStyle(0,DRAW_SECTION);

//---- indicator buffers mapping

SetIndexBuffer(0,ZigzagBuffer);

SetIndexBuffer(1,HighMapBuffer);

SetIndexBuffer(2,LowMapBuffer);

SetIndexEmptyValue(0,0.0);

//---- indicator short name

IndicatorShortName("ZigZag("+ExtDepth+","+ExtDeviation+","+ExtBackstep+")");

//---- initialization done

return(0);

}

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

//| |

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

int start()

{

int i, counted_bars = IndicatorCounted();

int limit,counterZ,whatlookfor;

int shift,back,lasthighpos,lastlowpos;

double val,res;

double curlow,curhigh,lasthigh,lastlow;

if (counted_bars==0 && downloadhistory) // history was downloaded

{

ArrayInitialize(ZigzagBuffer,0.0);

ArrayInitialize(HighMapBuffer,0.0);

ArrayInitialize(LowMapBuffer,0.0);

}

if (counted_bars==0)

{

limit=Bars-ExtDepth;

downloadhistory=true;

}

if (counted_bars>0)

{

while (counterZ<level && i<100)

{

res=ZigzagBuffer;

if (res!=0) counterZ++;

i++;

}

i--;

limit=i;

if (LowMapBuffer!=0)

{

curlow=LowMapBuffer;

whatlookfor=1;

}

else

{

curhigh=HighMapBuffer;

whatlookfor=-1;

}

for (i=limit-1;i>=0;i--)

{

ZigzagBuffer=0.0;

LowMapBuffer=0.0;

HighMapBuffer=0.0;

}

}

for(shift=limit; shift>=0; shift--)

{

val=Low;

if(val==lastlow) val=0.0;

else

{

lastlow=val;

if((Low[shift]-val)>(ExtDeviation*Point)) val=0.0;

else

{

for(back=1; back<=ExtBackstep; back++)

{

res=LowMapBuffer[shift+back];

if((res!=0)&&(res>val)) LowMapBuffer[shift+back]=0.0;

}

}

}

if (Low[shift]==val) LowMapBuffer[shift]=val; else LowMapBuffer[shift]=0.0;

//--- high

val=High;

if(val==lasthigh) val=0.0;

else

{

lasthigh=val;

if((val-High[shift])>(ExtDeviation*Point)) val=0.0;

else

{

for(back=1; back<=ExtBackstep; back++)

{

res=HighMapBuffer[shift+back];

if((res!=0)&&(res<val)) HighMapBuffer[shift+back]=0.0;

}

}

}

if (High[shift]==val) HighMapBuffer[shift]=val; else HighMapBuffer[shift]=0.0;

}

// final cutting

if (whatlookfor==0)

{

lastlow=0;

lasthigh=0;

}

else

{

lastlow=curlow;

lasthigh=curhigh;

}

for (shift=limit;shift>=0;shift--)

{

res=0.0;

switch(whatlookfor)

{

case 0: // look for peak or lawn

if (lastlow==0 && lasthigh==0)

{

if (HighMapBuffer[shift]!=0)

{

lasthigh=High[shift];

lasthighpos=shift;

whatlookfor=-1;

ZigzagBuffer[shift]=lasthigh;

res=1;

}

if (LowMapBuffer[shift]!=0)

{

lastlow=Low[shift];

lastlowpos=shift;

whatlookfor=1;

ZigzagBuffer[shift]=lastlow;

res=1;

}

}

break;

case 1: // look for peak

if (LowMapBuffer[shift]!=0.0 && LowMapBuffer[shift]<lastlow && HighMapBuffer[shift]==0.0)

{

ZigzagBuffer[lastlowpos]=0.0;

lastlowpos=shift;

lastlow=LowMapBuffer[shift];

ZigzagBuffer[shift]=lastlow;

res=1;

}

if (HighMapBuffer[shift]!=0.0 && LowMapBuffer[shift]==0.0)

{

lasthigh=HighMapBuffer[shift];

lasthighpos=shift;

ZigzagBuffer[shift]=lasthigh;

whatlookfor=-1;

res=1;

}

break;

case -1: // look for lawn

if (HighMapBuffer[shift]!=0.0 && HighMapBuffer[shift]>lasthigh && LowMapBuffer[shift]==0.0)

{

ZigzagBuffer[lasthighpos]=0.0;

lasthighpos=shift;

lasthigh=HighMapBuffer[shift];

ZigzagBuffer[shift]=lasthigh;

}

if (LowMapBuffer[shift]!=0.0 && HighMapBuffer[shift]==0.0)

{

lastlow=LowMapBuffer[shift];

lastlowpos=shift;

ZigzagBuffer[shift]=lastlow;

whatlookfor=1;

}

break;

default: return;

}

}

return(0);

}

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

 

지그재그 fibo(경보 또는 경고가 true 또는 false로 조정되지 않음)

newdigital:
기타 지그재그 표시기 https://www.mql5.com/en/forum/178335/page14

훌륭한 작업이 실제로 여기에서 이루어졌으며 포럼에 어떤 식으로든 공헌한 모든 사람들에게 매우 감사합니다. 나는 단지 며칠이 지났고 지금까지 본 것에 만족합니다.

단지 도움을 위해,

1) 피보나치 레벨 표시기가 있는 지그재그가 있습니까(경고 또는 경고가 거짓이거나

진실)?

2) 스토캐스틱 오실레이터가 과매수/과매도 영역 내에 있을 때마다 정확하거나 대략적인 전환점을 보여줄 지표를 진지하게 찾고 있습니다. 즉, 매개변수의 확률론이 시간 프레임을 사용하여 과매수/과매도 영역에 들어갈 때마다 다른 지표(또 다른 지표)가 시장/가격이 가장 역전될 가능성이 있는 수준을 나타냅니다.

나는 도움을 기쁘게 생각합니다.

 
knmoore:
훌륭한 작업이 실제로 여기에서 이루어졌으며 포럼에 어떤 식으로든 공헌한 모든 사람들에게 매우 감사합니다. 나는 단지 며칠이 지났고 지금까지 본 것에 만족합니다.

단지 도움을 위해,

1) 피보나치 레벨 표시기가 있는 지그재그가 있습니까(경고 또는 경고가 거짓이거나

진실)?

2) 스토캐스틱 오실레이터가 과매수/과매도 영역 내에 있을 때마다 정확하거나 대략적인 전환점을 보여줄 지표를 진지하게 찾고 있습니다. 즉, 매개변수의 확률론이 시간 프레임을 사용하여 과매수/과매도 영역에 들어갈 때마다 다른 지표(또 다른 지표)가 시장/가격이 가장 역전될 가능성이 있는 수준을 나타냅니다.

도움이 된다면 기뻐할 것입니다.

이 스레드 중 일부가 당신을 좋아할 수 있습니다.

https://www.mql5.com/en/forum/173172

https://www.mql5.com/en/forum/173439

https://www.mql5.com/en/forum/173588

 
knmoore:
훌륭한 작업이 실제로 여기에서 이루어졌으며 포럼에 어떤 식으로든 공헌한 모든 사람들에게 매우 감사합니다. 나는 단지 며칠이 지났고 지금까지 본 것에 만족합니다.

단지 도움을 위해,

1) 피보나치 레벨 표시기가 있는 지그재그가 있습니까(경고 또는 경고가 거짓이거나

진실)?

2) 스토캐스틱 오실레이터가 과매수/과매도 영역 내에 있을 때마다 정확하거나 대략적인 전환점을 보여줄 지표를 진지하게 찾고 있습니다. 즉, 매개변수의 확률론이 시간 프레임을 사용하여 과매수/과매도 영역에 들어갈 때마다 다른 지표(또 다른 지표)가 시장/가격이 가장 역전될 가능성이 있는 수준을 나타냅니다.

나는 도움을 기쁘게 생각합니다.

항상 정확하지만 불행히도 느린 유일한 것을 찾았습니다.

 
bryant:
안녕하세요,여기에 하나의 표시기를 보았지만 완전하지 않습니다.완전한 것을 가지고 있지만 그 안에 단어를 알지 못합니다.누군가 나에게 그것을 영어로 번역하는 것을 부탁할 수 있습니다.대단히 감사합니다!!! !!

안녕

이 주제의 1페이지 참조

 

모든 지그재그 표시기 를 게시해 주셔서 감사합니다. 모든 것을 합산하면 기본적으로 3가지 유형의 지그재그가 있는 것 같습니다.

1. 오리지날 지그재그 기반 인디케이터

2. Dinapoli 기반 지표 즉 High/Low 지그재그

3. 비 지연 지그재그, 간 및 스윙 표시기는 둘 사이의 일종의 절충안입니다.

모든 지그재그 기반 표시기는 다시 칠해지며 모두 원래 코드 기반을 포함하기 때문에 발견할 수 있습니다. 여기에는 모든 지그재그 포인터, 전환점에서의 지그재그가 포함됩니다.

디나폴리 기반 지표는 일반적으로 'Barn' 문을 extern int로 포함합니다. 이 지표는 다시 칠하지 않고 매우 신뢰할 수 있습니다. 문제는 이 지표가 역사에서 작동하고 다음 레그를 형성하는 데 매우 느리다는 것입니다.

Non lag gann 및 swing은 Dinapoli 유형 코드의 일부 변형이 포함된 지그재그로 보이며 대부분 다시 칠하지 않지만 가끔 합니다.

글쎄, 나를 위해 그것은 여전히 그림판으로 돌아가고 더 많은 것이 올 것이라고 확신합니다.

 

또는 이렇게 넣어

zz에는 세 가지 유형이 있습니다.

1. 오리지널 zz 기준

2. 원본이 아닌 것을 기반으로 함

3.기타

여기 또 하나가 있습니다:

 
fxbs:
또는 이렇게 넣어

zz에는 세 가지 유형이 있습니다.

1. 오리지널 zz 기준

2. 원본이 아닌 것을 기반으로 함

3.기타

여기 또 하나:

간결하다

여기 또 하나: 채널이 있는 zz

 
moha00:
안녕하세요 이 주제의 1페이지를 참조하세요

감사합니다!그건 알지만 하나가 완전하지 않고 코드의 일부가 어떻게든 사라졌습니다!내가 원하는 것은 통합된 것입니다

사유: