無料でロボットをダウンロードする方法を見る
Twitter上で私たちを見つけてください。
私たちのファンページに参加してください
興味深いスクリプト?
それではリンクにそれを投稿してください。-
他の人にそれを評価してもらいます
記事を気に入りましたか?MetaTrader 5ターミナルの中でそれを試してみてください。
インディケータ

Professional ZigZag - MetaTrader 5のためのインディケータ

ビュー:
2520
評価:
(48)
パブリッシュ済み:
2016.04.25 15:49
アップデート済み:
2016.11.22 07:34
MQL5フリーランス このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動

注意事項!このバージョンのZigZagインディケータはZigZagコードに基づいていて、作者のPPCの許可を得てここに発表されています。そのバージョンをテストし、アルゴリズムのエラーを修正しました。

このコードはMetaTrader 4のZigzagインディケータのMQL5バージョンです。

注意事項!AlexSTAL_OutsideBar.mqh ライブラリは MetaTrader 5 クライアント端末の   ..\MQL5\Include\ フォルダに位置します。

これで全部ですか?

ZigZagは価格チャートの短縮版みたいなものだと思います。ZigZagはバーの価格(例えば終値) またはバーの高/安値を使って(最も一般的な方法)計算できます。

MetaQuotesによって提案された標準的なZigZagを操作しながら、私はいくつかのエラーを発見しました。主な問題は、標準的なZigZagはバーの外のケースを扱わないということです。

2007年に Rashid Umarov (Rosh) はバー外のケースを扱うZigzag2 Rコードを発表しました( DRAW_SECTIONに代わるDRAW_ZIGZAGスタイル)。

「正しい」ZigZag 実装の特徴を定義しましょう。

  • 高値と安値は厳密に交互にする必要があります。
  • 高値は、次の(反対)安値までの右側のすべてのバーの中で一番高い(または同等である)必要があります。
  • 安値は、次の(反対)高値までの左側のすべてのバーの中で一番低い(または同等である)必要があります。

例(EURUSD、H1、2006、12月8-13)で見てみましょう。ここにはバー外のケースが2つあります。典型的なZigZagは「正しい」図を構築できません。

図1。入力パラメータ [12;5;3] と [12;0;0]を持つ典型的なZigZag

図1。入力パラメータ [12;5;3] と [12;0;0]を持つ典型的なZigZag

図2。入力パラメータ [12;5;3]を持つZigzag2 R

2。入力パラメータ [12;5;3]を持つ Zigzag2 R


図3。入力パラメータ [12;0;0]を持つZigzag2 R

3。入力パラメータ [12;0;0]を持つ Zigzag2 R

一見、正しい構築はFigure 3に見られますが、幾つかの特徴があります。

  1. この場合、入力パラメータのためには正しく構築されていますが、一般的アルゴリズムは任意のパラメータで動作する必要があります。
  2. バーの高/安形成のため、左側のバーの外側が不正です。


ZigZag セグメントはこのように構築される必要があります。

下記のZigZagアルゴリズムは様々な場合にテストされました。 ZigZag MT3, ZigZag, Zigzag R, Zigzag2 R, ZigZag_NK, ZigZag_ZUP89_nen, ZigZag_new_nen4, CZigZag, Swing_ZZ_1, DT_ZZ_nen, ZigZag_Talex, Reverse_ZZ, Points_ZZ_1, i_MF_Fractal_ZZ_3in1, ang_Amp_ZZ, ZigzagFr_v1, NonLagZigZag_v2, ZZ_FF_v3, ZigZag Ensign, ZigZag tauber, SQZZ Товаровед, ZZ_2L_nen wellx, Channel ZZ, Azzx_larryzz_3_0, RPoint, RPoint-m v2, ZigZagTF。これらのいずれも正確に問題を解決していません。


このインディケータの値は以下のとおりです。

図4。入力パラメータ [12;0]を持つプロ向けのZigZag

図4。入力パラメータ [12;0]を持つプロ向けのZigZag

図5。入力パラメータ[23;0]を持つプロ向けのZigZag

図5。入力パラメータ[23;0]を持つプロ向けのZigZag


このバージョンの特徴は下記を含みます。

  • ワンパスアルゴリズム
  • 最後のセグメントのみが再計算・再描画されます(セグメントは、履歴更新を除いてキャンセルすることはできません)。
  • バー内部の計算のための最適化アルゴリズムがあります(ティックの再計算を使用されず、価格が0(未完了)バー内で変更したり価格変更がMinMotion入力パラメータで定義された)。
  • 高/安の形成の順序には、バーの種類を使うもの(高速だが正確ではない)と下部の時間枠のデータを使うもの(履歴が必要なのでその存在と正確さを確認するか OutsideBarライブラリの編集が必要です)ものの2つのアルゴリズムがあります。
MetaTrader 5 相場の正確さが確認されていないため、ProExtraバージョンは公開されていません。


不正なZigZag構成のさらなる例は下記です。

図6。EURUSD、H1、11月29日-12月7日(赤線:入力パラメータ[7;0;0]を持つZigZag。青線:入力パラメータ [7;0;0]を持つZigzag2 R 。

図6。 EURUSD、H1、11月29日-12月7日(赤線:入力パラメータ[7;0;0]を持つZigZag。青線:入力パラメータ [7;0;0]を持つZigzag2 R

図7。EURUSD、H1、2010、11月29日-12月7日。ZigZagセグメントの政党な構築。

図7。 EURUSD、H1、2010、11月29日-12月7日ZigZagセグメントの政党な構築。


結末

残念ながら、このバージョンは完璧ではありませんが、取り組み中です。

チャンネルアルゴリズム(iHighest/iLowest)のせいで、時には高値がスキップされます。

この指標のバグや機能についてお知らせください。

MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/263

SelfGenerator SelfGenerator

このスクリプトは、そのソースコード(MQL5における古典的なプログラムの解決法)を使用してファイルを生成します。プログラムとアルゴリズムを研究するのに有用かもしれません。

cIntBMP - BMP画像作成ライブラリ cIntBMP - BMP画像作成ライブラリ

BMP画像の作成と出力のためのライブラリ

sChartsSynchroScroll_v2 sChartsSynchroScroll_v2

sChartsSynchroScrollスクリプトの新しいバージョン。

RouletteGame RouletteGame

ルーレットゲーム。