*

MACDバーシステムの改良(2)

公開日: : 最終更新日:2015/01/11 マネー

前回紹介した MACDバー の自動売買プログラムですが、ロスカットありバージョンをもとに長期用の MACD のパラメータを変更してみました。

対象ペア

ドル円 1時間足

結果

上が最適化前、下が最適化後。 さらになめらかになったようです。

 

いずれも 2013年3月から昨日までの結果(ドル円1時間足)です。

1万ドルの口座が 22ヶ月で 2.83倍(最適化前)、3.25倍(最適化後)に増えています

同じ時期のドル円相場は下のようになります。

 

最初の円のところやその直前のディップは利益曲線のほうでは少しの損失でおさまっています。

2つめの円のジリ上がりのところはロスカットをつけたことで主に改善できてしまい、パラメータの最適化ではほとんど改善されませんでした。

買い発動はできていたが、ダマシ損失が結構効いていたということでしょうか。

改良後の結果

プロフィットファクターは 1.55 から 1.73に改善。

勝率は 39.42% から 32.95% にやや減少。

損益は +18301 ドルから +22491ドルに上昇。

最大ドローダウンも 9.6% とヒトケタに低下。

22ヶ月で 3.25 倍なら実稼働させてみようかと思いますよね。

ところが、この後えらいことに> MACDバーシステムの改良(3) あれれまさかの結末?

関連記事

改良版(ロスカット付き)ソースコード

 

//
// 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 = 18 ; // 19;
extern int Slow_EMA_Period3 = 33 ; // 39;
extern int Signal_Period3 = 11; // 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 テストトレード 2014/11/13 日中

今日もテストトレードです。 ドル/円 10AM ごろ見ると三角保ち合い(ペナント様)のパ

記事を読む

[FX] 驚異のプログラム?(4)

前回の記事「 驚異のプログラム?(3)」の続きです。 実は前回までのプログラムはロジック的にバ

記事を読む

ふるさと納税4回め / 無洗米 大館市(2)

以前の記事「ふるさと納税4回め / 無洗米 大館市」で書いた無洗米。 なかなか送られてこないの

記事を読む

【FX】2024年5月第1,2,3,4週総括

以前の記事「【FX】2024年5月第1,2,3週総括」の続きです。 2024年5月第4週のトレ

記事を読む

[FX]通貨ペア毎の順バリ・逆バリの時間割(2014年度)

以前の記事 「超シンプルな自動売買プログラム(12) 前週の平均値と逆張り 時間特性」、「超シン

記事を読む

2019/9/16 早朝窓開け 早起きは何文の得?

本日は日本は祝日ですが、6時に起きたので相場チェックすると、珍しくクロス円で「窓開け」が起き

記事を読む

楽天・米国レバレッジバランス・ファンド(愛称:USA360)

楽天証券で扱っている円建てのファンドです。 先週から買い始めました。 このファンドは 「

記事を読む

いろんなシステムの総括

QQE の弱点を前回指摘しましたが、メインウィンドゥに 平均足移動平均線クロス

記事を読む

2026年3月の配当

3月はまだ終わっていませんが、めぼしい配当がひととおり済んだので一応まとめておきます。 現在の最大

記事を読む

FX は画像診断なのかも

FX は画像診断に似ているなあと思っています。 画像診断 知識を体系的に仕入れる

記事を読む

Message

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

Gemini Spark 使ってみた

Gemini Spark が使えるようになって、しばらく無視していまし

そのほかの予想分配金提示型ファンド 8月の配当

まだ8月半ばですが、月の前半に予想分配金提示型ファンド(毎月配当)の配

次世代通信関連 世界株式戦略ファンド 愛称 The5G について

次世代通信関連 世界株式戦略ファンド(愛称 The5G)には 通常型と

次世代通信関連 世界株式戦略ファンド(予想分配金提示型) 8月の配当

毎月配当の超高配当ファンド「次世代通信関連 世界株式戦略ファンド(予想

私の遠隔画像診断(2)

昨日の記事「私の遠隔画像診断」の続きです。 会社請けの医療施

→もっと見る

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