Risposta

Fare riferimento a operazioni chiuse lunghe e corte insieme

6 risposte

glennc

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

6 anni fa #203095

Salve, grazie per questo eccellente programma.

 

Voglio ottenere il profitto totale dell'ultimo numero di operazioni, lunghe e corte, combinate.

Se separo i long e gli short con i numeri magici, non mi darà i totali degli ultimi x trade long e degli ultimi x trade short, che non sono gli stessi degli ultimi x trade combinati?

Se uso lo zero come numero magico, questo non includerà le operazioni di altri EA della stessa coppia di valute in esecuzione sulla piattaforma?

Come posso risolvere questo problema? Ho altri problemi legati a questo tipo di problema, questo è un esempio del problema.

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

6 anni fa #203217

Salve,

In EA Wizard è possibile utilizzare la Somma dei PL chiusi per controllare solo i long o solo gli short avendo la stessa magia per tutti i long o tutti gli short. Se si utilizza magic = 0, gli ordini verranno conteggiati per tutte le coppie negoziate e non solo per quella su cui è stato posizionato l'EA.

0

glennc

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

6 anni fa #203230

Ciao Thomas,

Grazie per la risposta.

Quindi, per confermare: Non posso semplicemente ricavare il profitto/perdita su un certo numero di operazioni, indipendentemente dalla direzione dell'operazione?

Questa sembrerebbe una limitazione spiacevole. Come ho detto sopra, questa domanda è un esempio di un problema più grande. Se magic = 0 non può limitarsi al solo EA in questione, allora sicuramente abbiamo bisogno di una funzione che permetta di

magicLong AND magicShort o magicLong OR magicShort?

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

6 anni fa #203403

Per ottenere i profitti totali di # di operazioni storiche è possibile eseguire questa funzione (collocare alla fine del codice EAWizard \ CustomFunction.mq4)

int sqGetTotalPL(int numberOfLastOrders) {
doppio pl = 0;
int count = 0;
int profitti = 0;

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

count++;

if(OrderType() == OP_BUY) {
pl = (OrderClosePrice() - OrderOpenPrice());
} else {
pl = (OrderOpenPrice() - OrderClosePrice());
}

se(pl > 0) {
profitti++;
}

if(count >= numberOfLastOrders) break;
}
}

ritorno(profitti);
}

È quindi possibile fare riferimento alla funzione Custom Function nell'EA Wizard utilizzando la chiamata "sqGetTotalPL(3)" per ottenere il P/L delle ultime 3 operazioni su un simbolo selezionato.

0

glennc

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

6 anni fa #203693

Ciao Tomas,

 

Ti ringrazio molto per questo - apprezzo il tempo che deve essere impiegato. Leggendo il codice (tenendo presente che non so leggere il codice), questo mi darà un risultato solo per l'EA in cui è incluso, e non tutti i risultati per la coppia (OrderSymbol) nella cronologia MT4? Sto cercando di isolare il profitto/perdita su un certo numero di operazioni all'interno di un EA specifico, anche se altri EA sono in esecuzione sulla stessa coppia sulla stessa piattaforma.

 

Grazie ancora per il vostro aiuto.

 

0

tomas262

Amministratore, sq-ultimate, 2 risposte.

Visita il profilo

6 anni fa #203816

Salve,

questa dichiarazione nel codice OrderSymbol() == Symbol() assicura che il programma fornisca risultati solo per il simbolo su cui è stato eseguito l'EA, ad esempio EURUSD.

0

glennc

Abbonato, bbp_partecipante, comunità, 3 risposte.

Visita il profilo

6 anni fa #217747

Grazie Tomas!

0

Stai visualizzando 6 risposte - da 1 a 6 (di 6 totali)