FX自動売買システム開発

自作EAでボリンジャーバンドによる逆張り手法【MT4でFX自動売買】

 

↓そもそも「MT4って何?」という方はこちら。
メタトレーダー(MT4)の使い方!入手方法も解説

↓サンプルEAの動かし方や評価、改編方法は以下
MT4で自作するFX自動売買システム(EA)とは?作り方を徹底解説!

 

 

1.【質問】ダウ理論では勝てないのでしょうか?

 

質問者

ダウ理論に基づく順張りは株やFXの王道と言えると思います。
しかし、これをEAに組み込んでも勝率がいまいち上がりません。

特にポンド円のような動きが大きい通貨は特に難しく感じています。
方向があっているのにストップを刈られた経験が数多くあります。

より多くの利益を上げる方法はないでしょうか。

 

2.【回答】ボリンジャーバンドを使ってみましょう。

 

Hazu

ボラリティが大きい通貨はEAと相性が悪いので避けるべきです。
理由は再現性が低くバックテストの結果が当てにならないからです。
今回はトレンドが分かりやすいドル円で使える手法を紹介します。
ボリンジャーバンドで短期的な反発(押し目)を狙います。

 

ボリンジャーバンドとは?

米国投資家のジョン・ボリンジャーが考案した手法です。
統計学に基づき価格変動を予測するテクニカル指標です。
計算式が気になる方は調べていただくとして、要点は以下になります。

 

ポイント

ボリンジャーバンドの

±1σ範囲に収まる確率 ⇒ 68.3%

±2σ範囲に収まる確率 ⇒ 95.4%

±3σ範囲に収まる確率 ⇒ 99.7%

 

ボリンジャーバンドはiBands()で取得

iBands( ①, ②,③,④,⑤,⑥,⑦,⑧ );

①通貨ペア指定。チャート上のペアを指定する場合はNULL。

②時間足指定。チャートの時間足を指定したい場合は0。

③平均期間指定。

④標準偏差指定。通常±3σの範囲内で指定。

⑤バンドシフト指定。

⑥適用価格指定。終値の場合は0。

⑦ライン番号指定。上バンドは1、下バンドは2。

⑧値を取得するバーの指定。現在のバーであれば0。

 

トレンドを移動平均、タイミングをボリンジャーバンドで把握

 

HAZU

こちら で公開しているコードのマーカ部分に注目して下さい。

 

 command
//------------------------------------------------------------------------------------
// 1. getprm : パラメータ取得
//------------------------------------------------------------------------------------
void getprm(){
for(int i=4; i>=0; i=i-1){
M0[i] = iMA(rcur,time, Ma1, 0, 0, 0, i);
M1[i] = iMA(rcur,time, Ma2, 0, 0, 0, i);
U1[i] = iBands(rcur,time,Ma2,1.5,0,PRICE_CLOSE,1,i);
L1[i] = iBands(rcur,time,Ma2,1.5,0,PRICE_CLOSE,2,i);
M2[i] = iMA(rcur,time,Ma3, 0, 0, 0, i);
M3[i] = iMA(rcur,time,50, 0, 0, 0, i);
}
}
//------------------------------------------------------------------------------------
// 2. check : 取引条件確認
//------------------------------------------------------------------------------------
void check(){
//条件処理
for(int i=4; i>=0; i=i-1){
if(M1[i]<=M2[i]){              //トレンド方向把握
result = -1;                         //売り方向
if(M0[i]>=U1[i])                //売買タイミング把握
goflg = true;
else
goflg = false;
}
else if(M1[i]>=M2[i]){      //トレンド方向把握
result = 1;                          //買い方向
if(M0[i]<=L1[i])                //売買タイミング把握
goflg = true;
else
goflg = false;
}
else{
result = 0;
goflg = false;
}
}
}

 

「トレンド方向把握」「売買タイミング把握」という2段階で判断しています。
売買タイミングを測るための手段としてボリンジャーバンドを使用しています。
深い所でエントリーすれば利幅が取りやすく、損切り幅も抑えることが可能です。

 

3.EA開発に詰まったら

EA開発に限らず、物事に詰まったら外部の知識を頼るのが賢い選択です。
以下ではトレードとプログラミングに役立つ参考書籍やサービスを紹介します。

 

①書籍でトレードの勉強

基本ブログ内で完結するよう心がけていますが、以下の本があると理解が深まります。
シリーズものですがとりあえず1冊読んでみると良いかと思います。

■FXメタトレーダー入門 AMAZON 楽天

 

②無料のプログラミングスクールを活用

ソースコードの理解に苦しむようであれば初級レベルのプログラミングを学びましょう。
最初の基礎ベースを身に着けるならTechAcademyがおすすめです。
TechAcademyは1週間の無料体験があるので、それで十分学べるかと思います。

>>Techacademyの無料体験はこちら

 

4.まとめ

ボリンジャーバンドは逆張り以外にも相場の勢いを測るために使うことが可能です。
特に「バンドウォーク」と呼ばれる状態は強いトレンドを示すことで有名です。

 

抵抗として使う場合は短期足では平気で±3σを超えてくることに注意して下さい。
±3σだからOK!ではなく他の指標と絡めて使うのが重要です。
便利ですが過信しすぎないようにしましょう。

 

その他のロジックについて知りたい方は以下の記事を参照下さい。

>>参考:『FX自動売買システム(EA)の自作に困った際のヒント集』

 

 

以上、参考になれば幸いです。

 

  • この記事を書いた人

HAZU

静岡の一部上場企業で働く兼業投資家、投資を初めて6年が経ちました。30代のセミリタイアを目指して20代からコツコツと資産形成中。趣味はキャンプとプログラミング。ブログでは主に【FXの始め方から自動化】までを扱っています。

-FX自動売買システム開発

© 2021 HAZUの資産形成ラボ Powered by AFFINGER5