ジグザグ指標 - ページ 15

 
DamonThailand:
こんにちは。

検索しても見つからなかったので、こちらに初めて投稿させていただきます。

私はZigZagインジケータを複数のタイムフレームで使用しています。パラメータを設定して、適切な高値/安値を追跡するようにしましたが、高値/安値の値をチャート上にテキストで表示させたいと思います。

私が欲しいもののスクリーンショットを撮りました(私が探しているものを示すために手動でテキストを追加した後)。

P1, P2, P3 のテキストとそれに対応する EUR/USD の高値・安値をこのようにチャート上に印刷させることは可能でしょうか?

P3の値は、価格が上下に動き続けるにつれてリアルタイムで変化することは理解しています。

最後の3つの値だけが必要で、それ以前のものは重要ではありません。

何かアドバイスや提案があれば、ありがとうございます。私はあまりコーダーではないのですが、もしかしたら、あまり難しい仕事でなければ、これをうまくやることができるかもしれませんよ。

使用しているコードを投稿する必要があります

 

標準のZigZagインジケータを 使用しています。しかし、私は要求されたようにコードを投稿しています。

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

//| 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);

}

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

 

zigzag fibo(アラートなし、またはアラートがtrueまたはfalseに調整されたもの)

newdigital:
他のジグザグ指標https://www.mql5.com/en/forum/178335/page14

偉大な仕事は、実際にここで行われているとかなりフォーラムに一方的にcontirbutedているすべての人に感謝します。私はちょうど数日前と私はこれまで見てきたものに満足しています。

ただ、ヘルプのために。

1)フィボナッチレベルインジケータ(アラートなしまたはアラートが偽または真になることができます)と任意のジグザグがあるのでしょうか?

を持つジグザグはありますか?)

2) ストキャスティックオシレーターが買われすぎ、売られすぎの領域にあるときに、正確またはおおよその転換点を示してくれるようなインジケータを真剣に探しています。つまり、ストキャスティクスが買われすぎ、売られすぎの領域に入ったときに、何か別の指標で、相場が反転する可能性の高いレベルを示してくれるようなものです。

また、このような場合、どのように対処すればよいのでしょうか?

 
knmoore:
素晴らしい仕事は、実際にここで行われており、かなりフォーラムに一方的にcontirbutedているすべての人に感謝します。私はちょうど数日前に、私は私がこれまで見てきたものと満足しています。

ちょうど助けのために。

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.ディナポリ(High/Lowジグザグ)をベースとしたもの。

3.ノン・ラグ・ジグザグ、ギャン、スイングの指標は、この2つの間の妥協点のようなものです。

すべてのジグザグベースの指標を再描画し、それらはすべて、元のコードベースが含まれているため、それらを見つけることができます、これらはすべてのジグザグポインタ、ターニングポイントでジグザグが含まれています。

ディナポリに基づく指標は、通常、'Barn'ステートメントをextern intとして含んでいます。これらの指標は再描画されず、非常に信頼性が高いのですが、問題は、履歴から動作し、次の足を形成するのが非常に遅いことです。

ノン・ラグ・ギャンとスイングはジグザグで、ディナポリ・タイプのコードのバリエーションが含まれているようで、ほとんどは再描画されませんが、時々再描画されます。

さて、私にとっては、それはまだ図面に戻って、私は確信しているより来るために

 

とか、こんな風に言います。

zzには3つのタイプがあります。

1. オリジナルのZZをベースにしたもの

2.オリジナルではないものをベースとしたもの

3.その他

ということです。

 
fxbs:
または、以下のようになります。

は、3つのタイプのZZがあります。

1. オリジナルのZZをベースにしたもの

2.オリジナルではないものをベースとしたもの

3.その他

ここにも

以上、簡単に説明しました。

もうひとつは、「チャンネル付きZZ」です。

 
moha00:
このトピックの1ページを参照してください。

ありがとうございます!私はそれを知っていたが、1つは完全ではなかった、コードの一部が何らかの形で消えてしまった!私が欲しいのは、統合されたものです。

理由: