*

MACDのマルチタイムフレームシステム(FX自動売買プログラム)

公開日: : マネー

ある本に載っていたある人の売買法をプログラムにして自動売買してみました。

長期の時間足と日足を見て、上昇トレンドの際には MACD とシグナル線とのゴールデンクロスを買いサインにするというものです(売りサインはこの真逆)。

手仕舞いは MACDとシグナル線が反転したときというもの。

長期の時間足と日足における上昇トレンドの判定にも MACD が使えますから、MACD をトリプルフレームで使えばいいとひらめきました。

ということで、MACDシステムのマルチタイムフレーム化を試してみたことになります。

3つの時間足の異なる MACD のパラメーターは汎用性のあるもので統一しました(ここを変えた方がいいのかもしれません)。

で、プログラム(後述)ができあがり、いろんな通貨の 5分足、15分足、30分足、1時間足で試しましたが、どれもかんばしくありません。

移動平均線のクロスという基本ロジックの限界でしょう。

同じロジックの「シングルタイムフレームでパラメーターを変えた3種類のMACDで構成した」マックトリプルバーガーシステムにも勝てていません。

マックトリプルバーガーシステムもオーバーフィッティングであることは変わりないので、根本的に異なるシステムを解発する法がいいでしょう。

現在、「未来予測システム」と「簡略化MarketForceシステム」と「フィボナッチピボットシステム」を研究中です。

プログラムソース

//
// yasciiMACD_MTF15_1.mq4
//

//マジックナンバーの定義
#define MAGIC  42571        

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数(pips)
extern string Comments =  ""; //コメント

extern int Fast_EMA_Period = 12;
extern int Slow_EMA_Period = 26;
extern int Signal_Period = 9;
extern double ILC = 80 ;
// extern double TP = 110 ; 

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS1 ;
int OS2 ;

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 ;

double   OOPL;
double   OOPS;

int start()
  {

   if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

   MACD_MAIN1_1 = iMACD(NULL, 0, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_1 = iMACD(NULL, 0, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_1 = MACD_MAIN1_1 - MACD_SIGN1_1 ;

   MACD_MAIN1_2 = iMACD(NULL, 240, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_2 = iMACD(NULL, 240, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_2 = MACD_MAIN1_2 - MACD_SIGN1_2 ;

   MACD_MAIN1_3 = iMACD(NULL, 1440, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_MAIN, 1 );
   MACD_SIGN1_3 = iMACD(NULL, 1440, Fast_EMA_Period , Slow_EMA_Period, Signal_Period, PRICE_CLOSE, MODE_SIGNAL, 1 );
   MACD_Value1_3 = MACD_MAIN1_3 - MACD_SIGN1_3 ;

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   

   //買いポジションのエグジット
   if(   ( MACD_Value1_1 <0 ||  OOPL - ILC*Point >= Close[1] ) // || ( OOPL+TP*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;}
    }    

   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();

   //売りポジションのエグジット
   if(    (MACD_Value1_1 >0  || OOPS + ILC*Point <= Close[1]  ) //|| ( OrderOpenPrice()-TP*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_MAIN1_2 >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,Yellow);
    }

   //売りエントリー
   if(    MACD_Value1_1 <0 && MACD_MAIN1_2 <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,Red);     
    } 

   return(0);
  }

###

関連記事

【FX】Voorloper という EA(3) デモトレード5日目

「Voorloper という EA(2) 同時トレード数と通貨ペア数の変更」の続きです。 変更

記事を読む

【FX】Aura Neuron という EA

MQL5.com を観ていると、MT4 用の Aura Neuron という EA に目が行きました

記事を読む

お金の断捨離 証券会社編

リベラルアーツ大学という Youtubeチャンネル を毎日数個ずつ観ています。 証券会社は昔か

記事を読む

【FX】定番のトレンドフォロー EA 10EMAタッチ法(3)

以前の記事「【FX】定番のトレンドフォロー EA 10EMAタッチ法(2)」の続きです。 利確

記事を読む

ビットコイン BitCoin という仮想通貨

ビットコイン(BitCoin)について、よくわかる詳しいサイトがありました。 ⇒ 仮想通貨

記事を読む

日経平均史上最高値 さらに上放れかも?

日経平均が最高値をまた超えました。 本日の終値は 41580円。 日足チャートでは ちょ

記事を読む

厚生年金について

今回は厚生年金の話。 moneiro のページにわかりやすい表がありました。 上

記事を読む

[FX] 2020/3/10 ドル円 105円台に戻りましたね

NYダウの急降下とともに一気に下がっていたドル円(円高)ですが・・・ 昨夜、寝る前に上

記事を読む

2024-8-13 日経平均爆上げ

上は日経平均の日足。 昨日が祝日でしたので、本日火曜日が今週の初日でしたが、1207.

記事を読む

パウエルのおかげでずいぶん迷惑

いやあ、最近の急な円高には困ったものです。 12/8 に日銀のつぶやきを受けて 6円弱円高

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語の教養100 / 今野真二

★★★☆☆ 日本語についての教養本。うんちくエッセイが 10

胸部X線写真の話(2)

昨日の記事「胸部X線写真の話」の続きです。 内科医叩きをやってい

胸部X線写真の話

もう時効だと思うので書きますが、以前に書いたことがあったかも。 又聞

ある甲状腺疾患の話

医師になって放射線科の医局に入って、1年めは大学病院で研修しました。

【整備済み品】 東芝 MQ01ABDxxxシリーズ 2.5inch 500GB HDD/ 5400rpm

これもリファービッシュ品の東芝製の 2.5インチHDD です。

→もっと見る

  • アクセスカウンター
PAGE TOP ↑