AutoElliottWaveMaker - Elliott Wavesの半自動分析のためのMetaTrader 5ツール

MRoVas | 28 10月, 2015


はじめに

記事"The Implementation of Automatic Analysis of the Elliott Waves in MQL5" はいくつかの imperfectionsに悩むElliott Wave 波形ラベルアルゴリズムを取り上げます。のひとつは遅さです。それとまた自立的な自動分析は実用にあまり向いていないことを意識して、Realizing 多くのメリットを提供する半自動の波形ラベルツール を開発しようと決めました。

この問題はAutoElliottWaveMaker と呼ばれ、本稿で紹介されます。AutoElliottWaveMaker は現在「マーケット」で購入可能なマニュアルの波形ラベリングツールの理論開発です。


1. プログラムオブジェクト

プログラムの主要なオブジェクトはラベルとラベルパネルです(図1)。

ラベルパネル

図1 ラベルパネル

ラベルパネルはチャートの左上にある一波形レベルのラベルシーケンスを表します。パネル位置およびラベル間の距離はプログラムの入力パラメータでユーザーによってカスタマイズされます(図2)。

入力パラメータ

図2 プログラムの入力パラメータ

ラベルパネルはまた現在波形レベルの名前を表示します(図1)。

Esc キーを押すとラベルパネルを表示/非表示することができます。ラベルパネル上で前のまたは後の波形レベルを表示するには、それぞれQ または Wを押します。

ラベルはドラッグアンドドロップ手法を使ってラベルパネルから移動することができます。ラベルの移動時、ラベルパネルは初期状態に戻ります。ラベルがラベルパネルから消去されたあと、パネルは復元されません。それを復元するためには別の波形ラベルに進み、それから戻ってくる必要があります。

波形レベルの数とスタイルおよびラベルは最初にプログラムを起動するとき作成されるLevels.txtファイルに自動的に設定されます。Levels.txtファイルはMetaTrader 5 ターミナルデータディレクトリの Filesフォルダにあります。ファイルを編集することでユーザーは波形レベルのスタイルを変更することができます(図3)。

レベルの記述

図3 Levels.txt コンテント

例として4行目を取り上げ見ていきます。

ファイルを編集するときは、以下の制約が設定されます。

また、プログラムの適切な処理を確かなものとするために『日制限』を『チャートの最大バー」値として MetaTrader 5 ターミナル設定(メインメニュー-ツール-オプション-チャート)に設定する必要があります。


2. 波形ラベリングプロセス

Elliott Waves は手動と/あるいは自動モードでラベルされます。

手動モードは順番にラベリングの2とおりの方法 in its turn, presupposes

  1. ラベルパネルからラベルをドラグすることで
  2. チャートのバーの近くをクリックすることで

自動モードはチャートがプログラムアルゴリズムに基づきラベルされることを意味します。分析がチャート全体、またはどの部分についても(一つのラベルから別のラベルに)行えるということです。それはユーザーの指定によります。


2.1. 手動モード

手動のラベリングモードでは、ラベルが勝手にバーの上か下に表示され、チャートのスケールまたはサイズが変更されると自動で調整されます。ラベルは波形レベルの precedence 順序でセットされます。よって同じバーの上か下に2つ以上の波形ラベルがあると、シニア波形レベルのラベルがそれぞれジュニア波形レベルより高くまたは低くセットされます(図4、図5)。

ラベリング前のラベル位置

図4 ラベリング前のラベル位置

ラベリング後のラベル位置

図5 ラベリング後のラベル位置


図4はバーの上に SubMicro波形レベルのラベル (A)があることを示しています。ラベルLabel 5 は低いレベルで同じバーの上にセットされました。 - SuperMicro. SuperMicro レベルは SubMicroより低いので、ラベル5 はラベル (A) の下に表示されます(図5)。

手動ラベリングの際、波形ラベルは最大最小 が近隣のバーのそれよりも高く低いバーの一番近くのバーの上/下にセットされます。特殊な機能によりチャート内でラベルはより正確に位置づけられます。

上述のように手動モードのラベリングは2とおりの方法で行われます。そしてドラッグアンドドロップ手順は多少明確で、クリックに基づくラベリングは特殊です。

マウスのクリックによるラベリングの際はラベルパネル上でラベルを選択する必要があります。それはZ キーを押すことでも行えます(この場合パネル上のラベルの間で切り替えができます) in succession (in which case you can switch between the labels on the panel as you cycle through). 現在波形レベルのラベリングはチャート上の必要なバーでマウスをクリックすることで行います。ラベリングのプロセスを完了するために任意のラベル上でクリックするかX キーを押します。

ラベリングはラベルパネル上に選択されたラベルがある限り続きます。マウスを毎回クリックすることで連続ラベルを選択することができます。最後のラベルはクリックするラベリングプロセスで完了します


2.2. 自動モード

チャートの自動ラベリングはコントロールキーを使って行います。自動ラベリングのバリアントは3つあります。

  1. 選択されたラベルによるチャート分析
  2. ラベル選択後のチャート分析
  3. ラベル選択のない場合のチャート全体の分析

自動ラベリングの最初のバリアントは1を押すと処理されます。チャートはこの場合、左に別のラベルがなければ最初から選択されたラベルまで分析されます。そうでなければ分析は左の一番近いラベルから選択されたラベルまで行われます。

図6はチャート内の2つのラベルを示しています。二番目のラベルが選択されます。After pressing 1を押した後、ラベル間のチャート部分が分析されます。分析結果は図7に示されています。

分析1の前

図6 1を押す前のチャートの初期状態


分析1後

図7 ラベル間チャート部分の自動分析結果

ラベリングの二番目の変数は2を押すことでアクティブになります。チャートはこの場合、その右側に別のラベルがなければ選択されたラベルからチャートの最後まで分析されます。そうでなければ分析は選択されたラベルからから右側の一番近いラベルまで行われます。

図8はチャートのあるラベルを表示しています。このラベルが選択されます。2を押した後、ラベルからチャートの終わりまでチャート部分に対して分析が行われます。分析結果は図9に示されています。

分析2の前

図8 2を押す前のチャートの初期状態

分析2後

図9 ラベルからチャートの終わりまでのチャート部分の自動分析結果


分析の三番目のバリアントは1 または 2を押した後開始します。この場合は全てのチャートラベルがまず消去されます。

それに続いてすぐにmmediately following the automatic analysis of Elliott Wavesの自動分析が行われ、ラベリングのバリアントがレビューできるようになります。

分的結果を閲覧するのに3つのオプションがあります。

  1. 選択された波形のラベリングバリアント閲覧
  2. 選択された波形に続く波のラベリングバリアント閲覧
  3. 波形ラベルが選択されていなければ、チャートの分析セクションのラベリングバリアントを閲覧

以下のキーによってラベリングバリアントを使用して navigateできます。: 最初の閲覧オプションに対して3 (前回バリアント閲覧)と 4 (次回バリアント閲覧)、二度目の閲覧オプションに対して 5 前回バリアント閲覧)と 6 次回バリアント閲覧)、そして三度目の閲覧オプションにはそれらのどのキーも使用できます。

図10は前に自動でラベルされ図7で示された波形に対する次回のラベリングバリアントを表示しています。

次のラベリングバリアント

図10 選択された波形にたいする次のラベリングバリアント

図7、9、10に見られるように、自動ラベリングの開始前のラベルの色であるグレーで表示されているラベルもあります。これらは分析前にチャートにあったラベルです。それらはマウス選択はできません。これはすべて手動ラベリングか自動ラベリングか区別する必要があります。

自動ラベリングを手動ラベリングに変換するには、チャート内のラベルがすべて以前の色で選択可能な箇所で V キーを押す必要があります。ただし V が一度押されると、ラベリング貼り餡との閲覧はできなくなります。

自動分析の後に取得される波形名に関する情報もユーザーは利用可能ですこの情報は、ラベルが選択されたあと、またはラベリングバリアント閲覧のためのコントロールキーが押された後、分析に続いてすぐにチャートの一番上に表示されます(図11)。

波形タイプに関する情報

図11 選択sれた波形タイプに関する情報

自動分析は特定の波形ルールに基づいて行われることに留意します。波形特定ルールはログラムを最初に起動するとき作成される Rules.txtファイルに格納されます。このファイルは MetaTrader 5 ターミナルデータディレクトリの Filesフォルダにあります。


3. 余分な機能

チャートの任意のラベルは選択可能なラベルの特定グループにインクルードすることができます。ラベルグループはチャート内で任意のラベルを選択し タブキーを押す ことで選択されます。選択は選択済みラベルを持つ同一グループを形成しているすべてのラベルをカバーします。選択を取り消すにはタブ キーをもう一度押します。

ラベルは任意のラベルを選び、それから新しいラベルを作成することでグループに追加できます。新しいラベルは選択ラベルがあるグループに追加されます。

チャートで選択されたすべてのラベルには以下のような操作が可能です。

またプログラムアルゴリズムは現在の時間枠において表示された波形レベル数を判断する自動メカニズムを持ちます。そのアルゴリズムは次の原則に基づきます。;時間軸にとって異なる座標を持つラベルは同じバーにセットすることはできません。波形レベル数もまた波形レベルをそれぞれ減らしたり増やしたりする Eおよび Rキーを用いて手動で制御することが可能です。


4. キーボードコマンドのリスト

図12は適用可能なキーボードコマンドと説明をすべて表示しています。

キーボードコマンド

図12 キーボードコマンド


おわりに

本稿はMetaTrader 5におけるElliott Wavesの半自動分析のための最初の開発を紹介しました。このプログラムには多くのユニークな機能があります。

この開発は MQL5言語の大きなリソースを表示しています。 またできれば開発者が複雑で面白いプログラム作成をする後押しになることを願っています。