Fehler, Irrtümer, Fragen - Seite 984

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

tol64, 2013.05.05 19:21

Ich habe es verstanden, aber ich habe mein Problem nicht gelöst. Ich habe das Problem noch nicht gelöst. Es tritt selten und am Wochenende (wenn die Ticks nicht kommen) beim Wechsel der Zeitrahmen/Symbole auf. Die Indikatorreihe wird manchmal nicht im Datenfenster-Navigator oder im Diagramm angezeigt, aber Sie können die Daten programmatisch abrufen. Das sieht folgendermaßen aus:

...

//---

Ich dachte zuerst, dass, wenn das Unterfenster nicht angezeigt wird und auch im Datenfenster-Navigator, es bedeutet, dass die Puffer leer sind(empty_value) und durch die Überprüfung kann es OnCalculate() aufrufen, um zu aktualisieren. Aber es hat nicht funktioniert, weil die Melonen in den Puffern sind.

Ist dies ein Fehler?

Manuell wird das Problem schnell behoben, wenn Sie den Zeitrahmen wechseln. Ich würde es natürlich gerne den Benutzern nicht erklären müssen, sondern es sauber programmatisch lösen. Ist jemand auf ein solches Problem gestoßen?

Wenn es sich nicht um einen Fehler handelt, dann brauchen wir eine Möglichkeit, um festzustellen, dass die grafischen Reihen des Indikators im Unterfenster (und auch im Datenfenster ) nicht angezeigt werden. Wie dies zu bewerkstelligen ist, ist unklar, denn es ist möglich, sie programmatisch zu erhalten. Nachdem wir festgestellt haben, dass sich im Unterfenster nichts befindet, rufen wir OnCalculate() im Timer auf, um die Variable prev_calculated auf Null zu setzen und neu zu berechnen.

Das Folgende steht in der Hilfe:

Dazu reicht es in der Regel aus, den Wert des Parameters rates_total zurückzugeben, der die Anzahl der Balken im aktuellen Funktionsaufruf enthält. Wenn seit dem letzten Aufruf von OnCalculate() Preisdaten geändert wurden (eine tiefere Historie wurde gepumpt oder Historienleerstellen wurden gefüllt), dann wird der Wert des Eingabeparameters prev_calculated vom Terminal auf Null gesetzt.

Hinweis: Wenn die FunktionOnCalculate Null zurückgibt, werden die Indikatorwerte nicht im Datenfenster des Client-Terminals angezeigt.

In meinem Fall wurden alle Berechnungen durchgeführt (sie können erst nach allen Prüfungen gestartet werden), und OnCalculate() gibt einen Wert ungleich Null zurück, so dass die Daten programmatisch abgerufen werden können. Dies entspricht jedoch nicht dem, was in der Hilfe steht.


 
Frage an das Management. Haben Sie einen Demoserver für MT5, wo 1 Lot = 10 000 (nicht 100 000 USD), min Lot = 0.01, Step = 0.01? Ich möchte meinen EA für Cent-Konten optimieren. Bei den MT5-Cent-Konten, die ich bei Brokern gefunden habe, ist das Mindestlos 0,1, während ich nach einem mit 0,01 suche.
 

Im Quellcode der Standardbibliothek fand ich die folgende Konstruktion

//+------------------------------------------------------------------+
//| Konstrukteur |
//+------------------------------------------------------------------+
void CMoneyFixedLot::CMoneyFixedLot(void) : m_lots(0.1)
{

}

Was ist das? :)

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
ns_k:

Im Quellcode der Standardbibliothek fand ich die folgende Konstruktion

//+------------------------------------------------------------------+
//| Konstrukteur |
//+------------------------------------------------------------------+
void CMoneyFixedLot::CMoneyFixedLot(void) : m_lots(0.1)
{

}

Was ist das? :)

Wie meinen Sie das?
 
uncleVic:
Wie meinen Sie das?
Was es bewirkt, verstehe ich. Ich meine vielmehr, wo in der Dokumentation steht, dass diese Art von Syntax verwendet werden soll, wie sie heißt, z.B.
 
ns_k:
Was es bewirkt, verstehe ich. Vielmehr meine ich, wo in der Dokumentation steht, dass diese Art von Syntax verwendet werden soll, wie sie heißt, zum Beispiel
Es ist
 
uncleVic:
dort
Ich habe es gefunden, danke!
 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

tol64, 2013.05.06 02:38

...

In meinem Fall wurden alle Berechnungen durchgeführt (es ist möglich, sie erst nach allen Prüfungen durchzuführen), und OnCalculate() gibt einen Wert ungleich Null zurück, so dass die Daten programmatisch abgerufen werden können. Dies stimmt jedoch nicht mit dem überein, was in der Hilfe steht.

Antrag Nr. 740856.

Es gibt also einen anderen Grund, warum die Indikatorwerte möglicherweise nicht angezeigt werden, selbst wenn die Puffer gefüllt wurden und OnCalculate einen Wert ungleich Null zurückgegeben hat.


 
Zufällig entdeckt. Wenn Sie auf eine leere Stelle im Auftragsfenster doppelklicken, wird der Tickchart ausgeblendet. Ist dies ein Fehler oder eine Funktion? )
 
ns_k:
Zufällig entdeckt. Wenn Sie auf eine leere Stelle im Auftragsfenster doppelklicken, wird der Tickchart ausgeblendet. Ist dies ein Fehler oder eine Funktion? )
Ein Fehler. Natürlich wäre es besser, wenn es eine Schaltfläche gäbe, mit der man diese Funktion nicht zufällig findet.