平均足+バンドウォーク EA(1)
公開日:
:
マネー
昔からよく”聖杯”と言われている、バンドウォークに飛び乗るトレンドシステムの研究です。
ADX30以上をフィルタにしている本もありますが、とりあえず簡単に始めてみます。
買いエントリ(下のすべての条件を満たす)
- EMA5:上向き
- 平均足:最低3本の陽線が連続し、その終値がボリンジャーの1σを上回る
売りエントリ(下のすべての条件を満たす)
- EMA5:下向き
- 平均足:最低3本の陰線が連続し、その終値がボリンジャーの -1σを下回る
決済(下のいずれかの条件を満たす)
- HLバンドトレーリングストップ
- 逆の平均足が2本連続
結果
うまく売買が行われているようです。
平均足の終値ですのでボリンジャーの2σを越えることはまれで、特にこの期間では全くないようです(高値にしますと 2σをよく逸脱すると思います)。
ドル円 1時間足 2014/1/1 – 2015/1/1
トレンドのない期間はさっぱりですし、あまり成績はよくありませんが、これから改良に努めます。
プログラムソース
//
// yasciiSayHi01
//
//マジックナンバーの定義
#define MAGIC 42731
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = "yasciiSayHi01"; //コメント
extern int Fast_period = 14 ;
extern int BB_Period=20;
extern int MA_Period = 5 ;
double Deviation = 1.0;
//変数の設定//
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(){
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
double HA_open1 = ( Open[2] + Close[2] ) / 2.0 ;
double HA_close1 = ( Open[1] + Close[1] + High[1] + Low[1] ) / 4.0 ;
double HA_open2 = ( Open[3] + Close[3] ) / 2.0 ;
double HA_close2 = ( Open[2] + Close[2] + High[2] + Low[2] ) / 4.0 ;
double HA_open3 = ( Open[4] + Close[4] ) / 2.0 ;
double HA_close3 = ( Open[3] + Close[3] + High[3] + Low[3] ) / 4.0 ;
double bbp1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 1, 1) ;
double bbm1 = iBands( NULL, 0, BB_Period, Deviation, 0, PRICE_CLOSE, 2, 1) ;
double FastHH2 = Low[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
double FastLL2 = High[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 2)];
double ema5 = iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 1) - iMA(NULL, 0, MA_Period, 0, MODE_EMA, PRICE_CLOSE, 2);
//買いポジションのエグジット
OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);
OOPL = OrderOpenPrice();
if(
(Close[1] < FastHH2 || (HA_open1 > HA_close1 && HA_open2 > HA_close2)) //bbw1 < bbw2)
&& ( 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);
OOPS = OrderOpenPrice();
if(
(Close[1] > FastLL2 || (HA_open1 < HA_close1 && HA_open2 < HA_close2)) //bbw1 < bbw2)
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( ema5 > 0
&& HA_open1 < HA_close1 && HA_open2 < HA_close2 && HA_open3 < HA_close3
&& HA_close1 > bbp1 && HA_close2 > bbp1 && HA_close3 > bbp1
&& ( 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,Red);
}
//売りエントリー
if( ema5 < 0
&& HA_open1 > HA_close1 && HA_open2 > HA_close2 && HA_open3 > HA_close3
&& HA_close1 < bbm1 && HA_close2 < bbm1 && HA_close3 < bbm1
&& ( 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,Blue);
}
return(0);
}
###
関連記事
-
-
今買おうかと思っているファンド 楽天日本株トリプル・ベア
* どうです。この下がり具合。 「楽天日本株トリプル・ベア」というファンドで、デリバティ
-
-
MTF Forex Freedom Bar の威力
前回は 15分足というのんびりモードですが、せっかちな人はもっと短い時間足をお使いでしょう。
-
-
[FX]前週の平均値と順張り&逆張り EA化(7) サマータイム
以前の記事「前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動 」で、ぼちぼちリ
-
-
[FX] たった1本の移動平均線でスイングトレード
できるだけ物事は簡単なほうがいいと思っている人が多いでしょうが、私もその末席におります。 一番
-
-
【FX】Voorloper という EA(2) 同時トレード数と通貨ペア数の変更
「【FX】Voorloper という EA」の続きです。 含み損が増えたのはマーチンゲール倍数
-
-
【FX】久々に EA つくる「2本のRSI でのトレードシステム」
パラパラと雑誌「FX攻略.com」のバックナンバーをめくっていると、複数の人の手法が一覧でまとめてあ
-
-
【FX】Hippo Trader という EA(3)
以前の記事「【FX】Hippo Trader という EA(2)」の続きです。 * 前回
-
-
[FX]ロブ・ブッカーのNY Box 検証
下の本に推奨されている NY Box (ニューヨークボックス)というトレード方法についての検証で
-
-
一目均衡表(関数版)
MetaTrader4 に付属している一目均衡表のソースを見てみるとずいぶん複雑なので、関数を使
-
-
【FX】Fintokei のビジネスモデルについての愚考
前日の記事「【FX】Fintokei チャレンジ開始」でも書きましたが、Fintokei の仕組みは









