Diskussion zum Artikel "Geldverwaltungsfunktionen in einem Expert Advisor" - Seite 3

 
Todge:

Hallo, Rosh

vielen Dank für Ihren Artikel und alle Ihre anderen Artikel - Ratschläge und Anleitungen für uns MQL/C++ N00bs werden sehr geschätzt. Spasiba.

Ich arbeite derzeit an meinem eigenen Money Management Code, um Handelsdisziplin zu erzwingen und emotional schädliche Angst und Gier zu beseitigen.

Meine Philosophie ist ein wenig anders, was die Auswahl der Losgröße angeht - alles beginnt und endet mit dem Money Management (MM).


Ich stimme mit Ihnen absolut überein. Dieser Artikel erhebt nicht den Anspruch, umfassend zu sein und dient lediglich der Aufklärung.
 
Roche, eine Sache verstehe ich nicht. Ich lasse einen Multicurrency Expert Advisor im Tester laufen, der auf allen Chips der Meisterschaft funktioniert und der Aufrufe der Funktion GetMarginForOpening() enthält. Alles funktioniert perfekt. Ich lasse den Single-Currency Expert Advisor auf EURUSD mit dem Aufruf dieser Funktion im Testprogramm laufen. Alles funktioniert! Jetzt führe ich denselben Expert Advisor für eine einzige Währung erneut im Tester aus, aber jetzt für EURJPY. Im Journal des Strategietesters erscheint die Zeile mit dem Text
GetMarginForOpening : Failed to find the currency of calculation for the symbol combination EURJPY
und auch wenn der Code in der Funktion GetSymbolByCurrencies() leicht geändert wird in "symbolname = SymbolName(s, false);", findet die Initialisierung der MqlTick-Struktur für EURUSD nicht statt! also erhalten wir Division durch Null. Ist es ein Fehler des Terminals oder reicht ein Aufruf der Funktion GetMarginForOpening() nicht aus, um die Marge zu erhalten?
 
GODZILLA:

Jetzt führe ich denselben Single-Currency Expert Advisor im Tester erneut aus, aber jetzt auf EURJPY. Im Protokoll des Strategietesters erscheint eine Zeile mit dem Text
GetMarginForOpening : Failed to find the currency of calculation for the symbol combination EURJPY
und auch wenn ich den Code in der Funktion GetSymbolByCurrencies() auf "symbolname = SymbolName(s, false);" ändere, findet die Initialisierung der MqlTick-Struktur für EURUSD immer noch nicht statt! Ist es ein Fehler des Terminals oder reicht ein Aufruf der Funktion GetMarginForOpening() nicht aus, um die Marge zu erhalten?

Gibt es die Währung USDJPY in Market Watch?

Der Ausdruck

symbolname = SymbolName(s, false);

ermöglicht im Tester nur den Zugriff auf die Symbole, die im Fenster "Market Watch" verfügbar sind


 
Rosh:

Gibt es eine USDJPY-Währung in Market Watch?

Der Ausdruck

bietet im Tester nur Zugriff auf die Symbole, die im Fenster "Market Watch" verfügbar sind


Das ist der Punkt, alles ist da! Es scheint, dass der Strategy Tester für den Expert Advisor für Einzelwährungen seinen eigenen virtuellen "Market Watch" mit nur einem Symbol hat, um eine Position zu eröffnen!

[Gelöscht]  
GODZILLA:

Das ist der Punkt, alles ist da! Es scheint, dass der Strategy Tester für Single-Currency Expert Advisor seine eigene virtuelle "Market Watch" mit nur einem Chip hat, auf dem man eine Position eröffnen kann!

Der Tester hat eine eigene "Market Watch", die bei der Initialisierung des Expert Advisors für mehrere Währungen ausgefüllt werden sollte....

PS

Und nun ist auch der Satz der"Globalen Variablen" im Tester ein eigener (soweit ich weiß)...

 
Interesting:

Der Tester hat eine eigene "Marktübersicht", die bei der Initialisierung der Mehrfachwährung ausgefüllt werden muss...

PS

Und der Satz der"Globalen Variablen" im Tester hat jetzt seine eigene (soweit ich weiß)....

Wir sprechen hier von einem Single-Slave-Tester. Nun, nehmen wir an, dass er so konzipiert wurde, aber in einer solchen Situation wäre es besser, diese Tatsache in der MetaEditor-Hilfe wiederzugeben, da sie für einen in der Programmierung unerfahrenen Benutzer nicht offensichtlich ist. Und im allgemeinen Fall eines Expert Advisors mit nur einer Währung werden die Funktionen aus diesem Artikel in Expert Advisors mit nur einer Währung nicht funktionieren, wenn wir die vorläufige Initialisierung dieser Farm übersehen.
[Gelöscht]  
GODZILLA:
Genau hier kam die Diskussion über die einzelnen Slots auf. Nun, gehen wir davon aus, dass dies die Art und Weise ist, wie es entworfen wurde, aber in einer solchen Situation wäre es besser, diese Tatsache in der MetaEditor-Hilfe zu reflektieren, da es für einen Benutzer, der nicht in der Programmierung versiert ist, nicht offensichtlich ist. Und im allgemeinen Fall eines Expert Advisors mit nur einer Währung werden die Funktionen aus diesem Artikel in Expert Advisors mit nur einer Währung nicht funktionieren, wenn wir die vorläufige Initialisierung dieser Farm übersehen.
Soweit ich weiß, ist der Fall mit den Symbolen wie folgt: Jeder Expert Advisor hat seine eigene virtuelle "Marktübersicht". Wenn man darin testet, wird das in den Tester-Parametern ausgewählte Symbol automatisch aktiv (soweit ich weiß, ist der gleiche Mechanismus für TFs vorgesehen). Wenn es notwendig ist, andere Paare zu handeln oder zu analysieren (Mehrwährungshandel), müssen die erforderlichen Symbole AKTIVIERT werden (indem sie mit dem wahren Parameter ausgewählt werden).
 
Interesting:
Wenn es notwendig ist, andere Paare zu handeln oder zu analysieren (Mehrwährungshandel), sollten die erforderlichen Symbole AKTIVIERT werden (indem sie mit dem Parameter true ausgewählt werden).

Es ist lediglich zu beachten, dass die Symbole vor dem Testen im Fenster "Market Watch" des Terminals ausgewählt werden müssen.


 

Dies ist keine Geldverwaltung.

sondern nur, wie man Informationen über die wichtigsten Merkmale des Handelskontos und über die Eigenschaften von Finanzinstrumenten erhält.

Diese Informationen können zum Money Management genutzt werden.

 
DxdCn:

Dies ist keine Geldverwaltung.

nur, wie man sich über die wichtigsten Merkmale des Handelskontos und über die Eigenschaften von Finanzinstrumenten informieren kann.

Diese Informationen können zum Money Management verwendet werden.

Natürlich ist es das nicht. Wie Sie sehen können, hat sogar der Autor des Artikels ihn"Funktionen für das Money Management (...)" genannt. Ich sehe also keinen Sinn in Ihrer Bemerkung.