Metatrader 4 のカスタム指標の一部として単純な DLL を作成しました。これは次のように呼び出されます。
int start( ) {
double Rates[][6];
int MaximumRecords = ArrayCopyRates( Rates, Symbol(), 0 );
for( int zz = MaximumRecords; zz >= 0; zz-- ) {
OutPut[zz] = EMPTY;
}
GetSMAArray( Rates, MaximumRecords, Periods, OutPut );
return(0);
}
これは、チャートに期待どおりにプロットされるという点でうまく機能しますが、残念ながら、新しい着信ティックで更新されません。最初の呼び出しでプロットされるだけです。着信ティックで DLL を更新するには、さらにどのようなコードを追加できますか? ほとんどすべての検索で、
ExtCountedBars = IndicatorCounted();
強制的にwhile
ループを計算させますが、これらはすべて .mq4 ファイル自体に含まれる計算に適用されます。DLL に再計算を強制したい。第二に、すべてのティックの到着時ではなく、バーの完了時にのみこの再計算が行われるようにしたいと考えています。