ここでは移動平均とボリンジャーバンドによる上昇トレンド・下降トレンドの判定をして、「メタボリック社長のNewNice戦法」のEA【MetaboNewNice】に、エントリーフィルターを追加していきます。
今回完成EAが入っている【MetaboNewNiceTrend.zip】をダウンロード
カスタマイズ内容
トレンド判定ルール
・ルール1 100日、300日移動平均線とボリンジャー20日線が同じ方向のみエントリー。
・ルール2 20日線の角度により、エントリーするか見送りか決める。
ここで、 ルール2の「20日線の角度」というのは、表示中のチャートの縦幅によって変わってしまうので、20日線の増減で計るようにします。
パラメーター追加
20日線が一つ前のバーで何Point以上動いたらエントリー許可とするかの値を入力するパラメーターを追加します。
(pipsとpointの違いがない時代のEAです)
extern double MA20upPips = 0.1; extern double MA20downPips = 0.1;
start()関数内の処理
トレンド判定用の移動平均とボリンジャーバンドの値を取得します。
double ma1001 = iMA(NULL, 0, 100, 0, MODE_SMA, PRICE_CLOSE, 1); double ma1002 = iMA(NULL, 0, 100, 0, MODE_SMA, PRICE_CLOSE, 2); double ma3001 = iMA(NULL, 0, 300, 0, MODE_SMA, PRICE_CLOSE, 1); double ma3002 = iMA(NULL, 0, 300, 0, MODE_SMA, PRICE_CLOSE, 2); double ma201 = iCustom(NULL, 0, "Bollinger Bands - Fibonacci Ratios", 0, 1); double ma202 = iCustom(NULL, 0, "Bollinger Bands - Fibonacci Ratios", 0, 2); double ma20updown = (ma201 - ma202) / Point;
上から、100日線の1つ前と2つ前の値、300日線の1つ前と2つ前の値、ボリンジャーバンドの中心線の1つ前と2つ前の値、そして、ボリンジャーバンドの中心線の増減ポイントを取得しています。ここで、ma20updownの値がプラスなら増、マイナスなら減ということになります。
トレンド判定をエントリー条件に追加
シグナル発生条件に次のように、トレンド判定を追加します。
//買い条件 if(STC[2] < 5 && STC[1] > 5 && ma1002 < ma1001 && ma3002 < ma3001 && ma20updown > MA20upPips)
//売り条件 if(STC[2] > 95 && STC[1] < 95 && ma1002 > ma1001 && ma3002 > ma3001 && -1 * ma20updown > MA20downPips)
あとがき
今回筆者がバックテストした結果、有効なパラメータ、通貨や時間足などを見つけることができませんでした。もし、有効なものが見つかりましたら教えてくださいね^^;
では、今回はこの辺で。
慶次さんおはようございます!
メルマガに登録するには
どうしたらよいのでしょうか?
たま
たまさん、おはようございます。
メルマガ登録は右サイドのメルマガ登録・解除という枠がありますので、登録にチェックしメールアドレスと書かれている枠にたまさんのメールアドレスを入力、送信ボタンをクリックすれば完了です。
次回配信は、今月中旬~下旬ごろを予定しております。
よろしくお願いいたします!
慶次いつもありがとうございますm(_ _)m
たま
リンクありがとうございます。
当方もリンク完了したしました。
今後ともよろしくお願いいたします。
こんにちは。
いつもありがとうございます。
>有効なパラメータ、通貨や時間足などを見つけることができませんでした。
む~~、そうですか。
なかなか難しいですね。
すこしためしてみます。