*

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】Axiory 新ナノ口座(3つめ)発進

以前の記事「Axiory でハロウィーンキャンペーンやっています」で新設して、10万円を入金して 1

記事を読む

楽天カード超かんたん保険 加入

楽天カード超かんたん保険というものに加入しました。 補償目的ではなく、楽天市場でのポイントアッ

記事を読む

2024年8月8日 日本株は日柄調整に?

本日の株式市場が閉まり、日経平均は 34,831.15円(前日比-258.47円)となりました。

記事を読む

最大ドローダウンについて

おまえのつくる EA は「最大ドローダウンがどれも 10%超えていて使えない」とか思っておられる

記事を読む

[FX] VQ というインジケーターのバグ?

VQ というかつて人気のあったインジケーターのプログラムソースを読んでいると、133行目にちょっと気

記事を読む

[FX] 東京時間終了間際の逆張りを利用する自動売買プログラム

昨日の本「東大院生が考えたスマートフォンFX / 田畑昇人」にも書いてありましたが、東京株式市場の開

記事を読む

VQ を使ったシンプルな自動売買システム

VQ という摩訶不思議なインジケーターがあります。始値、終値、高値、安値のそれぞれの移動平均線を使っ

記事を読む

仮想通貨はブロックチェーンを使っているから価値がある?

「仮想通貨はブロックチェーンを使っているから価値がある」とか言う人を TV でも見ます。 おかしい

記事を読む

【FX】 Price Action Scalping という EA

またまた面白い自動売買ソフト(EA)を見つけました。Price Action Scalping とい

記事を読む

令和3年分確定申告

令和3年分確定申告 本日、令和3年分確定申告に税務署に行ってきました。 今回は申告書を全部書

記事を読む

Message

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

【FX】平滑化 RSI を使った簡単な EA

今はなき雑誌「FX攻略.com」の 2020年12月に のぶしサンの高

【FX】3本の RCI を使った自動売買プログラム (3)

「 3本の RCI を使った自動売買プログラム (2)」の続きです。

2024-11-18 愛車が不調に

一昨日ですが、愛車(BMW 318i)に乗ると警告画面が。

新・臆病者のための株入門 / 橘 玲

★★★★☆ 旧版も読んだのですが、新NISA 対応というだけ

モノラルアンプの価値

モノラルアンプというのはステレオアンプと違い、1つの入力を増幅して出力

→もっと見る

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