gPointPow-Fehler

1 Antworten

anemosbr

Abonnent, bbp_participant, 1 Antworten.

Profil besuchen

vor 3 Jahren #266917

Ich möchte die Aufträge zu unterbrechen, wenn die ea einen bestimmten Gewinn erreicht und ich sah den Code unten in einer anderen Nachricht auf dem Forum:

double sqGetPLInPipsToday() {
string todayTime = TimeToStr( TimeCurrent(), TIME_DATE);
double plToday = 0;

for(int i=0;i<OrdersHistoryTotal();i++) {
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true && OrderSymbol() == Symbol()) {

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
// Ausstehende Aufträge überspringen
weiter;
}

if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
Log("Vergleiche ", TimeToStr( OrderOpenTime(), TIME_DATE), " = ", todayTime);
if(OrderType() == OP_BUY) {
plToday += OrderClosePrice() - OrderOpenPrice();
} sonst {
plToday += OrderOpenPrice() - OrderClosePrice();
}
}
}
}

for (int cc = OrdersTotal() - 1; cc >= 0; cc-) {
if (OrderSelect(cc, SELECT_BY_POS) && OrderSymbol() == Symbol()) {

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
// Ausstehende Aufträge überspringen
weiter;
}

if(TimeToStr( OrderOpenTime(), TIME_DATE) == todayTime) {
if(OrderType() == OP_BUY) {
plToday += sqGetBid(OrderSymbol()) - OrderOpenPrice();
} sonst {
plToday += OrderOpenPrice() - sqGetAsk(OrderSymbol());
}
}
}
}

return (plToday*gPointPow);
}

Wenn ich jedoch versuche, den unten stehenden Code in die in AlgoWizard generierte Codezeile einzufügen, erhalte ich folgende Fehlermeldung:

gPointPow' - nicht deklarierter Bezeichner

Wie kann ich diesen Fehler beheben? Muss ich etwas hinzufügen?

0

tomas262

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 3 Jahren #267302

Hallo,

Haben Sie versucht, die täglichen P/L-Werte zu erhalten? Man kann sie leicht erhalten, indem man AccountEquity() minus AccountEquity() des Vortags subtrahiert, oder wenn Sie mehrere EAs mit unterschiedlichen magischen Zahlen laufen lassen, können Sie diesen Code verwenden

double Total_profit= NULL;int cnt = NULL;
for(cnt=0;cnt<=OrdersTotal();cnt++){
OrderSelect(cnt,SELECT_BY_POS);
if(OrderSymbol() == Symbol() && OrderMagicNumber()==magic)
{if( OrderType() == OP_BUY || OrderType() == OP_SELL )
{Total_profit= Total_profit+ OrderProfit() + OrderSwap() + OrderCommission();}
}
}

Lassen Sie es mich wissen, wenn Sie Hilfe benötigen

0

Ansicht von 1 Antwort (von insgesamt 1)