Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1071

 
Il vecchio indicatore ha un ciclo prescritto, sovraccarica fortemente il terminale, per favore aiutatemi a riscriverlo in un nuovo modo, in modo che le barre non siano costantemente ricalcolate... Vi sono molto grato in anticipo!
int i,limit;
limit = Bars-2;
for(i=limit; i>0; i--)
 
   limit=rates_total-prev_calculated;
   if(prev_calculated>0)
      limit++;
Preso dall'esempio MACD fornito con il terminale.
 
evillive:
Preso dall'esempio MACD della consegna terminale.
Grazie, ma in questo caso limit=0, e nel ciclo il calcolo è dall'ultima barra a zero
 
Pokrov:
Grazie, ma in questo caso limit=0, e nel ciclo il calcolo va dall'ultima barra a zero

In questo caso, se viene contato 0, prendiamo tutte le barre, e negli altri casi, prendiamo tante barre quante non vengono contate:

  limit=rates_total-prev_calculated;
  if(prev_calculated<1) limit=rates_total-1;
 
evillive:

Poi, se viene contato 0, prendiamo tutte le barre, in altri casi, quante non vengono contate:

Grazie mille! Non capisco perché funziona, quando caricorates_total e prev_calculated sono uguali a un numero uguale di barre e poi limit = 0, inoltre la condizione che non è vera, perché funziona? Spiegamelo per favore,

Voglio capire perché funziona ...
 
Pokrov:

Grazie mille! Solo che ancora non capisco perché funziona, quando carico l'indicatorerates_total e prev_calculated sono uguali allo stesso numero di barre, e poi limit = 0, allora la condizione che non è vera, allora perché funziona ? Per favore, spiegatemi,

Vuoi capire perché funziona ...

Quando si caricarates_total=Bars, un prev_calculated=0.

 
evillive:

Quando si caricarates_total=Bars, un prev_calculated=0.

Oh è vero, è solo che non ho guardato attentamente il log, prima spuntaprev_calculated=0. grazie ancora!!!!
 
evillive:
È possibile. Basta lasciare più spazio per esso, le cartelle della cronologia e dei registri stanno crescendo, ho più di 5 Gb di cronologia, e una volta il mio Expert Advisor aveva 20 Gb di errori nei suoi registri, è un bene che non sia su un flash drive ))))
Giusto. Capisco. Grazie a tutti!
 

Ciao a tutti. Voglio usare i dati da H4 in strategy tester su timeframe H1. Quando inizializzo l'indicatore viene reso correttamente, ma quando avvio il tester non viene ridisegnato.

È una caratteristica del tester? Come posso superarlo?

int shift = iBarShift(Symbol(), PERIOD_H4, Time[i]);

bufBuffer[i] = iClose(Symbol(),PERIOD_H4,shift); 
 
storuky:

Ciao a tutti. Voglio usare questo indicatore da H4 in strategy tester su timeframe H1. Quando inizializzo l'indicatore viene reso correttamente, ma quando avvio il tester non viene ridisegnato.

È una caratteristica del tester? C'è un modo per risolvere il problema?

Sì, il tester blocca l'accesso ai dati di altri TF nella modalità di visualizzazione. Nei normali test senza visualizzazione, i dati vanno bene, ma il rendering ne soffre.

Non c'è modo di risolvere questo problema direttamente - possiamo solo complicare l'algoritmo e disegnare oggetti, ma ne vale la pena?