Problema iterazione ed entrata in operazione - pagina 2

 
Michele Catanzaro #:
Un'idea potrebbe essere quella di andare a modificare il magic number per ogni area e controllare le posizioni così. 

Cosa sarebbe il magic number?

 
Samuele Quaresima #:

Cosa sarebbe il magic number?

Il magic number è un id univoco che tutti gli ea dovrebbero usare. 
 
Michele Catanzaro #:
Il magic number è un id univoco che tutti gli ea dovrebbero usare. 

Grazie mille. Il magic number sarebbe quel 

request.magic = 1234;

inserito al punto 2, giusto?


Sempre in riferimento a quello che chiedevo al punto 2, ho letto la documentazione ma ci sono delle cose che non ho capito, perché il valore in pip del sl e del tp devo indicarli con 0.0030 e 0.0090? Posso omettere il volume o devo metterci un valore per forza? Se voglio aprire un'operazione, per esempio sul DAX o sul EURUSD nel campo request.price che valore devo mettere?

Vedevo anche che oltre a SYMBOL_BID e SYMBOL_ASK c'è anche SYMBOL_LAST, che restituisce il "Prezzo dell'ultima transazione" e credo sia quello che fa al caso mio, o sbaglio?

 
Samuele Quaresima #:

Grazie mille. Il magic number sarebbe quel 

inserito al punto 2, giusto?


Sempre in riferimento a quello che chiedevo al punto 2, ho letto la documentazione ma ci sono delle cose che non ho capito, perché il valore in pip del sl e del tp devo indicarli con 0.0030 e 0.0090? Posso omettere il volume o devo metterci un valore per forza? Se voglio aprire un'operazione, per esempio sul DAX o sul EURUSD nel campo request.price che valore devo mettere?

Vedevo anche che oltre a SYMBOL_BID e SYMBOL_ASK c'è anche SYMBOL_LAST, che restituisce il "Prezzo dell'ultima transazione" e credo sia quello che fa al caso mio, o sbaglio?

Esatto è proprio quello il magic number. Quando si inserisce un SL/TP bisogna indicare un prezzo alla quale piazzarli perciò lo SL sarà il Bid/Ask +- pips di SL (da indicare come prezzo altrimenti sottrai l'intero) dipende dall'operazione e viceversa per il TP. 
 
int pipLoss = 30;
int pipProfit = 90;

void compra()
{
   double price = prezzo();
   MqlTradeRequest request = {};
   MqlTradeResult result = {};
   request.action = TRADE_ACTION_DEAL;
   request.symbol = NULL;
   request.magic = 1234;
   request.volume = 1;
   request.price = 1;
   request.sl = prezzo() - pipLoss;
   request.tp = prezzo() + pipProfit;
   request.deviation = 0;
   request.type = ORDER_TYPE_BUY;
   request.type_filling = ORDER_FILLING_IOC;
   OrderSend(request,result);
}

double prezzo()
{
   return SymbolInfoDouble(_Symbol, SYMBOL_LAST);
}


Sto facendo delle prove, anche come hai suggerito nella prima risposta mettendo sl e tp a 0.003 e 0.009, ma non riesco a farlo funzionare.

Per quanto riguarda Bid/Ask, posso usare 

SymbolInfoDouble(_Symbol, SYMBOL_LAST);

o è sbagliato?

 
È errato, se fai un buy va richiesto l'ask se fai un sell va richiesto il bid perché quelli sono i prezzi accettati dal broker in quel momento ed è quello che devi mettere in price. La deviazione dovrebbe essere qualcosa in più di 0 altrimenti rischi che il trade non venga accettato. SL/TP saranno ask-pipLoss (convertito in 0.003) e ask+pipProfit (convertito in 0.009). Spero di essere stato chiaro. 
 
Michele Catanzaro #:
È errato, se fai un buy va richiesto l'ask se fai un sell va richiesto il bid perché quelli sono i prezzi accettati dal broker in quel momento ed è quello che devi mettere in price. La deviazione dovrebbe essere qualcosa in più di 0 altrimenti rischi che il trade non venga accettato. SL/TP saranno ask-pipLoss (convertito in 0.003) e ask+pipProfit (convertito in 0.009). Spero di essere stato chiaro. 

Ok va bene, quindi poi se voglio modificare operazioni già aperte è sufficiente utilizzare il magic number?

 
Samuele Quaresima #:

Ok va bene, quindi poi se voglio modificare operazioni già aperte è sufficiente utilizzare il magic number?

Si andando a ciclare sulle posizioni aperte e filtrandole magari per simbolo e magic
 

Quattro giorni fa ho acquistato questo robot, ma non so la prossima mossa,

2022.03.18 9689866
 Payment for product 'EA Gold Stuff'
 
gionasalivan66 AAA #:

Quattro giorni fa ho acquistato questo robot, ma non so la prossima mossa,

2022.03.18 9689866
 Payment for product 'EA Gold Stuff'
Perché hai postato questa domanda in questo thread? Cosa intendi con prossima mossa?