ブレイクアウトシステムと BBW フィルタ
公開日:
:
最終更新日:2015/02/24
マネー
自作ブレイクアウトシステム(yasciiBreakout05)に BBW フィルタを組み込んでみました。
ドル円 4時間足 2014/1/1-2015/1/1
1つの負けが減って、1つ勝ちが増えただけのようです。
ちなみに前作はこちら。
まあ、ブレイクアウトするときは当然 BBW の値は増加しているわけで、やらずもがな(意味がなかった)というオチかなとも思っていましたが、1つだけでも改善したのはもうけものです。
プログラムソース
//
// yasciiBreakout06.mq4
//
// with BBW filter
//マジックナンバーの定義
#define MAGIC 42882
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = "Breakout06"; //コメント
extern int Fast_period = 14 ;
extern int Slow_period = 40 ;
extern int Range_period = 21 ;
extern double margin = 0.0 ;
extern double Range_threshold = 550.0 ;
extern int BB_Period=20;
double Deviation=1.0;
extern double ILC = 160.0 ;
// extern double TP = 1100 ;
//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;
double OOPL;
double OOPS;
int start()
{
double FastHH1 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
double FastLL1 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
//買いポジションのエグジット
if( Bid < FastLL1-margin
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
//売りポジションのエグジット
if( Ask> FastHH1+margin
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double FastHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
double FastLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
double SlowHH2 = Close[iHighest(NULL, 0, MODE_CLOSE, Slow_period, 2)];
double SlowLL2 = Close[iLowest(NULL, 0, MODE_CLOSE, Slow_period, 2)];
double value_range = High[iHighest(NULL, 0, MODE_HIGH, Range_period, 2)]-Low[iHighest(NULL, 0, MODE_LOW, Range_period, 2)];
double bbw1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 1) - iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 0, 1);
double bbw2 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 2) - iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 0, 2);
double lc = ILC;
if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if( ( (Close[2] >=FastLL2-margin && Close[1] < FastLL2-margin) || ( OOPL - lc*Point >= Close[1] ) ) //|| ( OOPL+TP*Point <= Close[1] ))
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Blue);
if( Exit_L ==1 ) {Ticket_L = 0;}
}
//売りポジションのエグジット
OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET);
OOPS = OrderOpenPrice();
if( ((Close[2] <=FastHH2+margin && Close[1] > FastHH2+margin) ||( OOPS + lc*Point <= Close[1] )) //|| ( OrderOpenPrice()-TP*Point >= Close[1] ))
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Red);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( Close[2] <= SlowHH2+margin && Close[1] > SlowHH2+margin && value_range < Range_threshold*Point && bbw1 > bbw2
&& ( 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,Blue);
}
//売りエントリー
if( Close[2] >= SlowLL2-margin && Close[1] < SlowLL2-margin && value_range < Range_threshold*Point && bbw1 > bbw2
&& ( 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,Red);
}
return(0);
}
###
関連記事
-
-
ヤフーカードなかなかよい
キャンペーンで 10000円分の Tポイントがもらえるということで、申し込んでみました。
-
-
【FX】Rollover Miracle Greedy という EA
Rollover Miracle Greedy という EA があります。 例によってアメリカ
-
-
平均足システムの別種 / Heiken_Ashi_Realで平均足の移動平均線クロス
Heiken_Ashi_Real というインディケーターが MetaTrader4 で無料ダウン
-
-
[FX]web-keepers Windows VPS についてのトラブル(4) あれトラブルが解消?
3/6 19:45:02 buy 1 usdjpy 120.968 3/
-
-
2023-06-02 ポートフォリオ改変
「2023-05-31 ポートフォリオ改変」の続きです。 私の保有している日本株は、
-
-
超シンプルな自動売買プログラム(11) 前週の平均値と逆張り(3) 改良型
以前の記事「超シンプルな自動売買プログラム(11) 前週の平均値と逆張り」で作ったプログラムを「
-
-
【FX】 2024年4月第1週総括
4月第1週の総括 今週の FXトレード時間が終わりましたので、4月第1週を総括したいと思います。
- PREV
- VQ システムとフィルタ
- NEXT
- BBW フィルタの使い方 / 決済編










