*

MACDバーシステムの改良(4) 早めの利益確定

公開日: : 最終更新日:2015/02/25 マネー

あの自動売買システム、しつこく変更しています。

上が変更前。下が変更後。 若干違いますね。

なにを変更したかというと、利益確定(定額固定)の機能をつけ、それに合わせてロスカットの値も最適化しました。

利益が出ているのに反転して負けトレードになっているのが結構あるのでは、と思ってつけ加えました。

今のところテストしやすいようにという一時的な理由で、ドル円専用になりました。

変更後は、

  1. プロフィットファクター 1.21 ⇒ 1.23
  2. 勝率 26.39% ⇒ 27.20%
  3. 総損益 +15337ドル⇒ + 18028ドル(元手 10000ドル)
  4. 最大ドローダウン 27.89% ⇒ 21.45%

といずれも改善。

22ヶ月で 2.8倍(年利 75%)を達成できるようになりました。

これからはパラメータの最適化をやりながら、トレーリングストップでも加えますかね。

関連記事

MACDバーシステムの改良(3) あれれまさかの結末?

 

プログラムソース

//
// yasciiMACD_3cross04.mq4
//                TakeProfit & LossCut(ドル円専用)
//

//マジックナンバーの定義
#define MAGIC  42551        

//パラメーターの設定//
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 LC = 1.0 ; // Loss Cut (円)
extern double TP = 1.1 ;  // Take Profit (円)

//変数の設定//
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()-LC >= Close[1] ) || ( OrderOpenPrice()+TP <= 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()+ LC <= Close[1] ) || ( OrderOpenPrice()-TP >= 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);
  }

関連記事

楽天SCHD順調(筋書き通り?)

https://www.youtube.com/watch?v=o9VL4usNLVk 通称「

記事を読む

【FX】 Hunter Scalper 1.10 という EA(2)

「【FX】 Hunter Scalper 1.10 という EA」の続きです。 この Hunt

記事を読む

[FX] VQ を使った5分足システムの試作(2) 半値をプラス

前回の記事「 VQ を使った5分足システムの試作(1)」 ですが、マルチタイムフレーム(MTF)

記事を読む

【FX】Exness でゼロ口座2つめを開く

以前の記事「Exness で新たにゼロ口座を開いてみる」で書きましたが、ここのゼロ口座は無敵なので、

記事を読む

楽天SCHD の人気がすごい

以前の記事「楽天SCHD(正式名称:楽天・高配当株式・米国ファンド(四半期決算型))発進」で紹介した

記事を読む

Schaff Trend Cycle について

Schaff Trend Cycle は私の好きな指標の一つで、MACD のストキャスをストキャ

記事を読む

曜日特性(3)

前回の「曜日特性(2)」で作った MT4用プログラム「日曜はダメよ」(愛称)ですが、使い方がわからな

記事を読む

【FX】ケルトナー チャネル

ケルトナー チャネル(Keltner channel)という指標があります。 原法では

記事を読む

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

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

記事を読む

【FX】2024年4月第4週スタート

FX トレードは 自動売買プログラムを入れ替えて、今月(2024年4月)から再出発をしました。

記事を読む

Message

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

ボンカレーゴールド うま辛にんにく 辛口

「ボンカレーゴールド うま辛にんにく 辛口」です。 この前カミサ

2026年3月の配当

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

AIで孫と遊ぶ

本日午前中は春休み中の孫2人を預かり自宅で仕事をしていました・・・半分

2026-3-24 投資信託追加購入

投資信託の基準価額は毎日変更されます。 なので、定期購入している

純金上場信託(金の果実)

純金上場信託(金の果実)【コード:1540】という ETF があります

→もっと見る

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