皆さん、こんにちは!今日は、MQL5ウィザードを使って、RSI(相対力指数)を利用したトレードシグナルの作成方法についてお話しします。これを使えば、迅速にトレードアイデアを試すことができ、独自のトレードシグナルクラスを作成するだけで済みます。詳しい手順については、こちらを確認してください。
基本的なアイデアは、トレードシグナルのクラスをCExpertSignalから派生させ、LongCondition()やShortCondition()をオーバーライドすることです。
特に今回は、RSIインジケーターを用いて「ブルリッシュ・ミーティングライン」パターンを確認したトレードシグナルに焦点を当てます。トレードシグナルのモジュールは、CCandlePatternクラスに基づいています。このクラスを使えば、キャンドルパターンを利用したトレードシグナルの生成が容易になります。
1. 「ミーティングライン」リバーサルキャンドルパターン
1.1. ブルリッシュ・ミーティングライン
このパターンは、同じような終値を持つ二本のキャンドル(弱気と強気)で構成されています。二本のキャンドルの実体は、平均的な実体の長さよりも大きくなければなりません。「ブルリッシュ・ミーティングライン」パターンは、下落トレンドの反転を示します。

図1. ブルリッシュ・ミーティングラインパターン
「ブルリッシュ・ミーティングライン」パターンの認識は、CCandlePatternクラスのCheckPatternBullishMeetingLines()メソッドで実装されています。
//+--------------------------------------------------------------------+ //| ブルリッシュ・ミーティングラインの形成をチェック //+--------------------------------------------------------------------+ bool CCandlePattern::CheckPatternBullishMeetingLines() { //--- ブルリッシュ・ミーティングライン if((Open(2)-Close(2)>AvgBody(1)) && // 長い黒キャンドル ((Close(1)-Open(1)>AvgBody(1)) && // 長い白キャンドル (MathAbs(Close(1)-Close(2))<0.1*AvgBody(1))) return(true); //--- return(false); }
2. RSIインジケーターで確認したトレードシグナル
トレードシグナルを開くためには、RSIインジケーターによる確認が必要です。RSIの値は、ロングポジションの場合は40未満、ショートポジションの場合は60を超えなければなりません。
- int CML_RSI::LongCondition() - ロングポジションを開く条件をチェック(結果=80)とショートポジションを閉じる条件をチェック(結果=40)
- int CML_RSI::ShortCondition() - ショートポジションを開く条件をチェック(結果=80)とロングポジションを閉じる条件をチェック(結果=40)

図3. RSIによって確認されたブルリッシュ・ミーティングライン
RSIインジケーターが重要な役割を果たすことがわかります。これにより、信頼性の高いトレードシグナルを生成できるようになります。詳細な手順やサンプルコードについては、実際に試してみてください!