どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1164

 
Aleksey Vyazmikin:

つまり、レベルを描いて、プログラムがそれを見つけて価格を読み取るということですか?


いいえ、インジケータはClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2] ...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] というアルゴリズムを使ってそれらを描画するのです。

これらのレベルの価格が分からないので、これらのフォーメーション(ライン)が破られたとき、インジケータは例えば次のようなアイコンを描画します。

 

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] このフォーメーションでは、最小値i+2の価格を取得する必要が あります。

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]このフォーメーションでは最大i+2の価格を取得する必要が あります。

そして、高値・中値をブレイクしたら、インジケータは例えばアイコンを描くはず です。私は、Close[i+1]>フォーメーションからの最高値(i+2)として上方ブレイクアウトを見ます

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] の場合。

 
Lankaster:

Close[i+1]>Open[i+1] && Close[i+2]<Open[i+2] このフォーメーションでは、最小値i+2の価格を取得する必要が あります。

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2]このフォーメーションでは最大i+2の価格を取得する必要が あります。

そして、高値・中値をブレイクしたら、インジケータは例えばアイコンを描くはず です。私は、Close[i+1]>フォーメーションからの最高値(i+2)として上方ブレイクアウトを見ます

Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2].


この方法は試していない。

High[iHighest(Symbol(),Period(),2,i)]; - iからi+2までが最大。

Low[iLowest(Symbol(),Period(),2,i)]; - iからi+2までで始まる最小値。

 
Vitalii Ananev:

この方法は試していない。

High[iHighest(Symbol(),Period(),2,i)]; - iからi+2までで始まる最大値。

Low[iLowest(Symbol(),Period(),2,i)]; - iからi+2までで始まる最小値。


間違っていなければ、2本のローソク足の間にある最大値と最小値を、その方向に関係なく検索します。

第1フォーメーションの強気ローソク足の最大値と第2フォーメーションの弱気ローソク足の最小値です。

これがクリアになるといいのですが、もう頭が沸騰しそうです :)

 
Lankaster:

いいえ、インジケータはClose[i+1]>Open[i+1] && Close[i+2]<Open[i+2] ...Close[i+1]<Open[i+1] && Close[i+2]>Open[i+2] アルゴリズムを使用して描画されるでしょう。

これらのレベルの価格が分からないので、これらのフォーメーション(ライン)が破られたとき、インジケータは例えば次のようなアイコンを描画します。

残念ながら、私はまだそれを理解していませんが、それはDoncian チャンネルのように見えます - コードベースを見てください...
 
Aleksey Vyazmikin:
残念ながら、私はまだそれを理解していませんが、それはDonchianチャンネルのように見えます - コードベースを見てください...

はい、あなたは正しいですそれはこのリンクでドンチャンネルのように見える https://www.mql5.com/ru/code/10836 しかし、私はアイコンを描画する方法を理解していないときに閉じるClose[i+1]は、チャートの上に、例えば2012年6月12日にインジケータが高値をマークしたことを見ることができますが、どのようにしてこのクロスオーバーのコードを見るのでしょうか?Close[i+1]>Donchian channel? しかし、このClose[i+1]はどのようにしてクロスする値を知るのでしょうか? なぜなら、この最大値と現在の価格の 間に、チャネルがマークしたローカルハイがあり、それらのハイは独自の指標値を持っているのです。

Канал Дончиана.
Канал Дончиана.
  • 投票: 7
  • 2012.09.10
  • Лёха
  • www.mql5.com
Классический вариант индикатора со средней линией.
 
Lankaster:

はい、あなたは正しいですそれはこのリンクでDonchianチャネルのように見えます https://www.mql5.com/ru/code/10836 しかし、私はアイコンを描画する方法を理解していないときにClose[i+1]は、チャートの上に例えば2012年6月12日に閉じ、インジケータが高いマークが表示されますが、どのようにこの交差点のコードが見えるのでしょうか。Close[i+1]>ドンチャンネル? しかし、このClose[i+1]はどのような値でクロスするのか、どうやって知るのでしょうか?


インジケータ-iCustom機能で価格を比較する必要があります。

 
Aleksey Vyazmikin:

インジケータ-iCustom関数で価格比較をする必要があります。


この比較は理解できない。もしかしたら、最大値と最小値の水平線画を 作り、それぞれの線に名前をつけて、ObjectGetを使って、これらの線の価格を取得する方が簡単かもしれませんね。

 
Lankaster:

この比較は理解できない。おそらく、これらの高値と安値を水平線で 描き、各線に名前を付けて、ObjectGetでこれらの線の価格を取得する方が簡単でしょう?


インジケーターの設定を見てください、もしかしたら他のアイデアがあるかもしれません...。

このアイデアは、インジケータ内でクロスオーバーの初期点を見つけ、配列に集め、インジケータの外に変換することです。したがって、計算がチャート全体に対して行われ、Expert Advisorなどでバーごとに数回データにアクセスする必要があれば、より少ないリソース消費となるでしょう。

 
Aleksey Vyazmikin:

インジケーターの設定を見てください、もしかしたら他のアイデアがあるかもしれません...。

このアイデアは、インジケータでプライマリークロスオーバーのポイントを見つけ、グラフィック配列に集め、インジケータから変換することです。計算がチャート全体で行われるべきで、例えばExpert Advisorでバーごとに数回データにアクセスする必要があるなら、この方がリソース消費が少なくなります。


ありがとうございます、やってみます。