*

RVI のクロスを使った逆張り系FX自動売買システム

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

RVIrelative vigor index )という指標は素直でわかりやすいなぁと前から思っていましたが、シグナルラインも標準で備えているのでプログラム化するのも非常に簡単。

RVI はオシレーター系ですので逆張りに向いています。レンジ相場に強く、トレンド相場には全く向いておりません。

ということで作ってみました(ソースは後述)。

RVI とシグナル線のゴールデンクロスとデッドクロスでエントリします。

検証すると EURUSD 4時間足 との相性がいいです。

結果を見ると無駄打ちも結構あるので、とことん逆張りさせようと思い、移動平均線(4EMA)の上にあるときのみ売り、下にあるときは買いのみというフィルタをかけました

2010/1/18 から先週までの 5年間のデータを使った結果はこちら。

 

資産曲線は後半の伸び悩みがもったいない。

レンジ相場はやはり強いですね。

まだまだ改良の余地がありそうです。トレンドが発生すると自動的にエントリをやめるとか・・・

EURUSD は 2014年の 5月からは一貫して下降トレンドでした。

2014年5月から先週まで、動作を「売り」に制限したら下のような感じになります。

未来がわかればいいのになあ。

プログラムソース

//
// yasciiRVIcross01.mq4
// 
//

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

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

extern int RVI_period = 10 ;
extern int EMA_period = 4 ;

extern double ILC = 80 ; 
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()
  {

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

   double RVI_MAIN1 = iRVI(NULL, 0, RVI_period, MODE_MAIN, 1);
   double RVI_SIG1 = iRVI(NULL, 0, RVI_period, MODE_SIGNAL, 1);
   double RVI_MAIN2 = iRVI(NULL, 0, RVI_period, MODE_MAIN, 2);
   double RVI_SIG2 = iRVI(NULL, 0, RVI_period, MODE_SIGNAL, 2);

   double Ema21 = iMA(NULL, 0, EMA_period , 0, MODE_EMA ,PRICE_CLOSE, 1) ;

   OS1 = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   OOPL = OrderOpenPrice();   

   //買いポジションのエグジット
   if(    ((RVI_MAIN1 < RVI_SIG1 && RVI_MAIN2 > RVI_SIG2) || ( OOPL - ILC*Point >= Close[1] ) ) // || ( OOPL+TP*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;}
    }    

   OS2 = OrderSelect(Ticket_S, SELECT_BY_TICKET); 
   OOPS = OrderOpenPrice();

   //売りポジションのエグジット
   if(    ((RVI_MAIN1 > RVI_SIG1 && RVI_MAIN2 < RVI_SIG2)||( OOPS + ILC*Point <= Close[1] ) ) // || ( OrderOpenPrice()-TP*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(    RVI_MAIN1 > RVI_SIG1 && RVI_MAIN2 < RVI_SIG2 && Ema21 > Close[1]
       && ( 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,Yellow);
    }

   //売りエントリー
   if(    RVI_MAIN1 < RVI_SIG1 && RVI_MAIN2 > RVI_SIG2 && Ema21 < Close[1]
       && ( 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,Red);     
    } 

   return(0);
  }

###

関連記事

[FX] 東京時間終了間際の逆張りを利用する自動売買プログラム

昨日の本「東大院生が考えたスマートフォンFX / 田畑昇人」にも書いてありましたが、東京株式市場の開

記事を読む

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

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

記事を読む

【FX】vantage ECN口座 2つめ新設

FX の話です。 vantage trading(以下 vantage)という FX業者があり

記事を読む

シャフトレンドサイクルをエントリで使う

シャフトレンドサイクルをフィルタで使うととてもいい感触があるのでいろいろ改造中です。 これをエ

記事を読む

【FX】プロップファーム(Prop Firm)について

プロップファーム(Prop Firm)という言葉があります。Proprietary Trading

記事を読む

仮想通貨はブロックチェーンを使っているから価値がある?

「仮想通貨はブロックチェーンを使っているから価値がある」とか言う人を TV でも見ます。 おかしい

記事を読む

【FX】なかなかすごいブレイクアウト Inquisition Breakout EA(2)

「【FX】なかなかすごいブレイクアウト Inquisition Breakout EA」の続きです。

記事を読む

[FX] Trend Scalp ライクな自動売買プログラム(2) ysTS01c.ex4

前回の記事「Trend Scalp ライクな自動売買プログラム ysTS01b.ex4」の続きです。

記事を読む

[FX] THV モドキ自動売買プログラム (1)

本日忙しくてプログラムをなかなか作りたくて作れなかったのですが、夕食後ちょっとヒマができました。

記事を読む

CEPI(REX クリプト・エクイティ・プレミアム・インカムETF)について

CEPI とは REX社の運用している ETFの「クリプト・エクイティ・プレミアム・インカムETF」

記事を読む

Message

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

ハリソン内科学 第3版(原著第17版)が 330円

昨日、久々にブックオフ堅田店に行くと、書籍の置き場がさらに縮小し、バト

韓国ブラックマンデー来たか

昨日の記事「韓国ブラックマンデー来るか」の続きです。 テ

韓国ブラックマンデー来るか

韓国の株価指数が先月末にダブルトップをつけ、今月は明らかな下降トレンド

2026年7月 MT5 デモ口座運用成績(1) Gemini の活用

MetaTrader5(MT5)を使って唯一まともに運用している Ti

「ラボグロウン」ダイヤモンド

ラボグロウンダイヤモンド(Laboratory Grown Diamo

→もっと見る

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