MQL5(MT5)でのインジケータ値の取得について

 
EAを作成する際、MT4では、

double rsi1 = iRSI(通貨ペア,時間軸,平均期間,適用価格,シフト)

のように、変数にインジケータの値を入れられたと思うのですが、MT5ではどのように変数に値をいれるのでしょうか。

そして、MT4では1本前のRSIの値が欲しいときは、シフトの値を1にすればよかったと思うのですがMT5ではどのようにすればよいのでしょうか?


また、別件になりますがエントリー中のポジションを全て決済するようなコードはございますでしょうか?


初歩的な質問で申し訳ありませんが、ご教授お願いいたします。
 

MT5では、OnInit でハンドルを取得。

handle = iRSI(name, period, ma_period, applied_price); 

その後の実行段階で、データをコピーして使用します。

CopyBuffer(handle, 0, 0, amount, rsi_buffer);

生成されるデータはMT4と同様にデータ番号0が最新の値となります。

しかし、バッファにコピーしたデータはデフォルトではデータ番号0が最も古いデータになります。(MT4とは逆)


iMA でのサンプル (Experts\Examples\Moving Average\Moving Average.mq5) がありますので参考にしてください。

一括決済するファンクションはないようです。「close all position MT5」で検索すれば、参考になる記事が見つかるかもしれません。

 
Nagisa Unada:

MT5では、OnInit でハンドルを取得。

その後の実行段階で、データをコピーして使用します。

生成されるデータはMT4と同様にデータ番号0が最新の値となります。

しかし、バッファにコピーしたデータはデフォルトではデータ番号0が最も古いデータになります。(MT4とは逆)


iMA でのサンプル (Experts\Examples\Moving Average\Moving Average.mq5) がありますので参考にしてください。

一括決済するファンクションはないようです。「close all position MT5」で検索すれば、参考になる記事が見つかるかもしれません。

ご教授ありがとうございます!
解決いたしました!
理由: