記事"MQL5におけるリソースの使用"についてのディスカッション - ページ 4

 

こんにちは、

記事中に「...Expert Advisorは、インジケータまたはEX5ライブラリにあるリソースを使用できる」とあります。

ライブラリファイルの関数を リソースとして埋め込んで使用することは可能でしょうか?

 
Jan Flodin:

こんにちは、

記事中に「...Expert Advisorは、インジケータまたはEX5ライブラリにあるリソースを使用できる」とあります。

ライブラリファイルの関数を リソースとして埋め込んで使用することは可能ですか?

できません。残念ながら。

 

助けてください。この状況が理解できません。

シンプルなインジケーターとそれを呼び出すExpert Advisorがあります。どちらも共有プロジェクトの フォルダ「Shared ProjectsTestingIndicator」にあります。

私はインジケータをリソースとしてExpert Advisorに接続している。そのリソースを使ってハンドルを作成したい。

これがコードのブロックです:

//--- リソース
#resource "Indicator.ex5";
//+------------------------------------------------------------------+
//| エキスパート初期化関数|
//+------------------------------------------------------------------+
int OnInit()
  {
   string path=GetRelativeProgramPath();
   path=path+"::Indicator.ex5"; 
//--- インジケーター
   int ha=iCustom(_Symbol,_Period,path);
   if(ha==INVALID_HANDLE)
      return INIT_FAILED;
//---
   return INIT_SUCCEEDED;
  }

コンパイルが成功し、リソースとしてのインジケータがアタッチされました。

その結果、インジケータへのパスは次のようになりました:Shared ProjectsTesting ■Indicator ■TestingEA.ex5::Indicator.ex5 すべてが正しいようです。コンパイルされたインジケータ・ファイルはフォルダ内にあります。

GetRelativeProgramPath() 関数は 記事の例です

どうひねってもハンドルが作れません。ありがとうございました。

ファイル: