iRSI関数()
書式
double iRSI( string symbol, // 通貨ペア int timeframe, // 時間足 int period, // 平均期間 int applied_price, // 適用価格 int shift // シフト(現在から過去まで指定できる) );
戻り値(返り値)
//USDJPY(アメリカドル/円ペア)で30分足の期間14で終わり値のRSI double previewRSI=iRSI("USDJPY",PERIOD_M30,14,PRICE_CLOSE,1);//ローソク足1本前のRSIの値を取得 double currentRSI=iRSI("USDJPY",PERIOD_M30,14,PRICE_CLOSE,0);//現在のRSIの値を取得
double currentRSI=iRSI( "USDJPY", //通貨ペア PERIOD_M30, //時間足 14, //期間平均の期間の指定,30分足、終値で14ならば、現在から14本分の足の終値の平均値 PRICE_CLOSE, //終値 0 //シフト:0が現在,1が1本前のローソク足の値を取得 );
サンプルコード(コピペで動きます)
//グローバル変数 extern int MagicNumber = 12345; //売チケット int sellTicket = 0; //買チケット int buyTicket = 0; void OnTick(){ //iRSIを定義 double previewRSI = iRSI(Symbol(),PERIOD_M30,14,PRICE_CLOSE,3);//ローソク足3本前のRSIの値を取得 double currentRSI = iRSI(Symbol(),PERIOD_M30,14,PRICE_CLOSE,0);//現在のRSIの値を取得 int slippage = 30; //スリッページ30point //買エントリー //3本前のRSIが30以下で現在のRSIが30以上の時 if( previewRSI<30 && currentRSI>30 && buyTicket == 0 ){ buyTicket = OrderSend( Symbol(),OP_BUY,MarketInfo(Symbol(),MODE_MINLOT), MarketInfo(Symbol(),MODE_ASK),slippage,0,0,"OP_BUY",MagicNumber, 0,clrNONE ); if( buyTicket == -1 ){ Print( GetLastError() ); //エラー内容を出力 } } //売エントリー //3本前のRSIが70以上で現在のRSIが70以下の時 if( previewRSI>70 && currentRSI<70 && sellTicket == 0 ){ sellTicket = OrderSend( Symbol(),OP_SELL,MarketInfo(Symbol(),MODE_MINLOT), MarketInfo(Symbol(),MODE_BID),slippage,0,0,"OP_SELL",MagicNumber, 0,clrNONE ); if( sellTicket == -1 ){ Print( GetLastError() ); //エラー内容を出力 } } //買い決済 //3本前のRSIが70以上で現在のRSIが70以下の時 if( previewRSI>70 && currentRSI<70 ){ if(OrderSelect(buyTicket,SELECT_BY_TICKET,MODE_TRADES)){ bool res = OrderClose(buyTicket,OrderLots(),Bid,slippage,clrNONE); if( res == false ){ Print( GetLastError() ); //エラー内容を出力 } } buyTicket=0; //チケット初期化 } //売り決済 //3本前のRSIが30以下で現在のRSIが30以上の時 if( previewRSI<30 && currentRSI>30 ){ if( OrderSelect(sellTicket,SELECT_BY_TICKET,MODE_TRADES) ){ bool res = OrderClose(sellTicket,OrderLots(),Ask,slippage,clrNONE); if( res == false ){ Print( GetLastError() ); //エラー内容を出力 } } sellTicket=0; //チケット初期化 } }
変数extern,関数OrderSelect(),関数OrderClose(),関数MarketInfo(),関数Symbol()