*

超シンプルな自動売買プログラム(9) RSI クロス

公開日: : マネー

超シンプルな自動売買プログラム として RSI とそのシグナル(直前3本の平均値)とのクロスを考えてみました。

RSI はオシレーター系では最も有名なものですね。

  • 買い RSI がBuyLevel 以上のときに RSI が上昇(シグナルを上抜け)
  • 売り RSI がSellLevel 以下のときに RSI が下降(シグナルを下抜け)
  • 決済 逆のサインが出たとき または 固定ロスカットにひっかかったとき

 

結果

2014/1/1 – 2015/1/1 ドル円 4時間足

最適化した後のパラメーターは RSI Period = 11、BuyLevel = 48、SellLevel =52 です。

固定ロスカットはつけましたが、ほとんど無意味です。

利益曲線を見るとトレンド時に頑張るタイプです。RSI はオシレーターのくせにヘンですよね。

まあ、RSI のシグナルとのクロスなので RSI の上昇が買いのサイン、下降を売りのサインとみなしているわけですから、順張りとしての使い方です。そう考えるとヘンではないでしょう。

オシレーターっぽいところかな、と思うのは、トレンドのないときのロスが比較的少ないところでしょうか。

プログラムソース

//
// yasciiRSI01.mq4
//

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

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

extern int RSI_Period = 14 ;
extern double BuyLevel = 50.0;
extern double SellLevel = 50.0;

extern double ILC = 40.0 ;

//変数の設定//
int Ticket_L = 0; //買い注文の結果をキャッチする変数
int Ticket_S = 0; //売り注文の結果をキャッチする変数
int Exit_L = 0;   //買いポジションの決済注文の結果をキャッチする変数
int Exit_S = 0;   //売りポジションの決済注文の結果をキャッチする変数
int OS ;

int start()
  {

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

      double RSI_MAIN1 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 1 );
      double RSI_MAIN2 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 2 );
      double RSI_MAIN3 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 3 );
      double RSI_MAIN4 = iRSI(NULL, 0, RSI_Period , PRICE_CLOSE, 4 );
      double RSI_Signal1 = (RSI_MAIN1 + RSI_MAIN2 + RSI_MAIN3)/3.0 ;
      double RSI_Signal2 = (RSI_MAIN4 + RSI_MAIN2 + RSI_MAIN3)/3.0 ;

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

   //買いポジションのエグジット
   OS = OrderSelect(Ticket_L, SELECT_BY_TICKET);  
   if(    ((RSI_MAIN1 < RSI_Signal1 && RSI_MAIN2 >= RSI_Signal2) ||( OrderOpenPrice() - lc * 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(    ((RSI_MAIN1 > RSI_Signal1 && RSI_MAIN2 <= RSI_Signal2)||( OrderOpenPrice() + lc * 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(    RSI_MAIN1 > RSI_Signal1 && RSI_MAIN2 <= RSI_Signal2 && RSI_MAIN1 > BuyLevel
       && ( 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(    RSI_MAIN1 < RSI_Signal1 && RSI_MAIN2 >= RSI_Signal2 && RSI_MAIN1 <= 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);
  }

###

関連記事

ディナポリ手法で利用するDMA (3) HLバンドトレイリングストップ

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

記事を読む

お金持ちのふるさと納税

お金持ちでふるさと納税をしていない人はまずいないと思いますが、成金さんはひょっとして? 成金さ

記事を読む

【FX】Yetti という EA

またまた FX の話です。 Yetti(イエティ)という自動売買プログラムがあります。

記事を読む

【FX】Voorloper という EA

Voorloper(フォーローパー?)はオランダ語です。 英語の forerunner にあた

記事を読む

FXトレードの利益

トレードにおける利益 FX に限りませんが、勝率を βとすると、負ける確率は(1-β)ですね。

記事を読む

[FX] FX マイニング第2週後半

以前の記事「FX マイニング第2週前半」の続きです。 FX で自分はなにもしないで自動売買プロ

記事を読む

トランプショック

最近、トランプ大統領の関税引上げが 株式、為替、債権の相場にショックを与えていますね。 私は直

記事を読む

【FX】新戦略のためのデモトレード(2)

「【FX】新戦略のためのデモトレード」の続きです。 Dark Venus と Connect

記事を読む

一目均衡表の教えてくれるもの

FX の話です。 株の世界から導入された一目均衡表ですが、最近勉強し直してみると実に多くのウロ

記事を読む

山根亜希子のFXで儲ける超投資術

山根亜希子のFXで儲ける超投資術 山根 亜希子 シーアンドアール研究所 20

記事を読む

Message

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

不思議な AXI Select

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

WiMAX 申込んでみる

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

バーチャルCEO / クリス・ダッカー

★★★☆☆ バーチャルCEO とは著者の造語で、遠隔でテレワ

Claude Codeに投資を全部任せてみたら、利益は出るのか?【AI投資実験】

これも Kindle 本の一つ。 AI アプリケーション

漫画 バビロンの大富豪の教え 「お金」と「幸せ」を生み出す五つの黄金法則 / ジョージ・S・クレイソン

★★★☆☆ ベストセラー『バビロンの大富豪の教え』には、通常

→もっと見る

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