*

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/20

本日のトレードのご報告。 本日はデイトレの心づもりです。 ヒロセ通商の15分足のデータがおか

記事を読む

【FX】EA詐欺について

EA詐欺という言葉を聞いたことがないでしょうか。 EA とは自動売買プログラムのこと。

記事を読む

ヴァリュー株ETF 投資

ヴァリュー株投資というのを昔からやってみたいと思っていました。 ヴァリュー株投資とは優良株

記事を読む

楽天SCHD(正式名称:楽天・高配当株式・米国ファンド(四半期決算型))発進

本日、楽天証券の HP を見ると、通称「楽天SCHD」と呼ばれている 楽天・高配当株式・米国ファンド

記事を読む

ベアファンドに注目(TECS と NN韓国KOSPIベアETN)

最近、アメリカ株が高金利政策によって下げ基調になってきましたよね。 下はアメリカ株 S&

記事を読む

2025-7-31 高配当ETF投資

本日 2025/7/31 で私が買っている ETF のうち、高配当のものは次のとおりです。

記事を読む

ディナポリ手法で利用するDMA (2)

前回の記事「ディナポリ手法で利用するDMA」で、ディナポリ移動平均線を使った自動売買プログラムを作り

記事を読む

【FX】なつかしの Vulkan Profit インジケーター

Vulkan Profit というインジケーターは有名なので大昔から知っているのですが、そのロジック

記事を読む

【FX】MT4からMT5へ

MetaTrader4(MT4)と MetaTrader5(MT5)とはどちらも MetaQuote

記事を読む

Message

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

Claude 使ってみる

Claude についていろいろ調べてみていたわけですが、いよいよ使って

CAT8 LANケーブル 1m

自宅の仕事場の回線をマンションタイプ(VDSL)から NURO

WiMAX 到着

WiMAX の機器(Speed Wi-Fi HOME 5G L13+n

不思議な AXI Select

AXI Select は海外FXブローカーの Axi が提供する参加費

WiMAX 申込んでみる

新しい事務所を借りましたので、インターネット回線を引かないと。 まだ

→もっと見る

  • 2026年5月
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • アクセスカウンター
PAGE TOP ↑