[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 826

 

Könnte man nicht für jede Position, die später eröffnet wird, eine eigene Berechnung vornehmen und dann die Summe bilden? Es gibt einen Grund, warum

AccountFreeMarginCheck(sy, op, lot); 

Ihm werden das Symbol, die Handelsoperation und die Partie übergeben... Sie können den Spielraum für jede Position separat berechnen, über die sich überschneidenden Positionen entscheiden und das Ergebnis ausdrucken.

Schreiben Sie ein Skript, das sowohl Ihre Berechnung als auch die Rückmeldung Ihres Maklerunternehmens ausgibt. Und vergleichen Sie es...

MODE_MARGINHEDGED 31 Marge für überlappende Positionen pro 1 Lot


Berechnen Sie also Ihre Lose. Anzahl der Partien, die sich mit dem von MODE_MARGINHEDGED zurückgegebenen Wert überschneiden
Anzahl der verbleibenden Partien, die sich mit dem von MODE_MARGINREQUIRED zurückgegebenen Wert nicht überschneiden

 

Ich bin auf ein Problem mit MRC gestoßen. Wenn ich zum Beispiel diesen Code ausführen möchte:

double OpPriceF5B = OrderClosePrice()- OrderOpenPrice();

Ich möchte den Unterschied zwischen dem Eröffnungskurs und dem Swap-Preis erfahren.

Wie kann ich das tun?

Ich versuche, mir das so vorzustellen:

for (i=1; i <=OrdersTotal();i++){
    if (OrderSelect(i-1,SELECT_BY_POS)==true){
       if (OrderType()== OP_BUY ){
          if (OrderMagicNumber() == Magic_N_F5){
             double OpPriceF5B = OrderClosePrice()- OrderOpenPrice();
          }
       }      
    }   
}
 

Experimentieren Sie mit AccountFreeMarginCheck():

- BUY-Order auf dem Terminal geöffnet

- Saldo: 94919,36 Mittel: 94921,16 Sicherheiten: 1273,39 Frei: 93647,07 Niveau: 7454,15%

- Ich frage: AccountFreeMarginCheck(Symbol(),OP_BUY,0.1) - ergibt den Rest der Stufe Free

- Ich frage: AccountFreeMarginCheck(Symbol(),OP_SELL,0.1) - gibt den Saldo aus der Fondsebene


Im Allgemeinen kann mein Problem so nicht gelöst werden.

Meine Frage (mein Problem) ist folgende: Es sollen mehrere Aufträge gleichzeitig geöffnet werden , und sie sollen so offen bleiben

die erste - verkaufen mit dem Los 0,10

die zweite - kaufen mit Los 0,26

drittens - Verkauf von 0,43
viertens - Kauf von 0,72

Die fünfte - Verkauf durch Los 1,19, usw.

Preis 1,2737, Hebelwirkung 100, Mindestlos 0,1

Es besteht die Möglichkeit, dass in irgendeinem Zyklus der nächsten Auftragserteilung der Stop Out kommt.

Das bedeutet, dass wir dieses Worst-Case-Szenario natürlich nach der Methodik der EZ berechnen sollten. Und machen Sie eine Schlussfolgerung: bis zu welcher Gesamtmenge an Lots auf den in der angegebenen Reihenfolge eröffneten Aufträgen können wir gehen, ohne Angst zu haben, in einen Stop Out zu geraten? Das heißt "am Anfang des Anfangs" :) Berechnen Sie die Gesamtspanne für die Aufträge, die eröffnet werden können. Auch hier ist die Reihenfolge der Eröffnung oben dargestellt und die Reihenfolge der Lose für jede Bestellung ist im Voraus bekannt.

 
ikatsko:

Experimentieren Sie mit AccountFreeMarginCheck():

- BUY-Order auf dem Terminal geöffnet

- Saldo: 94919,36 Mittel: 94921,16 Sicherheiten: 1273,39 Frei: 93647,07 Niveau: 7454,15%

- Ich frage: AccountFreeMarginCheck(Symbol(),OP_BUY,0.1) - gibt den Rest der Stufe Free

- Ich frage: AccountFreeMarginCheck(Symbol(),OP_SELL,0.1) - gibt den Saldo von Funds level


Im Allgemeinen kann mein Problem so nicht gelöst werden.

Aber meine Frage (Aufgabe) ist folgende: Es sollen mehrere Aufträge gleichzeitig geöffnet werden , und sie sollen so offen bleiben

die erste - verkaufen mit dem Los 0,10

die zweite - kaufen mit Los 0,26

drittens - Verkauf von 0,43
viertens - Kauf von 0,72

Die fünfte - Verkauf durch Los 1,19, usw.

Preis 1,2737, Hebelwirkung 100, Mindestlos 0,1

Es besteht die Möglichkeit, dass in irgendeinem Zyklus der nächsten Auftragserteilung der Stop Out kommt.

Das bedeutet, dass wir dieses Worst-Case-Szenario natürlich nach der Methodik der EZ berechnen sollten. Und machen Sie eine Schlussfolgerung: bis zu welcher Gesamtmenge an Lots auf den in der angegebenen Reihenfolge eröffneten Aufträgen können wir gehen, ohne Angst zu haben, in einen Stop Out zu geraten? Das heißt "am Anfang des Anfangs" :) Berechnen Sie die Gesamtspanne für die Aufträge, die eröffnet werden können. Ich möchte wiederholen, dass die Reihenfolge der Eröffnung oben angegeben ist und die Losgrößen für jede Bestellung im Voraus bekannt sind.

Lassen Sie uns darüber nachdenken.

Alle Bai: 0,26 + 0,72 = 0,98.

Alle Kugeln: 0,1+0,43+1,19 = 1,72

Überlappung: Die Anzahl der Lose von Bai ist geringer als die Anzahl der Lose von Sell, so dass die Anzahl der überlappenden Lose gleich der Anzahl der Lose von Bai ist = 0,98

Verbleibende unidirektionale Verkaufslose: 1,72-0,98 = 0,74

Was sollen wir also tun? Bai's addieren und Sell's subtrahieren: -0,1+0,26-0,43+0,72-1,19= -0,74 Wenn minus, dann haben wir einen unidirektionalen Verkauf

Für die überlappenden Lose nehmen Sie den Wert aus MODE_MARGINHEDGED und multiplizieren ihn mit der Anzahl der überlappenden Lose.

Und für die unidirektionalen nimmt man den Wert von MODE_MARGINREQUIRED und multipliziert ihn mit MathAbs(Anzahl der unidirektionalen Lose);

Na ja, und alles andere auch, versuchen Sie zu berücksichtigen ...

SZY: Ich habe hier nicht lange nachgedacht - also zwischendurch ein paar Witze gemacht - ich gebe Versäumnisse zu, also nur als mögliche Vorgehensweise nehmen... :)

 

Also... wird die Logik klar. Ich danke Ihnen! Versuchen wir es jetzt zu überprüfen.

Übrigens habe ich ein Experiment mit dem DEMO durchgeführt:

erster BUY mit 0,1 Lot Preis 1,27339 - zeigte Bail=1273,39. D.h. 0,1 * 1000000 * 1,27339/100.

Der zweite VERKAUF von Lot 0,26 zum Preis von 1,27039 ergab eine Gesamtkaution von 3305,18. Und es ist sehr ähnlich wie dieses 0.26*1000000*1.27039/100=3303.01 ?? Seltsamkeiten?

Es stellt sich heraus, dass die Kaution von der maximalen Anzahl der Lose genommen wird, die sich mit den in entgegengesetzter Richtung eröffneten Aufträgen überschneiden?

Warten auf die Eröffnung des nächsten BUY

 
eugggy:
Guten Tag an alle. Gibt es eine klare Definition des Begriffs Betreiber oder ist es wie bei der Frage "Was ist der Sinn des Lebens" (man kann es nicht erklären)?

:) Betreiber ist ein dehnbarer Begriff - er kann auch der Betreiber einer Schwarzbrennermaschine sein... :)

Sie würden Fragen in dem Kontext stellen, in dem Sie die Bedeutung des Wortes erfahren möchten. Hoffentlich ist der Satz nicht zu lang :)

 
eugggy:
Guten Tag zusammen. Gibt es eine klare Definition des Begriffs "Betreiber" oder ist es wie bei "Was ist der Sinn des Lebens" (kann nicht erklärt werden)?

=Kommando. Siehe wikipedia.

https://ru.wikipedia.org/wiki/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)

 
ikatsko:

Also... die Logik macht Sinn. Ich danke Ihnen. Versuchen wir es jetzt zu überprüfen.

Übrigens habe ich ein Experiment mit dem DEMO durchgeführt:

erster BUY mit 0,1 Lot Preis 1,27339 - zeigte Bail=1273,39. D.h. 0,1 * 1000000 * 1,27339/100.

Das zweite SELL-Los 0,26 zum Preis von 1,27039 zeigte eine Gesamt-Bail=3305,18. Und es ist sehr ähnlich wie dieses 0.26*1000000*1.27039/100=3303.01 ?? Seltsamkeiten?

Es stellt sich heraus, dass die Kaution von der maximalen Anzahl der Lose genommen wird, die sich mit den in entgegengesetzter Richtung offenen Aufträgen überschneiden?

Warten auf die Eröffnung des nächsten BUY

Äh... Ich wünschte, ich hätte Zeit, darüber nachzudenken... :) Das ist eine interessante Aufgabe, aber ich stehe unter Zeitdruck.

Ich denke, wenn es eine Ähnlichkeit gibt, aber keine Ähnlichkeit, dann ist es nicht wahr. Es ist nur eine Kuriosität... :) Versuchen Sie, die Differenz für das maximale Los zu berechnen...

Für solche "Seltsamkeiten" würden sich die Dezlas von seriösen Kunden die Beine ausreißen lassen... :)

Sie müssen in eine andere Richtung denken...

Ich warte auf Ihre nächste Bestellung :)

 
eugggy:
(Kichern): (wie der Bediener einer Schwarzbrennermaschine)). Wenn ich es richtig verstanden habe, ist der Operator (auch in MQL4) der kleinste und sinnvollste Ausdruck im Programmcode.... etwa so.

О ... Mutter-Mutter-Großmutter... Können Sie nicht ohne sie leben? In einer Hängematte stehend? Warum sollte man sein Leben verkomplizieren?

Lesen Sie es hier... und das ist das Ende davon...

 

Aber wie manchmal einfache Fragen verwirren :) (Ich meine den Betreiber).

Die am besten zugängliche (einfache) Definition habe ich bei BSE gefunden:

"In der Informatik ist ein Rezept... zur Angabe einer abgeschlossenen Handlung...".

Und hier in der Dokumentation:

"Ein Operator ist ein Teil eines Programms... die eine bestimmte Reihenfolge der Informationsumwandlung vorschreiben."

Die Funktion verhält sich also genau so...

Interessant.