ストラテジー開発をやっていて、
同一モジュール内で、上級バージョンと通常バージョンとで機能分岐させたい場合があるのだが、
やり方として、例えば、プロパティに「pro」と付けた場合とそうじゃない場合とで処理を分岐させようとして、
#property version “2.4 pro”
と定義したversionをプログラム内部で使おうとすると、コンパイルエラーになる。
少し、ググって調べた所、
https://www.mql5.com/en/forum/35914
によれば、
#define VERSION “2.4 pro”
#property version VERSION
string strategyName = VERSION;
if(StringFind(strategyName,”pro”,0)>=0){
//proの処理
}
else{
//proじゃない処理
}
みたいな感じでやれば、うまく行くことが分かった。