errore gPointPow

1 risposte

anemosbr

Abbonato, bbp_partecipante, 1 risposte.

Visita il profilo

3 anni fa #266917

Voglio interrompere gli ordini quando l'ea raggiunge un certo profitto e ho visto il codice qui sotto in un altro messaggio sul forum:

double sqGetPLInPipsToday() {
stringa 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) {
// salta gli ordini in sospeso
continuare;
}

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

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

if(OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) {
// salta gli ordini in sospeso
continuare;
}

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

restituire (plToday*gPointPow);
}

Tuttavia, quando provo a inserire il codice sottostante nella riga di codice generata in AlgoWizard, ottengo il seguente messaggio di errore:

'gPointPow' - identificatore non dichiarato

Come posso risolvere questo errore? Devo aggiungere qualcosa?

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

3 anni fa #267302

Salve,

hai provato ad ottenere i valori di P/L giornalieri? Si può ottenere facilmente sottraendo AccountEquity() meno AccountEquity() del giorno precedente o se si eseguono più EA utilizzando un numero magico diverso si può utilizzare questo codice

double Total_profit= NULL;int cnt = NULL;
for(cnt=0;cnt<=Totale ordini();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();}
}
}

Fatemi sapere se avete bisogno di aiuto per questo

0

Stai visualizzando 1 risposte (di 1 totali)