通貨ペア、時間足の自動変更と注意点

  • HOME
  • 通貨ペア、時間足の自動変更と注意点

EAから通貨ペアや時間足を変更することができます。

第三者に提供するEAの場合自動で通貨ペアや時間足を変更することで間違いを減らすことができます。

bool ChartSetSymbolPeriod(
long chart_id, // チャート識別子
string symbol, // 銘柄名
ENUM_TIMEFRAMES period // 期間
);

● chart_id
チャート識別子。( 0 は現在のチャート)

● symbol
 チャートシンボル(NULL はエキスパートアドバイザーが接続されている現在のチャートのシンボル)

● period
 チャート期間(時間軸)。ENUM_TIMEFRAMES のいずれかの値。(0 は現在のチャート期間)

● 戻り値
 コマンドがチャートキューに追加された場合は true、そうでない場合は false。(参照MQL5)

実際に使用する際には通貨ペア名のサフィックスを取得する必要があります。

サフィックスは「USDJPY.pers」 の場合 通貨ペアの後につく「.pers」です。

string Suffix=StringSubstr(_Symbol,6);//サフィックス取得
bool value=ChartSetSymbolPeriod(0,”USDJPY”+Suffix,PERIOD_H1);

※ ChartSetSymbolPeriod()関数はグローバル領域に設定しても通貨ペアが変わる前に一度OnInit()が動作し、通貨ペアが変わった後にもう一度OnInit()が動作します。
グローバル領域は1度しか動作しません。グローバル領域で変数に通貨ペアを代入した場合、変更前の通貨ペアが代入されていますので注意が必要です。

 

株式会社トリロジー
AMSER株式会社
林 貴晴

 

⇒ FEATご利用手順