【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] マルチタイム平均足を使ったトレンドフォロープログラム
FX で1日間から数日間程度のトレンドをフォローする方法として、いろいろなものが考案されてい
-
-
[FX] THV Trix は MACD なのか
THV システムでキモとなっている Trix は秘密のヴェールに隠されていますが、ポピュラー
-
-
確定申告 会計 freee
* 本日、確定申告に行ってきました。 昨年は少し稼ぎすぎたようで、納税額も跳ね上がってしまい
-
-
超シンプルな自動売買プログラム(14) ハル移動平均線
久々に「超シンプルな自動売買プログラム」シリーズを再開しますか。 ハル移動平均線 HUL移動平均
-
-
【FX】ボリンジャーバンドを逆張りで(2)
昨日の記事「【FX】ボリンジャーバンドを逆張りで」の続きです。 本日、バグをつぶして、少し改良
-
-
【FX】朝スキャ(3)
朝スキャの実験 以前の記事「朝スキャ(2)」で書いたように、開いたばかりの TitanFX のリア
-
-
【FX】リセット&ゴー
FX リアル口座での運用ですが、昨秋から使い始めた Evening Scalper Pro の使用を
-
-
世界一シビアな「社長力」養成講座 / ダン・ケネディ
ダン・ケネディの新刊を読了。2回目ですが。 この前もちょこっとここに書いたけど、 世界一シビア
-
-
韓国経済 やばい デフォルト 誰が助ける?
* 最近、韓国経済に関しての気になるニュースを2つ。 1 「韓国やばい! 誰か助けろ!」 警
- PREV
- 2024-09-27自民党総裁選
- NEXT
- 楽天SCHD の人気がすごい








