Der Wechsel der TF ist ein Problem - Seite 4

 

Der letzte Entwurf gefällt mir sehr gut.

Ich danke Ihnen allen.

 
Vasyl Nosal:
Nein. Ohne Nullstellung wird es so sein, wie es auf den Screenshots zu sehen ist.

Es gibt also Lücken in der Schleife selbst, die Reihenfolge ist unterbrochen. In diesem Code, dessen Fragment ich Ihnen gegeben habe, werden ALLE Balken neu berechnet, wenn prev_calculated auf Null gesetzt wird. Und das bedeutet, dass es sinnlos ist, sie vorher auf Null zu stellen - eine Verschwendung von Prozessorzeit.

PS. Übrigens, Sie haben eine wichtige Nuance vergessen. Sprechen Sie zufällig von MT5, wo Preisfelder in Zeitreihen nicht invertiert werden? In diesem Fall würde es so aussehen:

int OnCalculate(...)
{
   // индекс последнего посчитанного на прошлом вызове бара
   // с которого начинаем расчёт
   int nStartBar = MathMax(prev_calculated - 1, 0);

   for(int i = nStartBar; i < rates_total; i++)
   {
       // рассчитываем индикатор на всех непосчитанных барах
   }
}
 
Sergei Vladimirov:

Es gibt also Lücken in der Schleife selbst, die Reihenfolge ist unterbrochen. In diesem Code, dessen Fragment ich Ihnen gegeben habe, werden ALLE Balken neu berechnet, wenn prev_calculated auf Null gesetzt wird. Und das bedeutet, dass es sinnlos ist, sie vorher auf Null zu stellen - eine Verschwendung von Prozessorzeit.

PS. Übrigens, Sie haben eine wichtige Nuance vergessen. Sprechen Sie zufällig von MT5, wo Preisfelder in Zeitreihen nicht invertiert werden? In diesem Fall würde es folgendermaßen ablaufen:

mql4

Nein. Hier ist dein Entwurf für ein Paar, bei dem es keine Vorgeschichte gab.

Dateien:
 

Nun. Das Problem erwies sich als nicht so einfach.

Die Entwickler bitten um eine neue Bullenvariable, um zu speichern, ob das Diagramm aktualisiert wird und um ein automatisches Zurücksetzen der Puffer, wenn mehr als ein Balken geladen wird.

 
Vasyl Nosal:

Nun. Das Problem erwies sich als nicht so einfach.

Die Entwickler bitten um eine neue Bullenvariable, um zu speichern, ob das Diagramm aktualisiert wird und um ein automatisches Zurücksetzen der Puffer, wenn mehr als ein Balken geladen wird.

Sie haben zwei Variablen: prev_calculated und rates_total. Bei der Steuerung des Ladens der Historie (in diesem Fall prev_calculated==0) muss man sich überlegen, was man mit Indikatorpuffern macht - das übliche Verhalten in solchen Fällen ist, das Laden der Historie mit dem ersten Ladeereignis des Indikators gleichzusetzen.
 
Karputov Vladimir:
Es stehen Ihnen zwei Variablen zur Verfügung: prev_calculated und rates_total. Wenn man das Laden der Historie steuert (mit prev_calculated==0), muss man sich überlegen, was man mit den Indikatorpuffern macht - das übliche Verhalten in solchen Fällen ist, das Laden der Historie mit dem ersten Indikatorladeereignis gleichzusetzen.
Was hat das mit dem Auftrag zu tun? Hier gibt es 4 Möglichkeiten, von denen keine funktioniert.
 
Vasyl Nosal:

Nun. Das Problem erwies sich als nicht so einfach.

Die Entwickler bitten um eine neue Bullenvariable, um zu speichern, ob das Diagramm aktualisiert wurde, und um automatische Pufferrücksetzung, wenn mehr als ein Balken geladen wurde.

Nehmen Sie sich bitte Zeit.

Und während Sie auf eine Antwort von den Entwicklern warten, hören Sie sich an, was der Moderator oben gesagt hat. Ich empfehle Ihnen, Ihr Thema noch einmal von Anfang an zu lesen und darüber nachzudenken.

Beachten Sie zum Beispiel diesen Beitrag des Moderators: https://www.mql5.com/ru/forum/68180#comment_2089395, wo er zitiert:

if(prev_calculated==0)  // значит история изменилась или это первый проход

Schließlich habe ich, wie auch andere, in meinen beiden Beiträgen darauf und auf einige andere Dinge hingewiesen: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Sehen Sie sich die Dokumentation an, die dort zitiert wird (nicht nur in dem Teil des hervorgehobenen Satzes, sondern im gesamten Text).

Nehmen Sie sich bitte Zeit, dann wird sich Ihr Problem von selbst lösen. Viel Glück!

 
Dina Paches:

Lassen Sie sich bitte Zeit.

Und während Sie auf eine Antwort von den Entwicklern warten, hören Sie sich an, was der Moderator oben gesagt hat. Ich empfehle Ihnen, diesen Thread noch einmal zu lesen.

Beachten Sie zum Beispiel diesen Beitrag des Moderators: https://www.mql5.com/ru/forum/68180#comment_2089395, in dem er zitiert:

Schließlich habe ich, wie auch andere, in meinen beiden Beiträgen auf diese und einige andere Dinge hingewiesen: https://www.mql5.com/ru/forum/68180/page3#comment_2095342

Werfen Sie einen Blick auf die Dokumentation, die Sie dort angegeben haben.

Nehmen Sie sich bitte Zeit, dann wird sich Ihr Problem von selbst lösen. Viel Glück!

Haben Sie eine Lösung für den Code?

Oder haben Sie Angst, dass ich die TF ändere und Ihr Entwurf dann nicht mehr funktioniert? Das ist in Ordnung, wir lösen hier ein ALLGEMEINES Problem.

 
Vasyl Nosal:

Haben Sie eine Lösung für den Code?

Oder haben Sie Angst, dass ich die TF ändere und Ihr Entwurf dann auch nicht mehr funktioniert? Das ist in Ordnung, wir lösen hier ein gemeinsames Problem.

Aber ich empfehle immer noch den Rat, den ich in diesem Beitrag gegeben habe: https://www.mql5.com/ru/forum/68180/page4#comment_2097011.

Und ich habe Lösungen für mich.

Für Ihren eigenen Rat können Sie gerne ohne mich weitermachen. Ein Hinweis auf die allgemeine Richtung (siehe prev_calculated und rates_total) wurde Ihnen von verschiedenen Personen hier schon mehrfach gegeben.

Aus Ihrer Vermutung über mich schließe ich, dass Sie auch das Folgende übersehen haben, das ich Ihnen gesagt habe:

Die Umsetzung kann je nach Aufgabe unterschiedlich sein. Die Nuancen können unterschiedlich sein. Warum sehen Sie nicht, wie die Dinge bei anderen Menschen umgesetzt werden, abhängig von verschiedenen Bedingungen? Auch mit Hilfe von Rippen zu verstehen, zu bestimmen, bilden akzeptable Optionen für sich selbst, je nach den Aufgaben?

Wahrscheinlich haben Sie Victora Nikolaevs Beitrag nicht bemerkt: https://www.mql5.com/ru/forum/68180/page2#comment_2091839

Sie haben doch einen Kopf, nicht wahr? Das tue ich.

Möchten Sie Ihr Problem lösen? Es scheint so zu sein.

So können Sie, wenn Sie wollen und müssen, Ihre Lösungen für verschiedene Programme herausbringen und selbst ausgeben.

Muss ich oder irgendjemand anderes in diesem Thread Ihnen etwas Genaueres sagen? Nein.


 
Dina Paches:

...


Haben Sie eine Lösung für den Code?
Grund der Beschwerde: