ホーム テクニカル指標 投稿

Doji Hunter - MetaTrader 4用のドージインジケーター

添付ファイル
9883.zip (1.55 KB, ダウンロード 0回)

Doji Hunterの概要

トレーダーの皆さん、こんにちは!今日は、MetaTrader 4用のインジケーター「Doji Hunter」についてお話しします。このインジケーターを使うことで、より効果的にドージパターンを検出することができるんです。

RangeOfBars変数の追加

まず最初に、RangeOfBarsという変数を追加しました。これにより、現在のバーからどれくらい過去のバーを遡ってドージを探すかを指定できるようになります。この機能のおかげで、ダブルドージを検出することも可能になります。値を23に設定することで、最初の、二番目の、または三番目のキャンドル位置を調べて、潜在的なダブルドージを見つけることができます。

IsDojiメソッドの作成

実際には、最初のキャンドル位置だけを見てIsDojiメソッドを作成し、次に最初と二番目の位置を見てダブルドージを確認するための別のメソッドを作成することができます。これにより、IsDojiが真であれば取引を行わず、IsDoubleDojiであればエクステンションで取引を行うなど、コードを書くことができるようになります。

効率的なコーディング

以前のDoji Reader 2のコーディングは、5桁の条件にうまく対応できていなかったため、ここではより効率的な書き方を紹介します。私の方法が最善ではないかもしれませんが、一歩近づいたと言えるでしょう。

ShowCandleBoxの維持

また、ShowCandleBoxを維持しました。チャート上にインジケーターを配置する良い方法だと思い、テストでも好成績でした。追加のインジケーターも良かったですが、シンプルさを保ちたいと思いました。ドージの発見に関する追加のテキストも教育的ではありましたが、再度シンプルにすることを選びました。

設定値の変更

大きな変更点としては、設定値を整数からダブルに変更しました。これにより、5桁の精度を利用し、よりクリーンでタイトなドージを生成できるようになります。インジケーターがダブルに基づいている場合は、カウントするために使っていない限り、整数を使用しないようにしましょう。

カウンターリセットの追加

さらに、カウンターリセットを追加し、カウントプロセスが永遠に続かないようにしました。インジケーターが処理を行うたびに、同じカウンターがサイクルしていたため、リセットを含めることで、各プロセスサイクルの開始時にカウントがリセットされるようにしました。

バッファの利用

バッファとバッファクリーニングプロセスも追加しました。これにより、デフォルトで0を渡し、見つかった場合は1をコードに渡すことができます。範囲を小さく保つことで、興味のない古いデータを処理する際にCPUを無駄に使うことがなくなります。

サンプルコード

以下に、コードにインジケーターを追加するためのサンプル宣言を示します:

extern string __DOJI_HUNTER_SETTINGS = "-----";
int RangeOfBars = 3;
bool ShowCandleBox=true; //falseでキャンドルボックスを非表示に
extern color BoxColor=MistyRose; //好きな色を追加

ドージデータの取得

ドージのデータを取得するためのサンプル呼び出しです。注意:この呼び出しは、新しいキャンドルイベントセクションに配置してください。ティックイベントに置くと問題が発生します:

Doji1 = iCustom(NULL,0,"Doji_Hunter", 
RangeOfBars, ShowCandleBox, BoxColor, FindRegularDoji, 
MinLengthOfUpTail, MinLengthOfLoTail, MaxLengthOfBody, 
FindDragonflyDoji, MaxLengthOfUpTail1, MinLengthOfLoTail1, 
MaxLengthOfBody1, FindGravestoneDoji, MinLengthOfUpTail2, 
MaxLengthOfLoTail2, MaxLengthOfBody2, 0, 0);

上記のコードスニペットは、最初のキャンドル位置の値を取得し、0または1が返ります。1はドージが見つかったことを示します。

関連記事

コメント (0)