*

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】2024年6月第1週総括

2024年6月の第1週の FXトレード(Fintokei 以外)が終わり、総括します。 まあ、

記事を読む

【FX】Fintokei 豹変す

プロップファームの Fintokei ですが、私はパール(500万円コース)の二次試験を現在受けてお

記事を読む

【FX】自動売買について

FX の自動売買とはコンピュータに自動売買ソフトをインストールして FX の取引を行わせることをさし

記事を読む

【FX】RSI でトレンドフォロー型 EA 作ってみる

RSI RSI というオシレーター系のインジケーターがあります。 あまりぱっとしない印象がするの

記事を読む

【FX】Fintokei チャレンジ開始

昨日の記事「【FX】プロップファームの Fintokei について」の続きです。 今朝、Fin

記事を読む

【FX】ゴールドの実質コスト

昨日のゴールド(証拠金取引;いわゆる XAUUSD のこと)のスプレッドを調べてみました。 海外F

記事を読む

超シンプルな自動売買プログラム(6) 簡単な一目均衡表

みんなが好きな 一目均衡表 は誰もが使えます。 同時にいくつものサインが重なって出ることが多い

記事を読む

毎月配当の超高配当投資信託の「ネクスト・ジェネレーション」の配当について

毎月配当の超高配当投資信託の「ネクスト・ジェネレーション」の今年の配当は、 となりまし

記事を読む

FX 裁量トレード 現在の方法 (2)

昨日の「FX 裁量トレード 現在の方法」の続きですが、この方法はまずまず使えそうです。 自動売

記事を読む

[FX]前週の平均値と順張り&逆張り EA化(7) サマータイム

以前の記事「前週の平均値と順張り&逆張り EA化(4) GBPJPY版のみ始動 」で、ぼちぼちリ

記事を読む

Message

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

浮世絵「名所江戸百景」復刻物語 / 東京伝統木版画工芸協会

★★★☆☆ 著者の東京伝統木版画工芸協会というのは浮世絵を復

封印された中国近現代史 / 宮脇淳子

★★★★☆ 亡き岡田英弘氏の妻である 宮脇淳子先生の著書。

三田市民病院の移転問題について

本日夕方 TV で三田市民病院の移転問題を扱っていました。 初耳

富嶽三十六景 沼津

こちらの作品ですが、「富嶽三十六景 沼津」とあります。葛飾北斎

【AI】ノイズレスリサーチ

ノイズレスリサーチという AI での検索方法があるというお話。

→もっと見る

  • 2026年8月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
  • アクセスカウンター
PAGE TOP ↑