[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 18

 
artmedia70:

Eine ähnliche Frage wurde hier schon einmal gestellt und beantwortet (ich weiß nicht mehr, wer sie beantwortet hat). Damit Sie es nicht nachschlagen müssen, hier ist es:

-----------------------------------------
Wie berechne ich anhand der verfügbaren Mittel und des Loses, um wie viele Punkte (in Punkten) der Kurs ins Minus gehen kann?
Verknüpfungsformel: Lot=Money/(Staples*Tick)
Geld - verdient/verloren
Stoplos - Pips des Brokers
Tick - MarketInfo( MODE_TICKVALUE)
Von hier aus können Sie sich nach Belieben drehen:
Stopplus=Geld/(Lot*Tick)
Geld=Lot*Stoppplus*Tick
-----------------------------------------
Tun Sie nun auf der Grundlage der obigen Formeln, was Sie brauchen...




Ich danke Ihnen. Ich werde darüber nachdenken. Mehr Optionen wären wünschenswert
 
vovan-gogan:

Ich danke Ihnen. Ich werde darüber nachdenken. Mehr Optionen wären wünschenswert

1. Das Risiko pro Handel betrug 10 % der Einlage,

2. Dass die 10 Prozent in die Reichweite der SL fallen würden

3) Diese 10 % sollten jedes Mal um 50 % erhöht werden, wenn ein Geschäft verlustbringend ist.

Zum Beispiel beträgt die Einlage 10.000 USD, das Risiko für einen Handel mit einem bestimmten bekannten SL muss 1.000 USD betragen. Ist das Geschäft verlustbringend, dann muss das nächste Geschäft 1500 riskieren, das nächste 2000 usw. Und beim ersten gewinnbringenden Handel kehrt das Risiko sofort auf die ursprüngliche Höhe der Einlage zurück: 10%. Wie kann es in das Programm implementiert werden?

Wir kennen alle drei Komponenten der drei, die Sie brauchen. Rechnen Sie jetzt einfach nach und prüfen Sie die Zulässigkeit.

1. Kennen wir die Kaution? Sie können das Risiko in Geld berechnen: Depo/100*Risikoprozentsatz. Tick wird von hier übernommen: Tick = MarketInfo(Symbol(), MODE_TICKVALUE); Stop Loss ist uns bekannt.

2) Lot zur Positionseröffnung = Risiko in Geld / (Stop Loss in Pips * Tick)

Wenn Sie das Risiko erhöhen wollen, berechnen Sie das Risiko in Geld (dritter Punkt oben) um den erhöhten Risikoprozentsatz neu...

 
DDFedor:

1. Wir wissen, dass die Beispiele in der Codebase liegen.

2. Wir wissen, dass die Dateierweiterung der Bibliothek mqh ist.

3. Kombinieren Sie, führen Sie eine Suchmaschinenabfrage durch.

4. Wir erhalten das erste Ergebnis. https://www.mql5.com/ru/code/10344 - Ich habe das Archiv nicht durchgesehen, aber wahrscheinlich gibt es dort auch eine Bibliotheksdatei und eine Startdatei.

Wahrscheinlich ist die Endung aller MQL4-Programme "*.mq4".

"*.mqh" ist eine Erweiterung der Header-Datei der Bibliothek, ähnlich wie bei C++. Aber das ist alles nicht wichtig. "*.mqh" lässt sich ebenfalls kompilieren.

 
Guten Abend, können Sie mir sagen, ob eine Zahl vom Typ int am Anfang 0 ist?
 

Können Sie mir bitte raten, irgendwann den Stop-Loss in meinem EA zu aktivieren, der sich in der Mitte zwischen dem aktuellen Kurs und dem Eröffnungskurs befindet

middleSL=OrderOpenPrice()+(Close[0]-OrderOpenPrice())/MIDDLESL;
Wenn der Preis steigt, zieht er nach oben, aber niemals nach unten

Ich habe gesehen, dass Close[0], das auf einer geraden Zahl endet, und Close[0]-1*Punkt(ungerade) in der Formel denselben mittleren SL ergeben und denselben Befehl für OrderModify enthalten. Was sollte ich im Code tun, um dies zu vermeiden?

P.S. MIDDLESL ist eine Variable, jetzt ist es 2, aber mit Hilfe des Optimierers, wird einen günstigeren Wert finden

 
nadya:
Guten Abend. Können Sie mir sagen, ob eine Zahl vom Typ int am Anfang 0 ist?

Ja, wenn Sie eine Variable als Ganzzahl definieren, hat sie zunächst den Wert 0
 
Vielen Dank, Denis!
 
nadya:
Guten Abend. Können Sie mir sagen, ob eine Zahl vom Typ int anfangs gleich 0 ist?

Eine seltsame Vermutung und eine ebenso seltsame Antwort.

Im Allgemeinen ist dies immer der Fall, aber es gibt schädliche Momente, in denen die Variablen nicht auf Null gesetzt werden.

Anekdote zu diesem Thema:

Ein Programmierer geht traurig nach Hause, weil es bei der Arbeit nicht gut läuft. Auf dem Weg dorthin beschloss er, in einer Bar einen Drink zu nehmen. Er sitzt ganz traurig da, trinkt und denkt über den Code nach, der nicht funktioniert. Eine lokale Nutte setzt sich zu ihm. Versucht, ein Gespräch zu beginnen. Er hält sie hin. Dann fragt er sie:
- Wie ist Ihr Name?
- Wer dich anrufen will, nennt dich, wie er will.
Der Programmierer (klopft sich auf die Stirn):
- Das ist richtig! Der Standardwert sollte angegeben werden!!!
Und rannte fröhlich nach Hause, um den Code fertigzustellen.

Moral - initialisieren Sie Variablen immer mit einem Wert!

 
LazarevDenis:

Können Sie mir bitte raten, irgendwann den Stop-Loss in meinem EA zu aktivieren, der sich in der Mitte zwischen dem aktuellen Kurs und dem Eröffnungskurs befindet

Wenn der Preis steigt, zieht er nach oben, aber niemals nach unten

Ich habe gesehen, dass Close[0], das auf einer geraden Zahl endet, und Close[0]-1*Punkt(ungerade) in der Formel denselben mittleren SL ergeben und denselben Befehl für OrderModify enthalten. Was sollte ich im Code tun, um dies zu vermeiden?

P.S. MIDDLESL ist eine Variable, jetzt ist es 2, aber mit Hilfe des Optimierers, wird einen günstigeren Wert finden

Wenn middleSL an den Stop-Loss gesendet wird, wird es normalisiert, d.h. es wird auf ein bestimmtes Zeichen gerundet, wenn es durch 2 geteilt wird, ist dies unvermeidlich
 
sergeev:

Eine seltsame Vermutung und eine ebenso seltsame Antwort.

Im Allgemeinen ist dies immer der Fall, aber es gibt schädliche Momente, in denen die Variablen nicht auf Null gesetzt werden.

Dazu eine Anekdote:

Der Programmierer geht traurig nach Hause, weil etwas bei der Arbeit nicht gut läuft. Auf dem Weg dorthin beschloss er, in einer Bar einen Drink zu nehmen. Er sitzt ganz traurig da, trinkt und denkt über den Code nach, der nicht funktioniert. Eine lokale Prostituierte setzt sich zu ihm. Versucht, ein Gespräch zu beginnen. Er hält sie hin. Dann fragt er sie:
- Wie ist dein Name?
- Wer dich nennen will, nennt dich, wie er dich nennen will.
Programmierer (klopft sich auf die Stirn):
- So ist es richtig! Der Standardwert muss angegeben werden!!!
Und rannte fröhlich nach Hause, um den Code fertigzustellen.

Moral - initialisieren Sie Variablen immer mit einem Wert!

und wenn ich sie als globale Variable schreibe, weise ich den Wert direkt dort zu?