インディケータ: 加重相関係数によって見つかった最近傍による価格予測 - ページ 3

 
Amos Tsopotsa #:

このコードには若干の改良が必要だが、OKJUSTASKのアイデアは理にかなっている。

私は、このコードにごくわずかな改良を加えた:

  • グローバル・スコープにb用の変数を追加する。
  • lastPatternStartTime変数を追加し、それを新しいパターン開始時間と比較し、同じでなければChartRedraw()を呼び出す条件を追加した。
(数時間のテストで判別できたことは、新しいパターンが見つかったときに縦線のカオスが現れた)。
 

もう2つほど若干の改良を加えた:

  • OnInit() を void から int に変更し、INIT_SUCCEEDED を返すようにした、
  • インジケータの最初の未来の価格値を保存するターミナル全体のGlobalVariable (GV)を追加しました(CopyBuffer()は「未来のインジケータバッファ 値」を持つEAでは機能しません)。
  • GVがターミナルから自動的に削除されるOnDeinit()を追加。

これらの変更の目的は、インディケータを自動売買により 適したものにすることです。目的に応じてより多くの将来の価格値が必要な場合は、コードの最後で0から48のバーをループし、GV値を更新してください。

 
Ryan L Johnson #:


  • インジケーターの最初の未来の価格値を保存するターミナルワイドのGlobalVariable (GV)を追加(「未来のインジケーターバッファ 値」を使用するEAでは、CopyBuffer()は機能 しません)、

これらの変更の目的は、インディケータを自動売買により 適したものにすることです。目的により多くの将来価格値が必要な場合は、コードの最後にある0から48のバーをループし、GV値を更新してください。

なぜでしょうか?将来の値であっても、インジケータ・バッファから 任意の値に アクセスできます。
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
MQL5 Book: Getting timeseries data from an indicator: CopyBuffer / Creating application programs
  • www.mql5.com
An MQL program can read data from the indicator's public buffers by its handle. Recall that in custom indicators, such buffers are arrays specified...
 
Stanislav Korotky #:
それはなぜか?インジケーターバッファからは、未来からでも どんな値にも アクセスできます。

私はインジケーターではそれができましたが、EAではできませんでした。EAでそうしている他の例/記事はありますか?

 
Ryan L Johnson #:

インジケーターではできましたが、EAではできませんでした。EAでそのようなことをしている他の例/記事はありますか?

私の投稿#24は 無視してください。私はEAでCopybuffer()の間違ったフォームを使っていたのではないかと疑っています。正しいのは

"[I]パラメータ CopyBuffer ( 第一形式)では、オフセットを(- N)に 等しく 与えなければならない..." です。

int CopyBuffer(int handle, int buffer, int offset, int count, double &array[])
 

Stanislav Korotky, ドキュメントへのリンクありがとうございます。最初のフォーム」は将来のバッファ値をコピーするのに非常に便利です。

遅ればせながら、このインディケータのソースコードを掲載していただきありがとうございます 数十年前のこのような価格パターンが、現在でも有効であるとは思いもしませんでした。私はこのインジケーターを使い、すぐに2つの勝ちトレードを捕まえました。ひとつは1999年頃、もうひとつは2005年頃のものです。

以下は、現在使用しているインジケータのコードです(GVは削除):

 

開始時刻が同じで終了時刻が現在のパターンと異なる新しい価格パターンが出現することが考えられるので、条件付きChartRedraw()関数──にパターン終了時刻を追加した。開始時刻の違いか終了時刻の違いのどちらかでChartRedraw()が呼び出されます。

 

このインジケーターはテスト可能である。

インジケーターに2本の垂直線(計算開始と計算終了)を追加する必要があります。

そして、赤い線がどこに来るか、チャートがどのように形成されたか、すなわち、予想が実行可能かどうかをすぐに確認することができます。

 
Renat Akhtyamov 垂直線を 追加する必要があります。

そして、赤い線がどこに来るか、チャートがどのように形成されたか、すなわち、予想が実行可能かどうかをすぐに確認することができます。

これが、ヒストリカル・パターンの始値をオーバーレイとして描く青い線の目的です。
 
ここでは、歴史的な青い線と比較するために、"バカバカしいほど単純な "バー・オープン価格 インジケーターを紹介しよう。
ファイル: