MACDバーシステムの改良
公開日:
:
最終更新日:2015/01/11
マネー
MACDバーを使った自動売買システム
昨日自作したプログラムですが、短期用、中期用、長期用の3つの MACD を同時に判断に使用するものです。
買いエントリ
3つのMACD全部がゴールデンクロス後 かつ 長期 MACD がゼロより上
売りエントリ
3つのMACD全部がデッドクロス後 かつ 長期 MACD がゼロより下
買い決済
短期、中期の MACD がデッドクロス後
売り決済
短期、中期の MACD がゴールデンクロス後
注意
買い増し、売り増しは行わない
ロスカットなし
2013年3月から昨日までの結果(ドル円1時間足)です。
1万ドルの口座が 22ヶ月で 2.2倍に増えています。
ただし、ロットは 10万通貨なのでレバレッジは10倍強となり、買い増し、売り増しは行っておりません。
もっとも、同じ時期のドル円相場は下のように 96円から120円まで上昇していたので、ドル定期預金でも 1.2倍+金利はいただけたようですね。
利益曲線とレートの曲線を比べますと、最初の円のところで、ジリ下げのときに損失がふくらみ大きなディップを作っています。
2つめの円のジリ上がりのところは買い発動できていないのか、利益曲線はフラットなままです。
この2つは長期の MACD のパラメータの変更でなんとかなるかもしれませんね。
3つめの円はレートが急降下してまた反転していますが、このシステムはうまく対応してくれたようです。生身の人間ならこうはうまくいきませんね。このあたりが自動売買の最もすばらしいところです。
改良版
長期の MACD のパラメータをいじらずに、ロスカットをもうけてディップを消すことに挑戦。
最適なロスカット値を決めるのに手間取りましたが、最初の2つのディップは消えて、同じ期間で 2.8倍と収益も増加しましたね。
最初の円のところは回避できたので、2つ目の円のところの問題を消すべく、次はパラメータの最適化を行うことにします。
関連記事
改良版(ロスカット付き)ソースコード
//
// yasciiMACD_3cross03.mq4
// LossCut
//
//マジックナンバーの定義
#define MAGIC 42511
//パラメーターの設定//
extern double Lots = 1.0; //取引ロット数
extern int Slip = 10; //許容スリッページ数
extern string Comments = ""; //コメント
extern int Fast_EMA_Period1 = 6;
extern int Slow_EMA_Period1 = 19;
extern int Signal_Period1 = 6;
extern int Fast_EMA_Period2 = 12;
extern int Slow_EMA_Period2 = 26;
extern int Signal_Period2 = 9;
extern int Fast_EMA_Period3 = 19;
extern int Slow_EMA_Period3 = 39;
extern int Signal_Period3 = 9;
extern double LossCut = 100.0 ;
//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0; //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0; //売りポジションの決済注文の結果をキャッチする変数
double MACD_MAIN1_1 ;
double MACD_SIGN1_1 ;
double MACD_Value1_1 ;
double MACD_MAIN1_2 ;
double MACD_SIGN1_2 ;
double MACD_Value1_2 ;
double MACD_MAIN1_3 ;
double MACD_SIGN1_3 ;
double MACD_Value1_3 ;
int OS ;
int start()
{
if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;
MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period1 , Slow_EMA_Period1, Signal_Period1, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;
MACD_MAIN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_2 = iMACD(NULL, 0, Fast_EMA_Period2 , Slow_EMA_Period2, Signal_Period2, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;
MACD_MAIN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_MAIN, 1 );
MACD_SIGN1_3 = iMACD(NULL, 0, Fast_EMA_Period3 , Slow_EMA_Period3, Signal_Period3, PRICE_CLOSE, MODE_SIGNAL, 1 );
MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;
OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);
//買いポジションのエグジット
if( ((MACD_Value1_1 <0 && MACD_Value1_2 <0) || ( OrderOpenPrice() - LossCut * Point >= Close[1] ))
&& ( Ticket_L != 0 && Ticket_L != -1 ))
{
Exit_L = OrderClose(Ticket_L,Lots,Bid,Slip,Red);
if( Exit_L ==1 ) {Ticket_L = 0;}
}
OS = OrderSelect(Ticket_S, SELECT_BY_TICKET);
//売りポジションのエグジット
if( ((MACD_Value1_1 >0 && MACD_Value1_2 >0) ||( OrderOpenPrice() + LossCut * Point <= Close[1] ))
&& ( Ticket_S != 0 && Ticket_S != -1 ))
{
Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
if( Exit_S ==1 ) {Ticket_S = 0;}
}
//買いエントリー
if( MACD_Value1_1 >0 && MACD_Value1_2 >0 && MACD_Value1_3 >0 && MACD_MAIN1_3 >0
&& ( 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( MACD_Value1_1 <0 && MACD_Value1_2 <0 && MACD_Value1_3 <0 && MACD_MAIN1_3 <0
&& ( 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);
}
###
関連記事
-
-
[FX]簡易GMMAのススメ
GMMA についてはこちら> GMMAチャート(複合型移動平均線) 長期の移動平均線を6本、短
-
-
一番売れてる投資の雑誌ザイが作った「FX」入門 / ザイFX!編集部 羊飼い
一番売れてる投資の雑誌ザイが作った「FX」入門 ザイFX!編集部 羊飼い ダ
-
-
【FX】AXI Select は一番実入りのいい副業かも
AXI Select とは AXI という海外FX業者がみずから行っているプロップトレーダー養成プロ
-
-
[FX] 4TFStochBars というインジケータ(2)
前回の記事「 4TFStochBars というインジケータ」で紹介した 4TFStochBa
-
-
[FX]yasciiHA04a 実戦投入
昨日タイムフィルタの話をしましたが、そこで検証したシステム・・・平均足クロスシステムにクラウドフ
-
-
[FX] Tokyo Box(ロンドン・コーリング) の新作プログラム (2)
数日前の記事「Tokyo Box(ロンドン・コーリング) の新作プログラム」の続きです。 東京
-
-
ふるさと納税6回目 / 柑橘類 室戸市
チョーシにのった私はさらに続けて納税(寄付)することにしました。 今回はみかん。 普通のミカ
-
-
【FX】VantageTrading という海外業者(2)
昨日紹介した(いや、紹介はしていないな)スプレッドが狭い業者の VantageTrading ですが
-
-
【FX】リセット&ゴー(2)
以前の記事「【FX】リセット&ゴー」の続きです。 開幕ダッシュ 4月1日からの新体制(Dark









