Könnte mir bitte jemand helfen, wie ich den Loop für zeitabhängige Berechnung im Indikator am besten formuliere?
Einstellungen:
1. Der Indikator wird automatisch/gezwungen im m5 Chart geladen.
Das ist möglich, weil er nur Daten zeigt (keine Kurse oder sonstiges).
2. Zeiteinheiten für die Neuberechnung der Werte m5 bis w1.
3. Es existiert schon ein Array
int iATimFrams[7]={5,15,30,60,240,1440,10080};
4. Berechnungen sollen mit jedem Beginn einer neuen Zeiteinheit geschehen.
OnCalculate sieht bisher so aus:
Code:
// ====================================== first run
if(prev_calculated==0)
{
// === calculate the past values
CalcAdr30(); //from yesterday 30 days back
CalcAdr0(); //for today
CalcAdrLeft(); //for today
CalcChange(); //summaries till now
CalcState(); //summaries till now
}
else
{
// === hier fehlt mir eine elegante Lösung
}
Wäre es besser, ein zweites Array mit den Repeat-Werten für den m5 Chart
int iACalcRepeats[7]={1,3,6,12,48,288,2016};
zu schaffen und mit dem zu rechnen als die Berechnungs Timeframes durch _Period zu dividieren?
Und/oder wäre es besser, die einzelnen CalcXy() Funktionen in einem 5minuten Timer zu packen anstatt als else Anweisung in OnCalculate (oder spielt das keine Rolle)?
Wäre nett, wenn mir Programmier-Profis da zeigen könnten, wie man es am besten macht.
Danke. AVT