Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1071

 
Guten Tag, der alte Indikator hat einen vorgeschriebenen Zyklus, er überlastet das Terminal stark, bitte helfen Sie mir, ihn neu zu schreiben, damit die Balken nicht ständig neu berechnet werden ... Ich bin Ihnen im Voraus sehr dankbar!
int i,limit;
limit = Bars-2;
for(i=limit; i>0; i--)
 
   limit=rates_total-prev_calculated;
   if(prev_calculated>0)
      limit++;
Aus dem MACD-Beispiel, das mit dem Terminal geliefert wurde.
 
evillive:
Entnommen aus dem MACD-Beispiel aus der Terminalauslieferung.
Danke, aber in diesem Fall ist das Limit=0 und in der Schleife ist die Berechnung vom letzten Takt bis Null
 
Pokrov:
Danke, aber in diesem Fall ist das Limit=0 und in der Schleife geht die Berechnung vom letzten Balken bis Null.

In diesem Fall, wenn 0 gezählt wird, nehmen wir alle Balken, und in anderen Fällen nehmen wir so viele Balken, wie nicht gezählt werden:

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

Dann, wenn 0 gezählt wird, nehmen wir alle Balken, in anderen Fällen, wie viele nicht gezählt werden:

Herzlichen Dank! Ich verstehe nicht, warum es funktioniert, wenn ich ladenrates_total und prev_calculated gleich sind, um die gleiche Anzahl von Bars und dann Grenze = 0, weiter die Bedingung, die nicht wahr ist, warum es funktioniert? Erklären Sie mir das bitte,

Ich möchte verstehen, warum es funktioniert ...
 
Pokrov:

Herzlichen Dank! Nur ich verstehe immer noch nicht, warum es funktioniert, wenn ich den Indikator ladenrates_total und prev_calculated sind gleich die gleiche Anzahl von Bars und dann Limit = 0, weiter die Bedingung, die nicht wahr ist, dann warum funktioniert es? Bitte erklären Sie mir das,

Sie möchten verstehen, warum es funktioniert ...

Wennrates_total=Bars geladen wird, ist prev_calculated=0.

 
evillive:

Wennrates_total=Bars geladen wird, ist prev_calculated=0.

Oh, das stimmt, ich habe mir das Protokoll nur nicht genau angesehen, erster Tickprev_calculated=0. Danke nochmal!!!!
 
evillive:
Sie können. Lassen Sie einfach mehr Platz für sie, Ordner der Geschichte und Protokolle wachsen, ich habe mehr als 5 Gb der Geschichte, und einmal mein Expert Advisor hatte 20 Gb von Fehlern in seinen Protokollen, es ist gut, dass es nicht auf einem Flash-Laufwerk ))))
Ach so, ich verstehe. Ich danke Ihnen allen!
 

Hallo zusammen. Ich möchte Daten von H4 im Strategietester auf dem H1-Zeitrahmen verwenden. Wenn ich den Indikator initialisiere, wird er korrekt gerendert, aber wenn ich das Testprogramm starte, wird er nicht neu gezeichnet.

Ist dies eine Funktion des Testers? Wie kann ich sie überwinden?

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

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

Hallo zusammen. Ich möchte diesen Indikator von H4 im Strategietester auf dem H1-Zeitrahmen verwenden. Wenn ich den Indikator initialisiere, wird er korrekt gerendert, aber wenn ich das Testprogramm starte, wird er nicht neu gezeichnet.

Ist dies eine Funktion des Testers? Gibt es eine Möglichkeit, das Problem zu beheben?

Ja, das Prüfgerät blockiert den Zugriff auf die Daten anderer TFs im Visualisierungsmodus. Bei normalen Tests ohne Visualisierung werden die Daten korrekt übertragen, aber die Darstellung leidet.

Es gibt keine Möglichkeit, dieses Problem direkt zu lösen - wir können den Algorithmus nur verkomplizieren und Objekte zeichnen, aber ist es das wert?