【FX】ボリンジャーバンド順張り手法
公開日:
:
最終更新日:2024/10/01
マネー
逆張りで使う人が多いボリンジャーバンドですが、開発者のボリンジャーさんは順張りで使えとおっしゃっています。
そこでボリンジャーバンドを順張りに使う方法で最もシンプルなものを作りました。
ロジックは、
買いエントリ
- +2σを終値で超えた陽線が2本連続する
買いの手仕舞い
- 5EMA を終値で下抜ける または 直近低値を下抜ける
売りエントリ
- -2σを終値で超えた陰線が2本連続する
売りの手仕舞い
- 5EMA を終値で上抜ける または 直近高値を上抜ける
と簡単なものです。
チャートで示すと、下のような感じになります(青線が買いの部分)。
*
バックテスト XAGUSD 30分足 0.1ロット固定 2024/9/1-2024/9/29
純益 319$、最大ドローダウン137.1$、5勝5敗(勝率50%)、プロフィットファクター 2.89 とまずまず。
*
負けの金額がそれほど大きくならない割に、利益は伸ばせていますね。
これは、利確にボリンジャーバンドのミドルバンドを使わないで EMA(5) を使っていることによります。
もろもろの書籍ではミドルバンドを使えと書いていますが、それでは読者に気の毒です。
(上のチャートの部位では、ミドルバンド決済では負けになってしまいます)
どの通貨ペアでも使えますが、ボラティリティの高いポンド、ゴールド、シルバーでの成績がいいです。
トレンドの弱い期間はダマシが多く利益は減りますが、それは他の EA と同じです。
プログラム
//
// jjBB01a.mq4
////マジックナンバーの定義
extern int MAGIC = 24093001 ;//パラメーターの設定//
extern double Lots = 0.1; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = “”; //コメントextern int Fast_period = 18 ;
extern bool TimeFilter = true ;
extern int in_time = 8; // 取引開始時間
extern int out_time = 15; // 取引停止時間//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数int OS1 ;
int OS2 ;
double OOPL;
double OOPS;double LL2 = 0.0 ;
double HH2 = 1000000.0 ;int start()
{if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double BBub1 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 1) ; // ラインインデックス
double BBlb1 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 1) ;
double BBub2 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 2) ; // ラインインデックス
double BBlb2 = iBands( NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 2) ;double ma10 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, 1);
if ( TimeFilter != true ) {
in_time = 0; out_time = 24 ;
}//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ( Close[1] <= ma10 || Close[1] < LL2)
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,clrAqua);
if( Exit_L ==1 ) {Ticket_L = 0;}
}//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ( Close[1] >= ma10 || Close[1] > HH2 )
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,clrRed);
if( Exit_S ==1 ) {Ticket_S = 0;}
}//買いエントリー
if( Close[2] > BBub2 && Close[1] > BBub1 && Close[1] > Open[1] && Close[2] > Open[2]
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_L == 0 || Ticket_L == -1 )
&& ( Ticket_S == 0 || Ticket_S == -1 ))
{
Ticket_L = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slip,0,0,Comments,MAGIC,0,clrAqua);
LL2 = Low[iLowest(NULL, 0, MODE_LOW, Fast_period, 2)];
}//売りエントリー
if( Close[2] < BBlb2 && Close[1] < BBlb1 && Close[1] < Open[1] && Close[2] < Open[2]
&& (Hour() >= in_time && Hour() < out_time)
&& ( Ticket_S == 0 || Ticket_S == -1 )
&& ( Ticket_L == 0 || Ticket_L == -1 ))
{
Ticket_S = OrderSend(Symbol(),OP_SELL,Lots,Bid,Slip,0,0,Comments,MAGIC,0,clrRed);
HH2 = High[iHighest(NULL, 0, MODE_HIGH, Fast_period, 2)];
}return(0);
}
###
関連記事
-
-
【FX】Forex Kingle という EA
Forex Kingle という EA があります。4-5年ほど前に拾ったものですが、なんと MT4
-
-
[FX] ハーフGMMA チックな順張りプログラム
本日あるブログの記事を読んでいて、4本(GMMA の半分バージョン)を使ったトレンドフォロワーのシス
-
-
韓国経済 やばい デフォルト 誰が助ける?
* 最近、韓国経済に関しての気になるニュースを2つ。 1 「韓国やばい! 誰か助けろ!」 警
-
-
[FX] 2015/6/15 今週のパラメーター
記事を書くのを忘れていましたが、今週のパラメーターは、2015/6/1-2015/6/14 で最
-
-
【FX】Bitcoin の値動き(2)
前回の記事「【FX】Bitcoin の値動き」の続きです。 Bitcoin 用の EA も 5
-
-
FX 2015年2月第2週デモ口座運用状況
2/09 09:45:10 buy 1 usdjpy 118.982 2
-
-
新生銀行 ATM使用料無料
* みなさんのお住まいのところは銀行は近いのでしょうか。 もし遠ければ新生銀行の口座でも作られてはい
-
-
MACDバーシステムの改良(4) 早めの利益確定
あの自動売買システム、しつこく変更しています。 上が変更前。下が変更後。 若干違いますね。
-
-
三越伊勢丹HD株買いました
三越と伊勢丹などで使える割引カードがもらえるので 100株買いました。 チャートを見る
-
-
アメリカ株投資 2021-8-6
米国株投資 2日前の記事「アメリカ株投資 2021-8-4」を書いたときに純益が 146万
- PREV
- 2024-09-27自民党総裁選
- NEXT
- 楽天SCHD の人気がすごい