MQL関数リファレンス

MQL4MQL5 テクニカル指標

iRSI()

できること
RSI(相対力指数)の値を取得する
対応
MQL4・MQL5

iRSI() とは

RSI(相対力指数)を計算する関数です。0〜100 の値で、一般に 70 以上が買われすぎ、30 以下が売られすぎの目安とされます。MQL4 では値が直接返り、MQL5 ではハンドルが返ります。

iRSI() の書式と引数

MQL4 の場合MT4

double iRSI(
   string symbol,
   int timeframe,
   int period,
   int applied_price,
   int shift
)
引数型省略時説明
symbolstring必須銘柄名。チャートの銘柄なら _Symbol(NULL も可)。
timeframeint必須時間足。0 または PERIOD_CURRENT でチャートの時間足。
periodint必須RSI の期間(よく使われるのは 14)。
applied_priceint必須計算に使う価格。PRICE_CLOSE(終値)、PRICE_OPEN、PRICE_HIGH、PRICE_LOW、PRICE_MEDIAN((高値+安値)/2)、PRICE_TYPICAL など。MQL5 では、別のインジケーターのハンドルを渡して、そのインジケーターの値をもとに計算させることもできます(そのため型は int です)。
shiftint必須値を取得するバーの位置。0 が現在(未確定)のバー、1 がひとつ前の確定したバー。

戻り値(MQL4)

RSI の値(0〜100)。

MQL5 の場合MT5

int iRSI(
   string symbol,
   ENUM_TIMEFRAMES period,
   int ma_period,
   int applied_price
)
引数型省略時説明
symbolstring必須銘柄名。チャートの銘柄なら _Symbol(NULL も可)。
periodENUM_TIMEFRAMES必須時間足。PERIOD_CURRENT でチャートの時間足。
ma_periodint必須RSI の期間(よく使われるのは 14)。
applied_priceint必須計算に使う価格。PRICE_CLOSE(終値)、PRICE_OPEN、PRICE_HIGH、PRICE_LOW、PRICE_MEDIAN((高値+安値)/2)、PRICE_TYPICAL など。MQL5 では、別のインジケーターのハンドルを渡して、そのインジケーターの値をもとに計算させることもできます(そのため型は int です)。

戻り値(MQL5)

インジケーターのハンドル。失敗したら INVALID_HANDLE。

iRSI() の使い方(コード例)

MQL4

double rsi = iRSI(_Symbol, 0, 14, PRICE_CLOSE, 1);
if(rsi < 30)      Print("売られすぎ RSI=", rsi);
else if(rsi > 70) Print("買われすぎ RSI=", rsi);

MQL5

int hRsi = INVALID_HANDLE;

int OnInit()
{
   hRsi = iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE);
   return hRsi == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED;
}

void OnTick()
{
   double rsi[];
   if(CopyBuffer(hRsi, 0, 1, 1, rsi) < 1) return;   // 1本前の値
   if(rsi[0] < 30)      Print("売られすぎ RSI=", rsi[0]);
   else if(rsi[0] > 70) Print("買われすぎ RSI=", rsi[0]);
}

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

iRSI() の注意点

  • MQL5 では値ではなく「ハンドル」(インジケーターの番号)が返ります。ハンドルは OnInit() で1回だけ作り、OnTick() などで CopyBuffer() を使って値を読み出します。毎ティック作り直すと動作が重くなります。

MQL4 と MQL5 の違い

MQL4 は iRSI(…, shift) で値を直接取得、MQL5 はハンドルを作って CopyBuffer() で取得します。MQL5 の iRSI() には shift の引数がありません。

iRSI() でよく出るエラー

関連する関数

テクニカル指標の関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE