Bestellungen Durchschnittspreis (mehrere magische Zahlen)
4 Antworten
ramacan
vor 11 Jahren #111190
Wie kann ich den Durchschnittspreis der Aufträge (Multiple Magic Numbers) gewichtet nach Lots berechnen?
Herzliche Grüße.
Mark Fric
vor 11 Jahren #121712
können Sie die Funktion sqGetOrdersAveragePrice() im generierten EA-Code überprüfen.
Mark
StrategyQuant Architekt
ramacan
vor 11 Jahren #121731
Mark,
Meinen Sie damit, dass ich sqGetOrdersAveragePrice() im Bereich Benutzerdefinierte Funktionen verwenden sollte? Bitte geben Sie mir ein Beispiel, wie ich den nach Lots gewichteten Durchschnittspreis für Magic#1 und Magic#2 abrufen kann, da ich kein Programmierer bin.
Herzliche Grüße.
Mark Fric
vor 11 Jahren #121833
Hallo,
Entschuldigung für die unzureichende Antwort.
Sie können den folgenden Code in die Datei {EA Wizard}/code/CustomFunctions.mq4 einfügen.
Dadurch wird EA Wizard diese Funktion zu jedem generierten EA-Code hinzufügen.
double GetMultiOrdersAveragePrice(int magic1, int magic2) {
double sum = 0,0;
double cnt = 0.0;
for (int cc = OrdersTotal() - 1; cc >= 0; cc-) {
if (!OrderSelect(cc, SELECT_BY_POS) ) continue;
if((OrderMagicNumber() == magic1 || OrderMagicNumber() == magic2) && OrderSymbol() == Symbol()) {
if(OrderType() == OP_BUY && OrderCloseTime() == 0) {
Summe += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
if(OrderType() == OP_SELL && OrderCloseTime() == 0) {
Summe += OrderLots() * OrderOpenPrice ();
cnt += OrderLots();
}
}
}
if (NormalizeDouble (cnt, Digits) == 0) return (0);
return(Summe / cnt);
}
In den Regeln des EA-Assistenten können Sie diese neue Funktion dann unter Funktionen -> Benutzerdefinierte Funktion verwenden: GetMultiOrdersAveragePrice(1000, 2000)
um den Durchschnittspreis der Aufträge mit den magischen Zahlen 1000 und 2000 zu ermitteln.
Mark
Mark
StrategyQuant Architekt
ramacan
vor 11 Jahren #121843
Ansicht von 4 Antworten - 1 bis 4 (von insgesamt 4)