*

超シンプルな自動売買プログラム(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);
  }

###

関連記事

2023-06-05 ポートフォリオ改変 スシローよ、さらば

ここ連日、日経平均が爆上げで 本日も勢いは衰えず。13:00 現在 32041円。 ありがとう

記事を読む

metatrader4 は linux で動きます

うちの Linux(Zorin6.4)マシンで、Windows 用の MetaTrader4

記事を読む

アメリカ株投資 2021-10-18

「アメリカ株投資 2021-9-2」の続きです。 しばらくアメリカ株投資は波乱の日々が

記事を読む

FX 裁量トレード 現在の方法 (2)

昨日の「FX 裁量トレード 現在の方法」の続きですが、この方法はまずまず使えそうです。 自動売

記事を読む

【FX】EA の運用

以前にも書いた内容ですが、よい事例が見つかったので、より具体的に述べてみようと思います。 この

記事を読む

MTF-CCI インディケーター( yMTF_Forex_freedom_Bar )を使った FX手法

上の AUDJPY 15分足のチャートのサブウィンドウに表示しているのはマルチタイムフレーム

記事を読む

ウィンサーバーで仮想デスクトップを借りました

サーバーホスティングの会社 ウィンサーバーから仮想デスクトップを借りることにしました。 遠隔操

記事を読む

【FX】ボリンジャーバンドって有用?

ボリンジャーバンド 株価判断のためにジョン・ボリンジャー氏が発案したボリンジャーバンドは世界中で愛

記事を読む

外貨預金より外貨建てMMF

銀行で扱っている外貨預金ですが、利用している人はいるのでしょうか。 私はやったことがありません

記事を読む

ブレイクアウトシステムと BBW フィルタ

自作ブレイクアウトシステム(yasciiBreakout05)に BBW フィルタを組み込んでみ

記事を読む

Message

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

Netac SSD 128GB 2.5インチSATA

Netac という素性の知れない中華メーカーの NVMe タイ

【FX】驚きの EA かも

以前、他人に譲った仕事(遠隔画像診断)が先月から2つほど帰ってきまして

久々のメインメモリ増設

自宅でほぼメインで使っているのは NEC の Mate MK32MB-

Netac M.2 SSD 250GB を NEC Express 5800 に組み込み

Netac という素性の知れない中華メーカーの SSD です。

ウエスタンデジタル製 SSD 1TB WD Green 2.5インチSATA WDS100T3G0A-EC

ウエスタンデジタル製の SATA 接続 SSD で 1TB のモデ

→もっと見る

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