Я написал простую DLL как часть пользовательского индикатора для Metatrader 4, который называется так:
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 пересчитать. Во-вторых, я бы хотел, чтобы этот пересчет происходил только по завершении бара, а не по прибытии всех и каждого тика.