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 再開します / 業者の選定FX とは外国為替トレードのあれです。 じつは昔、忙しかったころに自動売買(パソコンのプログラ 
-  
                              
- 
              NHK をぶっ潰す!N国というイスラム国を思わせる過激(^^)政党が出現しました。 私も NHK はニュース部門と 
-  
                              
- 
              KOSPI ベアETN が熱い (2)「KOSPI ベアETN が熱い 」の続きです。 KOSPI ベアETN とは韓国の株 
-  
                              
- 
              [FX] VQ_MTF システムにフィボナッチ・トレーリングストップを導入マルチタイムフレーム化した VQ システムである yasciiVQ_MTF01 にフィボナッチ・ 
-  
                              
- 
              【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(3)「【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(2)」の続き 
-  
                              
- 
              現代貨幣理論(MMT)最近よく聞く言葉に、現代貨幣理論 Modern Monetary Theory というものがありまし 
-  
                              
- 
              [FX] 時間帯特性 (1)本日はアメリカ日本ともに祝日ということで、先月 FX に復帰して以来初めて EURAUD(ユーロオー 
-  
                              
- 
              [FX] 2015/4/14 予想通り逆トレンドがキター?GBPUSD 1時間足ですが、あれから雲をちょっと下抜けして上昇し、上に一気に抜けました。 
-  
                              
- 
              【FX】アンディさんのリアルタイム雲 (3)最強の「FX理論」を君たちに教えたい posted with amazlet 
- PREV
- MACDバーシステムの改良
- NEXT
- FXトレーダーの大冒険 / ロブ・ブッカー ブラッド・フリード





 
         
        




