
ZUP - ぺサベントパターンぺサベント・パターンのユニバーサル ZigZag パート 1
はじめに
金融マーケットで本格的に仕事をする者はだれも、遅かれ早かれ自分自身のトレーディングシステムを作成し始めるものです。本稿の著者はその研究の結果ぺサベントパターンぺサベント・パターンの ZigZag ユニバーサル、 ZUP を作成しました。私は、MetaQuotes Software Corp. からそのインディケータに関する記事執筆のご提案をいただきました。本稿はその初の試みです。本稿と続く記事で、インディケータ ZUP のバージョン 60 (ZUP_v60)の機能について説明します。著者が金融マーケットにアクセスするのに利用するデータセンターが MetaTrader 4 プラットフォームを使用している、となるようにしました。トレーディングターミナルに埋め込まれている標準的なインディケータは必要な効率で必要なマーケット分析を提供しませんでした。私は別の場所をみつけるよりは今いる場所を整えるのを好みましく思います。そのため、埋め込み言語である MQL4 を利用して独自のインディケータを作成することのできる MetaTrader 4 クライアントターミナルを使用して必要な市場分析をすべて行えるようにする必要がありました。
独自のインディケータ作成を始めてから、数多くのおもしろいアイデアが浮かびました。その多くはインディケータに実装されています。インディケータにオープンコードがあり、自由にアクセスできることで、情報やアイデアが入ってきやすくなりました。非営利のインディケータを作成することは主要な決定事項でした。実際、非営利的インディケータの作成は最良のソリューションでした。
理論的考察
ちょっとした研究のあと、私は ZigZag を別のアルゴリズムとコンバインすることにしぺサベントパターンと ZigZag フラクチャのフィボナッチレベルの1つのユニバーサルインディケータへの構築を自動化しました。また、フィボナッチレベルのぺサベントパターンだけでなく、異なるグラフィカルツールの描画を自動化することが可能であることもわかりました。そのようなユニバーサルインディケータに取り入れ可能なアイデア検索も作成しました。私自身は ZigZag の暗黙の潜在的特徴を明らかにするという問題を設定しました。結果、最も知られたグラフィカルツールの描画の自動化を実装することができました。新しいグラフィカルツールの中には、さまざまなフォーラムのONIX で訪問者によって提案されるそのアイデアも取り入れられています。インディケータのロジックはシンプルです。
- インディケータのインプットに対して選択したシンボルのクオートを入れる。
- さまざまな ZigZag を用いてチャート上でマーケットの高値と安値を見つける。
- 上記の高値および安江に多様なグラフィカルツールをアンカーする。
取得したグラフィカル構造をさらに処理することは、選択されたグラフィカルツールを処理するロジックの知識が必要であること意味します。本稿では、ZUP に埋め込まれた ZigZag について説明します。また ZUP で使用されるグラフィカルツールに関してもいくらか述べます。それらについては、埋め込みグラフィカルツールについての次の記事で詳しく説明する予定です。インディケータに埋め込まれたグラフィカルツールを処理するソースの参照をすべて適切に名付けるようにするつもりです。私は、それらはグラフィカルツールの基本的な考えを理解する人のために研究されるべきだと思います。
最近読んだ本は [1] として言及されています。この本のサブタイトルは "Secrets of Golden Section" です。この本は自然現象において"Golden Section" がどのように出現するか述べています。その後、私は [2] として参照されている本を読みました。これら 2 つの情報源はインディケータをどの方向で作成すべきか知ることに役立ちました。以前作成したときは少しばかり混乱していました。以下は Yu.N. からの引用です。Sokolov' の著書:
「宇宙の基盤は存在するのでしょうか?もしするとすればそれは何でしょうか?1981 年以降発展してきたサイクルの一般理論において、この質問に対する答えはすでにかなり明確に提示されています。そうです、宇宙の基盤は確かに存在し、それらはユニバーサルな相互作用構造です。どんな相互作用-そして世界、も基本的に物質の相互作用にすぎませ
ん。ユニバーサルなパターンに従って構築されているのです。このパターンには周期性、すなわち周期の中の時間やあらゆるパラメータの変化、が波曲線で描かれます。われわれはこのパターンを『相互作用の量子』 … 相互作用の量子研究結果は外界全体は唯一の法則、すなわち相互作用量子時空の環状構造の法則で述べられる、という結論に導いた。…」" [2:7 翻訳: MetaQuotes Software Corp., 2007]
相互作用には2つの力が関わります。
「Golden Section は相互作用量子の定数である。 … 一方の力を強め、一方を弱める限界はどこかという疑問が生じる。そのような限界があるに違いない。これは以下の理由から導き出される。そのような限界はないと仮定する。そうすると、一方の力を強め、もう一方をゼロまで下げることができる。これにより、一方の力だけが残る、という結果になり、これは相互作用が全くないのと同様である。もちろん、これは不可能である。よって、一方の力を強め、一方を弱める限界があるのである。力を変化する場合の限界の問題は、われわれの見解では、 Golden Sectionを用いて解決することができる。ロシアの科学実験では、近年、科学や技術の異なる分野で Golden Section の役割についてみなおされつつある。科学者ははユニバーサルな定数であることを明らかにした。ただし、Golden Section の性質はまだ調査されていない。われわれは、この性質は一般的なサイクル理論(GCT)の範囲内でのみ研究可能であると思ってる。…」[2:29 翻訳: MetaQuotes Software Corp., 2007]
GCT の中心教義は科学的研究でどのように応用することができるのでしょうか?相互作用の変動する性質は『ゲーム』または2つの反対で相互的に因果のある力、トレンドによって決定されます。周期構造を決めるのはこの『ゲーム』なのです。よって、一般的なサイクル理論を応用するには、最重要事項、すなわちこの2つの力を検出すること、から始める必要があります。異なるシステムを検証する際、それら力には異なる名前をつけます。無機性の相互作用を考察するならば、こういった力は活性力/反力です。… 将来の分析家にとって最も重要なことは、どの研究においても力を明確に検出することです。2つの反するトレンドが見つかれば、2つの反する相互的因果サイクル極を設定する必要があります。一方の極は正の力の最大値と負の力の最小値で構成されます。第二の極は第一の極と反対で、正の力の最小値と負の力の最大値で構成されます。上記にあるように、これらはこういった極で、その間で振動処理が行われます。
次の段階は、慣性質量と2つの反対の力の変化率を検出するパラメータを見つけることです。処理率は一定の期間内で追跡されます。前述の手順によりシーケンスダイアグラムが構築されます。シーケンスダイアグラムは波長、振幅、振動『差』の大きさを示します。必要に応じて、該当サイクルの近隣サイクルのインターフェース…» [2:46 翻訳: MetaQuotes Software Corp., 2007]
ここでは動作 [3] の数字や数式は提示しません。それらはかなり興味深いものです。お望みならご自身でこの動作を読むことができます。
金融マーケットで2つの逆の力を検出するのはあまりむつかしいことではありません。それらはブルとベアなのです。金融マーケットでサイクル極(極値)をみつけるには、ZUP インディケータ内で ZigZag を利用します。ZigZag インディケータを描くためのアルゴリズムは数多くあります。異なるアルゴリズムアルゴリズムに基づくインディケータZigZag は ZUPに埋め込まれています。時間および価格両方に対する極値の正確な場所を見つけることはひじょうに重要です。極値は対応する価格バーの高値または安値に正確に配置される必要があるのです。サイクル特性のそさらなる発展予測をすることは必要です。多様なグラフィカルツールが使われ、サイクル極間のインディケータを調査します。黄金分割はすべての自然現象に現れるため、ZUP では異なるフィボナッチツールが強調されます。グラフィカルツールは ZigZag を利用して見つかったマーケットの極値にアンカーされます。
ZUP に埋め込まれたグラフィカルツールは静的であり動的である可能性があります。静的なものはすでに形成された zigzag ブレイク、すなわち、もう変化しないブレイク、にアンカーされます。動的なものは、常に場所を変える zigzag の1行目にアンカーポイントを持ちます。動的なグラフィカルツールにより迅速な判断が可能となります。マーケットが発展すると、グラフィカルツールのデザインにより、意図したいっそうの市場動向を確認することができます。ZigZag の1行目が変わると、動的グラフィカルツールは自動で再構築されます。
ZUP に埋め込まれたZigZag の記述
ZUP は数多くの異なるパラメータを持ちます。主要なパラメータは ExtIndicator です。それはマーケットの極値を見つけるのに役立つ ZigZag を選択します。ExtIndicator 番号は新規 ZigZag またはモードが ZUP に埋め込まれると次々に設定されます。どんな ZigZag が使用されているにせよ、私ははティックごとに再計算されない、とあらかじめ条件をつけたいと思います。次の場合、それは再計算されます。
- 価格が null バーの外側で下がる(マーケットは null バーの最高レベルを上回り、最低レベルを下回る、または新規 null バーが出現する)。
- 以前の履歴がポンピングされる。;
- ターミナルがオフのときに出現した履歴のポンピンク時にターミナルが起動する。
すべての ZigZag インディケータはパラメータ ExtStyleZZ を使って設定されます。
- ExtStyleZZ = 真 - COLORS タブを使ってZigZag の線スタイルを設定します。(メニュー チャート -> インディケータ -> ZUP_v60-> プロパティ -> カラー)
- ExtStyleZZ = 儀 - ZigZag は安値および高値におけるポイントとして表示されます。
最初の ZigZag
ExtIndicator = 0 は 2006 年夏以前に MetaTrader 4 クライアントターミナルで提供された標準的 ZigZag を有効にします。ZigZag は少し変更されています。変更の考えは Nikolay Kositsin によって出版された記事:"Multiple Null Bar Re-Count in Some Indicators" からとられました。私はまた自分のソリューションを使用しました。以下がこの ZigZag についての設定パラメータです。
- minBars は MetaTrader 4 内で提供されている ZigZag の ExtDepth に対応しています。
- ExtDeviation は ExtDeviation に対応しています。
- ExtBackstep は ExtBackstep に対応しています。
2番目の ZigZag
ExtIndicator = 1 は アレックスの ZigZag(Automatic Channel)を有効にします。
アルゴリズム
第1バーの平均値が計算されます。そしてバーの条件つき平均価格が計算されます。次のバーにおけるトレンド方向はバーの条件つき平均価格の変化によって検出されます。与えられた値がポイント minSize または minPercent でパーセントで条件つき平均価格が偏差すると、トレンドは変化します。
パラメータ:
- minSize -ポイント量によってフィルターをかけることでポイント量を与える。
- minPercent - パーセントフィルター、たとえば 0.5 などパーセントを出します。
パーセントを使用するなら、minSize = 0 であるところに希望の値を設定します。
第3の ZigZag
ExtIndicator = 2 により ZigZag Ensign を処理することができるようになります。ZigZag Ensign は条件つきの名前です。ZigZag のこのバージョンは Ensign に構築されたぺサベントパターンのインディケータ処理を見た後に作成されました。ウェブサイト Ensign Softwar には、このインディケータを構築する原則の簡単な説明があります。
Ensign で実行されるアルゴリズムは ZUP で実行されるものとやや異なります。
アルゴリズム
最初のバーの高値と安値はフォローアップバーの高値と安値に比較されます。最大値および最小値が最初のバーの最大値、最小値より大きい/小さいところで見つかれば、トレンド方向が決定されます。安値、高値が最初のバーのそれらより大きければ、そのトレンドはブルトレンドです。小さければ、ベアトレンドです。そうするとブルマーケット(上昇トレンド)に対するアルゴリズムが決定されます。ベアトレンド(下降トレンド)には逆です。トレンドは上昇トレンドとして判断されます。hlast 変数にバーの最大値を格納します。次のバーの最大値が前回バーの最大値を上回っている場合、次のバーはブルトレンド続行です。バー最大 hlast の新しい値を格納します。最大値が等しければ、トレンドは変化しないとみなされます。トレンドはブルで留まります。次のバーでバー最大値が前最大値(hlast))を下回ると、次の代替が出現します。
- バーの minBars はスキップされます。バーの各 minBars に対して、最大値は minBars のカウントが開始される前回バー(hlast)よりも下であるべきです。少なくとも1本のバーで価格が前回バー(hlast)の最大値を超える場合、トレンドはこのバーを含みそこに至るまでブルであるとみなされます。バーの minBars は次のバーから計算が開始されます。そしてのバー番号 minBars + 1 から分析開始されます。hlast – Low[minBars + 1] > minSize であれば、トレンドはベアとなります。すなわち、バー番号の最低値が minBars + 1 、またはその後のバーのいずれかが minSizeを超える値分から偏差すれば、トレンドは変化しベアとなるのです。この場合、バー番号 minBars + 1 はバー方向で直近の高値(hlast)からカウントが開始されます。
- minBars のいずれかが直近安値を下回ってクローズしても、トレンドはバー番号 minBars + 1 がやってくるのを待たずにベアとなります。トレンドは変化し、トレンドが方向転換したバーのクローズ後、新しい ZigZag ラインが描かれます。
パラメータ
minBars、minSize - Ensign では名前は同じです。
Alex の ZigZag および Ensign ZigZag には標準的な ZigZag が持つデメリットはありません。:プロセッサはオーバーロードされない。直近バーのみ計算される。連続した高値は発生しない。直近高値と安値は予想可能。そのうえ、直近高値は上がっていくだけで、安値は下がっていくだけです。それらはトレンドインディケータなのです。一方、Alex の ZigZag および Ensign ZigZag では異なるタイムフレームでパラメータを検索する必要があります。パラメータ検索は異なるタイムフレームで適切な波動構造をみつけるために必要です。ZigZag ExtIndicator = 0 に対しては、異なるタイムフレームで同一パラメータが使用されます。
4番目の ZigZag
ExtIndicator = 3 - 多少変更されたアルゴリズムを用いて ZigZag Ensign を処理することができます。ここでは minBars 値のみが指定されます。インディケータ内に与えられた minSize 値は無視されます。minSize 値は変数で、前回の ZigZag インディケータのラインが終わっているバーサイズ(最小から最大)に等しくなっています。ZigZag インディケータの前回ラインを引き直す際には新しい minSize 値が計算されます。
5番目の ZigZag
ExtIndicator = 4 は タウバーの ZigZag を有効にします。タウバーとは ONIX フォーラムのポスターです。著者に敬意を表してここで説明させていただきます。
「私は基本としてを利用していました(MetaTrader 4 クライアントターミナル- nen の備考、に埋め込まれた ZigZag)。アルゴリズムは再帰的で短く、論理的に包括的であります。:
- グローバル高値はバーすべてで求められます。
- 残りのバーは最大バーの右と左に二分されます。
- グローバル安値は分けられた半分の両方で求められます。
- 各半分はさらに二分割される、などです。
処理は ZigZag 同様の方法でモニターされますが、用いる パラメータ1つだけです。それはパーセンテージまたは pip 差です。」(翻訳:MetaQuotes Software Corp.、2007 年)
引用をもう少し。
「アルゴリズムは再帰的-高値を見つける関数はそれ自体が安値を見つける関数を呼び出す、またはその逆です。それがチャートを小さなフラクタルへと分割していく方法です。連続する高値/安値および直近の安値/高値の間の価格差が minSize よりも小さくなると処理は停止します。主な違いは結果が唯一のパラメータ minSize にのみ依存することで、これは ZigZag の古典的な定義で、重要な頂点を正確に見つけます。」
6番目の ZigZag
ExtIndicator = 5 はギャンスイングをシミュレーションする ZigZag を有効にします。それはトレンドインディケータです。
アルゴリズム
ギャンスイングの作成方法詳細は [4] にあります。この本の著者が書いたアルゴリズムにより、ギャンスイングを構築する有名なインディケータがいくつか作成されました。説明はひじょうに細かく、退屈するかもしれません。ですが、それでもなお、その説明に従いインディケータを作成しようとすると数多くの疑問があるのです。分析が簡単ではないろうそく足の組み合わせが幾通りかあります。スイングも構築のむつかしいものです。別の方法で現状を解釈することが可能です。これはおそらく、すでに知られているインディケータ内のギャンスイングの作成には本に述べられているアルゴリズムからの偏差があるのです。
われわれの場合、偏差は2つあります。どちらも外部バー処理に関連しています。外部バーとは前回バーよりも高い高値、低い安値を持つバーを言います。上述の本では、高値と安値は外部バーに構築する、とあります。ですが、同一バーに高値と安値が両方ある ZigZag を持つ ZUP で処理することは不可能です。そればかりか、本では高値と安値は特定のシーケンスで交互でなければならない、と述べられています。ろうそく足の始まりにもっとも近い、外部バーの極値がまずなければならないのです。これはリアルタイムで実行することが可能です。ただ、履歴ということになれば、『緩い解釈』が始まります。そのため、リアルタイムで構築されるスイングは同一期間で構築されるスイングとは異なりますが、それはそれが履歴となったあとのことです。すなわち、リアルタイムで高値がある場合、同一期間の履歴データについてスイングを構築するとき安値を取得するのです。あいまいさをなくすため、トレンドは外部バーがやってくる前に勝利トレンドを継続するのです。本の記述によれば、トレンドは外部バーで変化するものなので、中間物に対しては主要トレンドを、より高いオーダートレンドに対しては今後のトレンドの可能性を検出するためにバーカウントを開始するバーとしての外部バーを考察します。これが主な相違点です。ギャンスイングを構築する他のインディケータと比較すると、この差はスイング検出にあまり影響を与えません。外部バーにあるはずの『小さな』スイング"は全体的には何の役割も果たしませんでした。場合によって、スイングを見つけたインディケータは履歴データのかなりの期間でスキップしました。
2番目の偏差は重要です。ある場合には、この偏差がクオート履歴の平坦な期間にスイングを見つけることに役立つのです。本稿が採りあげる範囲内で一般的な言語でこの偏差を説明するのはかなりむつかしいので、ここでは省きます。自身のインディケータでスイングを実行した他のプログラマーの方たちの方法に従いました。他のインディケータでの実行となる方法で外部バーを処理しました。ただし、別のインディケータでの実行を調査はしませんでした。またそれらのインディケータコードを確認することもしませんでした。他人のコードを読むのはむつかしいものです。私は別のインディケータによって作成された絵を見ただけです。
パラメータ
minBars はトレンドを設定します。
- minBars = 0 -小さなトレンド-ワンバートレンド
- minBars = 1 -中間トレンド-ツーバートレンド
- minBars = 2 -主要トレンド-スリーバートレンド
- minBars > 2 -高レベルのトレンド
DT モード
DT モードはまず DT-ZigZag.mq4 と呼ばれる彼の klot によって使用されました。このモードでは、現タイムフレームチャートがより大きなタイムフレームで構築される ZigZag を表示します。ZUP の構築アルゴリズムはklotによって作成されるものとは異なります。彼の考えが使われたにすぎません。
DT モードでは外部 ZigZag が使用されます。外部 ZigZag は異なる構築アルゴリズムを持ちます。利用可能な最新の ZUP バージョンで提供されている ZigZag を使用する必要があります。
- ExtIndicator = 6 -外部インディケータ ZigZag_new_nen3.mq4 を持つ DT モード。そのアルゴリズムは ExtIndicator = 0 モードからの ZigZag に対応しています。
- ExtIndicator = 7 -外部インディケータ DT_ZZ.mq4 を持つ DT モード。DT_ZZ.mq4 は klot によって作成されました。
- ExtIndicator = 8 -外部インディケータ CZigZag.mq4を持つ DT モード。CZigZag. mq4 は Candid によって作成されました。
- ExtIndicator = 10 -外部インディケー Swing_ZZ によるギャンスイングを持つ DT モード。mq4 にあります。そのアルゴリズムは ExtIndicator = 5 モードからの ZigZag に対応しています。
ZUP がインストールされているとき、4つの外部 ZigZag がクライアントターミナルのカスタムインディケータを持つフォルダに格納されます。
パラメータ
GrossPeriod -DT モードで描く ZigZag にあるタイムフレームの分数。GrossPeriod は次の値を取ります。:タイムフレームM5-M15-M30-H1-H4-D1-W1-MN それぞれに対して 5-15-30-60-240-1440-10080-43200 。すべての DT モードについて、 ZigZag はほより大きなタイムフレームを設定します。それは現タイムフレーム上で ZigZag を構築するデータを提供するものです。GrossPeriod とともに、パラメータ minBars、ExtDeviation、 ExtBackstepが ZigZag をセットアップするのに使用されます。
- ExtIndicator = 7 に対して ZigZag は、minBars の値分のみ設定されます。
- ExtIndicator = 8 に対して ZigZag は、minBars および ExtDeviation の値分設定されます。
- ExtIndicator = 10 に対して ZigZag は、minBars の値分のみ設定されます。
チャート内描画
以下のチャートは日次タイムフレームからのデータを用いて4時間足についての典型的 ZigZag 描画を示しています。赤い点は日次ろうそく足を作りに行く4時間足の壮六足の安値および高値にあります。ZigZag のブレイクポイントは日次ろうそく足に対応して描かれています。6個の赤い点は6つの4時間足ろうそく足に対応しています。
より大きなタイムフレームのろうそく足の高値または安値に対して、より小さいタイムフレームでの高値または安値に対応するろうそく足を見つけることができないという状況があります。そうすると ZigZag ブレイクポイントは大きいほうのタイムフレームからとられる価格値で作成されます。小さいほうのタイムフレームには同一価格を持つろうそく足が存在しないため、連続ポイントは『宙に浮いて』しまいます。ZigZag ブレイクポイントも同様です。ここで、ポイントを選択するためを使用します。そのポイントというのは、ぺサベントパターンやアンドリュー・ピッチフォークなどといったツールをアンカーする対象です。
- ZigZagHighLow = 真-ツールは小さい方のタイムフレームの安値および高値にアンカーされます。
- ZigZagHighLow = 偽-ツールは ZigZag ブレイクポイント、すなわち大きいほうのタイムフレームの安値および高値、にアンカーされます。
典型的な異なるタイムフレームからの複数の ZigZag 描写について考察します。チャートには ZUP_v60 with ExtIndicator = 6 が2つあります。点の色と直径は COLORS タブの番号5で選択可能です。1番目のインディケータは Grossperiod = 10080 を持ちます。点の色は赤で直径は 5 です。ZigZag ラインの色はインディケータパラメータウィンドウの COLORS タブで選択された茶色、番号は0です。赤い点の数量は 16 です。週次ろうそく足には 16 の 4 時間足ろうそく足があります。2 番目のインディケータは GrossPeriod = 1440 を持ちます。点の色は濃い緑で、点の直径は1です。 ZigZag ラインの色は水色です。濃い緑色のろうそく足の数は6です。週次ろうそく足には6の1時間足ろうそく足があります。
異なるインディケータから得た結果をスーパーインポーズするには、上の例に示されているように(濃い緑の天は赤の点にスーパーインポーズされています)、チャートにアタッチされたの順序を守る必要があります。まず、赤の点のインディケータをアタッチします。それから濃い緑のインディケータをアタッチします。この方法の重要な特性は以下です。既定のインディケーターセット(4時間/週)でチャートのタイムフレームを変更する場合、濃い緑いろの点を持つインディケータはチャートに表示されなくなります。濃い緑の点のインディケータは日次タイムフレームのデータを使用しているのです。日次タイムフレームは週次のもにに比べると小さいものです。DT モードでは、は大きい方のタイムフレームからとられたデータについて小さい方のタイムフレームで ZigZag を構築します。そのため小さい方の日次タイムフレームの ZigZag は週次タイムフレームでは表示されないのです。日次タイムフレームより大きなタイムフレームに切り替えると、日次タイムフレームデータは表示されません。日次チャート上の上記例のインディケータは下に表示されます。変更したポイント数週次ろうそく足内の日次ろうそく足数は5であるため、赤い点は5個あります。そしてここでは濃い緑の点は1つです。
赤い点と濃い緑の点はタイムフレーム、それぞれの ZigZag を構築するのに使用されたデータ、を見つけるのに役立ちます。わかりやすいように、各タイムフレーム内の描画はすべて1色スキームで行います。特に DT では、異なるタイムフレームに対する点は事前に定義された色として異なる可能性があります。
もうひとつ重要点タイムフレーム GrossPeriod について DT モードで動作しているとき、履歴の深さは現タイムフレームより大きい必要があります。もしこれが提供されなければ、続けて GrossPeriod よりも小さいタイムフレームで深い履歴に行く場合、ZigZag は誤って描かれることとなります。また、DT で動作する場合、異なるタイムフレームでクオートをスキップすることで偽りの ZigZag を描く原因となります。たとえば、2つの安値と2つの高値がひとつずつ作成されるなど、DT モードで偽った ZigZag が作成されれば、現タイムフレームのクオートとのクオートについてスキップされたバーがあるか確認する必要があります。スキップされたバーがあった場合は、 C:\Program Files\MetaTrader\history\xxx\ から対応するタイムフレームの履歴を削除し、履歴をリロードする必要があります。
RSI インディケータ上の ZigZag
ExtIndicator = 9 は RSI を持つチャートのウィンドウでの処理モードです。 ZUP の特殊バージョンが ZUP_RSI_v4 として作成され、これはこのモードが RSI データについて ZigZag を作成するのにかかわっています。ExtIndicator = 9 は ZUP_RSI_v48 でのみ使用されます。このバージョンはバージョン49以降で使用可能となる機能を搭載していません。チャートにバージョン48がアタッチされたら、グラフィカルツールの描画を回押しするシステムに対するタイムフレームを変更する必要があります。トレンドアルゴリズムを用いて RSI に描かれる ZigZag以下は前の例からのチャートに ExtIndicator = 9 モードで ZUP_RSI_v48 を描画する一例です。前のことを少しお話しすると、ZUP_RSI_v48 チャート上に ぺサベントパターンおよび静的アンドリュー・ピッチフォークを表示するのに役立ちました。
ExtIndicator = 9 モードで使用されるパラメータ(本バージョンの説明で以下に生じる概念は第2の記事で説明する予定です)
- minBars - RSI 期間-インデックス計算のために平均化する期間
- Price - RSI モードについて RSI が描画される価格選択
0 - PRICE_CLOSE -終値
1 - PRICE_OPEN -始値
2 - PRICE_HIGH -高値
3 - PRICE_LOW -安値
4 - PRICE_MEDIAN -中間価格(高値 + 安値)÷ 2
5 - PRICE_TYPICAL-典型的な価格(高値 + 安値 + 終値)÷ 3
6 - PRICE_WEIGHTED -加重終値(高値 + 安値 + 終値 + 終値)÷ 4
- minPercent -specifi『インディケータポイント』の数量を指定します。その後、新しいZigZag ラインが表示されます。
以下はこのモードでの制限です。
- インディケータが1つぢか表示されない。2番目以降のインディケータコピーは正確に行われない。
- 私は 100% と 0% のレベルを密に指定しませんでした。それは ZigZag の頂点と谷が RSI の頂点と谷に一致しないためです。ZigZag はウィンドウのフルの高さ内で表示される。チャートのスケールが取り直されると、ZigZag のスケールも取り直される。
- 私はこのバージョンの特定のろうそく足について、アンドリュー・ピッチフォークの表示を修正しませんでした。これはこのモードではそれほど発生しません。
研究にとってはひじょうに興味をそそられる ZigZag ラインでバーをカウントすることも含め、その他 ZUP ツールはすべてこのモードで動作します。ExtIndicator で設定されるモードもすべて動作します。すべてのツールを伴う ZigZag は、チャートのウィンドウではなく、チャート下のウィンドウに表示されます。おそらくこのバージョンにはなんらかの不具合があると思われます。そのような標準的でないモードでインディケータをテストするのはかなりむつかしいものです。このバージョンは実験用です。
ガートレーパターンの検索
ExtIndicator = 11 は ExtIndicator = 0 をアクティブなスキャンモードにインクルードし、 ガートレーパターンを検索します。ガートレーパターンを検索するために使われるアクティブなスキャンモードにはかなりプロセッサを駆使します。マーケットが激しく変動するとき、ターミナルは一定時間ハングアップすることがあります。計算ループが終了すると、ハングアップは解けます。minBars (Depth)でのアクティブなスキャン検索ZigZag はminBars (Depth)の値すべてに対して作成されます。そして描かれた ZigZag についてガートレーパターンが検索されます。この処理は、minDepth からmaxDepth までガートレーバターンが検出されるまで、minBars (Depth) の値範囲全体に対して繰り返されます。インディケータは以下のパラメータを使用します。
- ExtGartleyOnOff -ガートレーパターンが ExtIndicaotr = 11 以外のすべてのモードについて表示するようにします。よって、あるパターンが選択されたモードに対して描かれると、それは見つけられます。ZigZag パラメータ内での検索は行われません。ガートレーパターンは描画された ZigZag についてのみ検索されます。このパラメータはモードExtIndicator = 11 には関連していません。
- maxDepth -ガートレーパターンを検索するため、アクティブなスキャンにおける範囲まで ZigZag の深さパラメータの最大値を設定します。このパラメータはプロセッサの負荷を減らすためあまり頻繁に使用されません。ただ、値が小さすぎるといくつかのパターンを見つけることができないため、パラメータは実験によってソートする必要があります。
- minDepth -ガートレーパターンを検索するための深さ最長値を設定します。
- DirectionOfSearchMaxMin -深さにおいて検索方向を設定します。
false -minDepth から maxDepth まで。
true -maxDepth から minDepth まで。真を使うほうが好ましいです。:まず『より大きい』ガートレーパターンが検出されます。場合によっては、『ワーキング領域』で形成されるパターンが複数あります。すなわち、パターンの D ポイントが一致する、またはひじょうに接近している。 アクティブなスキャンでは、検索は最初のパターンが見つかるとすぐに停止します。これによりどのパターンが最初に見つかるか選択することができます。:最小または最大。
- maxBarToD -null バーからパターンの D ポイントまでで最も数量の大きいバーを設定します。この領域でパターンがひとつも見つからなければ、パターン検索はこのバー数量以降行われません。D ポイントがnull バーに近いバー上にあることが、トレーディングには重要です。null バーから遠ければ、見つかったパターンはトレーディングにおいて重要ではありません。
- ExtDeltaGartley -推奨パターンリトレーメント値からの価格偏差の許容値を設定します。デフォルトでは 0.09、 9% です。
- ExtCD -BC ラインに相対的なパターンの CD ライン値。この後、パターン分析が開始します。
- ExtColorPatterns -パターンの三角形の色。
どのパターンが見つかったか知るためにinfoTF を有効にする必要があります。コメントの2行目にパターン名とパターンタイプ(ブルかベア)が表示されます。パターン検索にはアクティブなスキャンのアルゴリズムが使用されます。パターンが見つければ、以下のパラメータを持つ ZigZag が描かれます。
- Depth -描かれた ZigZag でパターンがみつかった値。
- ExtDeviation and ExtBackstep -インディケータウィンドウに設定されるパラメータ。
見つかったパターンは見つかった値でを調整するかのように動作します。パターンがなにも見つからなければ、次のパラメータを持つ ZigZag が構築されます。: ZUP で設定されたとおりの minBars、ExtDeviation、 ExtBackstep。
パターンを色付けする三角形の名前に、 ExtIndicator の値、ExtIndicator に対応する ZigZag パラメータ、D ポイントへのバー数量を確認することができます。三角形の名前はそのプロパティから入手可能です。三角形のプロパティを開くと、グラフィカルオブジェクト名にたとえば、*Triangl2_ExtIndicator=0_11/5/3_14 とあるのがわかります。ここで
- * - ZUP 設定数
- Triangl2 --パターンの正しい三角形
- ExtIndicator=0 -パターンが描かれる ZigZag
- 11/5/3 - minBars=11、ExtDeviation=5、ExtBackstep = 3
- 14 -パターンの D ポイントに対するバー数量
パターンが見つかったのち、マーケットが激しく変動することもあり得ます。そうしてパターンは『失われる』のです。それは、パターンがみつかった ZigZag が再描画されたことを意味します。『消えてしまった』パターンを再度作成するには、小さなタイムフレームに変更します。小さなタイムフレームにはより多くのろうそく足があるので、ZigZag は失われたパターンを『捕まえる』ことができるのです。
ベアのガートレーパターンモード
ブルのガートレーパターンモード
Scott Carney が述べるように(Harmonic Price Patterns)はっきりとすべてのリトレースメントを構築するなら、パターンの D ポイントは範囲内にあることでしょう。範囲はD ポイントが異なるリトレースメントによって見つけることで商事ます。異なるリトレースメントとは BD と XD です(XD リトレースメントは AD と XA.Retracement XD=AD/XAeの間の関係です)。こういったリトレースメントはあまり収束しません。この不明確さのたえに、描く『蝶』のアルゴリズムは『バルク』である、という結論に至ります。アルゴリズムはバルク内で許容されるリトレースメントをすべて考慮する必要があります。それが『バルク』アルゴリズムと呼ばれるのはそのためです。
『バルク』アルゴリズムを使って蝶が描かれる場面では、ぺサベントパターンと動的/性的フィボナッチツールを用いて微調整が開始され、トレード条件うを明確にします。ZUP は時空間形成を見つけ、ガートレーパターンのひとつとして名前をつけます。それからトレード条件を明確にするためこの形状を処理します。マーケットでの neteringポイントを定義するには、いくつかフィルターを使用します。ろうそく足、トレンドライン、その他インディケータの組み合わせはフィルターとして使用可能です。以下はモード ExtIndicator = 11 で描かれた例です。

これで ZUP_v60 に埋め込まれた ZigZag の再検討は終わりにします。
おわりに
本稿では ZUP -ぺサベントパターンを持つZigZag ユニバーサル、の考えを簡単に説明しています。また ZUP に埋め込まれた ZigZag についても述べています。著者の意見では、主要な ZigZag 描画アルゴリズムは ZUP で実行されます。これにより、トレーダーは動作するもっとも好ましいアルゴリズムを選択することができます。本稿で取り上げた埋め込みグラフィカルツールは選択するZigZag に自動でアタッチされます。別のアルゴリズムに基づく ZigZag をあとで埋め込むことは可能です。
本稿添付の .zip ファイル、ZUP_v60 および ZUP_RSI_v48 セットにインディケータが入っています。ファイルのインディケータバージョンでは、解消されているエラーもあります。ONIX フォーラムに最初にアップロードされるバージョン ZUP_v60 にはいくつかエラーがあります。インディケータはかなり洗練されています。マーケット状況によっては、エラーのある構成が行われてしまうことがあります。描画エラーが生じるのは以下の原因です。
- インディケータコードのエラー
- MetaTrader 4 のバーにグラフィカルツールをアンカーする特殊機能によっておこる不正確さ特に、フィボナッチ・チャネルは、なんらかの理由により適切に構築されることがありません。;
- あるタイムフレームにおいて ZUP を使用してグラフィカルツールが構築され、チャートに保存される場合、 MetaTrader 4 内で別のタイムフレームに切り替える際、それ自体の性質を変えることがよくあります。そのためグラフィカルツールは誤った方法で描画され表示されます。次の記事では、MetaTrader 4 の開発チームに対してこの機能をいくらか変更する提案を出すつもりです。ただし、グラフィカルツールがチャートに保存されず、ZUPとともに使用される場合、タイムフレームを切り替えても構造エラーは出ません。これはグラフィカルツールに対するアンカーポイントを再計算することで達成されます。
最初のタイプのエラーは検出時に修正可能です。クライアントターミナル開発者の助けを借りて、タイプ2および3のエラーが解消されればいいと思っています。ZUP に埋め込まれたインディケータとグラフィカルツールについては次稿で説明いたします。
参照資料リスト
- Stakhov, A., Sluchenkova, A., Scherbakov I. Kod da Vinci i ryadi Fibonacci (Da Vinci Code and Fibonacci Series). St. Petersburg, Publishing House 'Piter', 2007.
- Sokolov, Yu.N. Obschaya teoriya tsikla ili edinaya teoriya fizicheskikh vzaimodeystviy. Published by the North Caucasian State Technical University: Stavropol, 2003 (English version at http://www.ncstu.info/content/_docs/pdf/cycles/goldbook/06e.pdf).
- Sokolov, Yu.N. Obschaya teoriya tsikla.
- Hyerczyk, James A. Pattern, Price & Time: Using Gann Theory in Trading Systems. - John Wiley & Sons, Inc. 1998. 300 p.
- Carney, Scott M. The Harmonic Trader. 1999. 305 p.
- Pesavento, Larry. Fibonacci Ratios with Pattern Recognition. Edited by Steven Shapiro.
- Traders Press Inc. 1997
- Pesavento, Larry. Profitable Patterns for Stock Trading. - Traders Press Inc. 1999.
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/1468





- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索