*

Trend Intensity Index を使った EA

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

以前の記事で紹介した Trend Intensity Index(TII) という指標で作った EA ですが、実際にサーバー上で運用すると致命的バグを発見。

修正したコードを載せます。

バックテスト結果(2014/1/1-2015/1/4)USDJPY 1時間足です。

プロフィットファクター 1.38、勝率 37.50%、最大ドローダウン 26.90% と散々な結果でした。

レンジ相場を除くとまずまずかもしれませんが。

関連記事

プログラソース(TII_RLH.ex4 が必要)

//
//    yasciiTII02
//

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

//パラメーターの設定//
extern double Lots = 1.0;     //取引ロット数
extern int Slip = 10;         //許容スリッページ数
extern string Comments =  "TII02"; //コメント

extern int Major_Period=18;
extern int Minor_Period=12;
int Major_MaMode=1; //0=sma, 1=ema, 2=smma, 3=lwma, 4=lsma
extern int Major_PriceMode=0;//0=close, 1=open, 2=high, 3=low, 4=median(high+low)/2, 5=typical(high+low+close)/3, 6=weighted(high+low+close+close)/4
color LevelColor=Silver;
extern int BuyLevel=37;
int MidLevel=50;
extern int SellLevel=65;
extern int R1Level=3;
extern int R2Level=97;

extern int Fast_period = 14 ;
extern double margin = 0.0 ;

extern double ILC = 60.0 ;
// 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   OOPL;
double   OOPS;

int start(){

    //暴落対策(始め)

   double FastHH1 = Close[iHighest(NULL, 0, MODE_CLOSE, Fast_period, 1)];
   double FastLL1 = Close[iLowest(NULL, 0, MODE_CLOSE, Fast_period, 1)];

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  

   //買いポジションのエグジット
   if( Bid < FastLL1-margin 
       && ( 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); 

   //売りポジションのエグジット
   if( Ask> FastHH1+margin
       && ( Ticket_S != 0 && Ticket_S != -1 ))
    {     
      Exit_S = OrderClose(Ticket_S,Lots,Ask,Slip,Blue);
      if( Exit_S ==1 ) {Ticket_S = 0;} 
    }   

   //暴落対策(終わり)

    if (Volume[0]>1 || IsTradeAllowed() == false) return(0) ;

       double tii1 = iCustom(NULL, 0,"TII_RLH", Major_Period, Major_MaMode, Major_PriceMode, Minor_Period, LevelColor , BuyLevel, MidLevel , SellLevel, 0 , 1);
       double tii2 = iCustom(NULL, 0,"TII_RLH", Major_Period, Major_MaMode, Major_PriceMode, Minor_Period, LevelColor , BuyLevel, MidLevel , SellLevel, 0 , 2);
       double tii3 = iCustom(NULL, 0,"TII_RLH", Major_Period, Major_MaMode, Major_PriceMode, Minor_Period, LevelColor , BuyLevel, MidLevel , SellLevel, 0 , 3);       
       double tii4 = iCustom(NULL, 0,"TII_RLH", Major_Period, Major_MaMode, Major_PriceMode, Minor_Period, LevelColor , BuyLevel, MidLevel , SellLevel, 0 , 4);   
       double tiiSM1 = (tii1+tii2+tii3) / 3.0 ;
       double tiiSM2 = (tii4+tii2+tii3) / 3.0 ;

   double lc = ILC;
   if(( Digits ==3 ) ||(Digits ==5)) lc = lc*10.0 ;

   //買いポジションのエグジット
    OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
    OOPL = OrderOpenPrice();
    if(    ((tii1 < R2Level && tii2 > R2Level) || (tii1 < tiiSM1 && tii2 > tiiSM2 && tii1 > BuyLevel && tii1 < R2Level) || ( OOPL - lc*Point >= Close[1] ) ) //|| ( OOPL+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;}
    }    

   //売りポジションのエグジット
   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();
   if(    ((tii1 > R1Level && tii2 < R1Level )|| (tii1 > tiiSM1 && tii2 < tiiSM2 && tii1 > R1Level && tii1 < SellLevel)||( OOPS + lc*Point <= 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( ((tii1 > BuyLevel && tii2 < BuyLevel) || (tii1 > tiiSM1 && tii2 < tiiSM2 && tii1 > BuyLevel && tii1 < R2Level) )
       && ( 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(( (tii1 < SellLevel && tii2 > SellLevel) || (tii1 < tiiSM1 && tii2 > tiiSM2 && tii1 > R1Level && tii1 < SellLevel))
       && ( 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】2本の EMA と 1本の CCI を使う EA

昨日の記事「2本の CCI をフィルタに使う EA」では、短期と中期の CCI を0より上か下かとい

記事を読む

今買おうかと思っているファンド 楽天日本株トリプル・ベア

* どうです。この下がり具合。 「楽天日本株トリプル・ベア」というファンドで、デリバティ

記事を読む

名波はるか&Kumaさんが教える!![日経225&mini]で始めるシステムトレード入門

名波はるか&Kumaさんが教える!!で始めるシステムトレード入門 名波 は

記事を読む

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

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

記事を読む

【FX】Tesla Power Trends Indicator というインジケータ

Tesla Power Trends Indicator というインジケータを 2年くらい前に知った

記事を読む

ブランド品は いらんど

私はファッションブランドが嫌いです。 以前にも書いたと思いますが、製品にそれほどの値打ちを感じ

記事を読む

[FX]タイムフィルター

「時の旅人システム」はデータ不足でもう少し復帰に時間がかかりそうですので、別のシステムを改良しましょ

記事を読む

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

純金上場信託(金の果実)【コード:1540】という ETF があります。 金を買うことができる

記事を読む

FX トレード 2014/11/18 MACD も参考に

本日もリアルトレード。素直に USD/JPY で行くことにします。 そろそろ 11月の終わりな

記事を読む

2026/2/5 株式市場そろそろ調整?

現在アメリカの大手企業の業績発表が続いており、個別株では悲喜交々な状況ですが、米株も日本株も

記事を読む

Message

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

伊藤若冲 日本の鳥と植物の木版画作品 33 高画質デジタルイラスト

みんな大好き若冲の作品をデジタル化した「伊藤若冲 日本の鳥と植

トイレの神様 烏枢沙摩明王

お寺のトイレに行くと、烏枢沙摩明王が祀ってあることが多いです。 そう

Gemini で作曲(Lylia)

Gemini の作曲機能(Lylia)を試してみました。 「宇宙

風邪が治らず

ここ2週間ほど咳、咽頭痛、頭痛が止まらず。発熱までは至りません。 よ

AI で画像生成

昔、四国の高松に一度行ったことがありました。 学会に出席したあとすぐ

→もっと見る

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