
MQL5 テクニカル指標
IndicatorRelease()
- できること
- 使い終わったインジケーターのハンドルを解放する
- 対応
- MQL5
IndicatorRelease() とは
MQL5 で、iMA() などで作ったインジケーターのハンドルを解放して、計算に使っていたメモリを返す関数です。ふつうは OnDeinit() で呼びます。
IndicatorRelease() の書式と引数
bool IndicatorRelease(int indicator_handle)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
indicator_handle | int | 必須 | 解放するハンドル。 |
戻り値
解放できたら true を返します。
IndicatorRelease() の使い方(コード例)
int hMa = INVALID_HANDLE;
int OnInit()
{
hMa = iMA(_Symbol, PERIOD_CURRENT, 20, 0, MODE_SMA, PRICE_CLOSE);
return hMa == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED;
}
void OnDeinit(const int reason)
{
if(hMa != INVALID_HANDLE)
IndicatorRelease(hMa);
}
void OnTick()
{
}MetaEditor でコンパイルできることを確認済みです。
IndicatorRelease() の注意点
- OnTick() の中でハンドルを作って解放しない、という書き方をするとメモリが増え続けます。ハンドルは OnInit() で作り、OnDeinit() で解放します。












