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()
