[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 216

 
artsnz >> :

È possibile? Offerta DoC per chiudere un ordine ad un prezzo migliore???? Questa è la prima volta che sento parlare di una società di intermediazione che diventa così sciatta.

Il robot non era stupido, per definizione non può essere stupido.

È necessario semplicemente correggere il codice, se vuoi puoi stenderlo qui e puoi aiutare qui, puoi scrivere nel tuo messaggio personale e sicuramente anche tu aiuterai.

1. Sì, è successo - è chiaro dal registro.

2. Ho usato la parola "stupido" in senso figurato, intendendo che c'era qualcosa di sbagliato nel codice.

3. Ecco il codice di chiusura della posa:

for ( cop=0; cop< t_o; cop++)
 {
  OrderSelect( cop, SELECT_BY_POS, MODE_TRADES);//Выбор ордера по позиции среди открытых
  if(OrderMagicNumber()== MN) 
  {
   ot=OrderTicket();
   if(!OrderClose(OrderTicket(),OrderLots(), price,3, Color))
    Print("Ошибка при закрытии ордера! ED:", ErrorDescription(GetLastError()));
   
  }
 }

Ma la posa non si chiude sempre, e non è un errore, è considerato normale, un messaggio come questo viene dal server:

2009.09.08 00:44:42 '64766': requote 1.51893 / 1.51933 per ordine #11573500 vendere 1.80 EURCHF chiusura a 1.51914

Come sapete, questo significa che il prezzo è cambiato a breve termine mentre la richiesta di chiusura è andata al server.

E il server offre un nuovo prezzo di chiusura. Al server viene dato il tempo di rispondere - 3 secondi. Ed ecco il problema: il server si rifiuta di chiudere l'ordine al nuovo prezzo!

Come questo accada non è chiaro... Aiutatemi a capire, per favore.

 

Ragazzi, per favore spiegate il significato del punto esclamativo(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prezzo - PipsForOpenMore * Punto)

 
001 >> :

Ragazzi, per favore spiegate il significato del punto esclamativo(!ExistPosition).

if(cnt > 0 && !ExistPosition(OP_BUY) && Ask <= prezzo - PipsForOpenMore * Punto)

La traduzione letterale di questa linea sarà

se cnt è PIÙ di 0 e la funzione ExistPosition(OP_BUY) restituisce FALSE e Ask è MENO di o uguale al prezzo - PipsForOpenMore * Point, allora....

Il "!" è una negazione. Se non lo fosse, la condizione if presupporrebbe che la funzione ExistPosition(OP_BUY) restituisca TRUE.

 
Salve, potreste consigliarmi come catturare ed elaborare un evento di stop loss o take profit in un EA? Vorrei chiedervi come elaborare un evento di chiusura per uno Stop Loss o Take Profit.
 
cdover >> :
Ciao, Potresti consigliarmi come catturare e gestire in un EA l'evento di chiusura di un'operazione allo stoploss o takeprofit. >> Grazie.

Volete che qualcosa venga eseguito prima della chiusura su stop/profitto?

 
MrSoros писал(а) >>

Volete che qualcosa venga eseguito prima della chiusura su stop/profitto?

No, subito dopo la chiusura.

 

OrdersTotal() - restituisce 0 non appena l'ordine è stato chiuso.

Di conseguenza, se OrdersTotal() restituisce 0, allora si fa l'elaborazione...

Questo è il caso quando un solo ordine è aperto.

Se descrivi la tua situazione in modo più dettagliato, cosa vuoi fare dopo che l'ordine è chiuso, allora sarò in grado di darti una risposta migliore :)

 
Alex5757000 >> :
Colleghi, ho una domanda sulla media. puramente matematica. supponiamo di aver fatto la media 3 volte: posizioni con lo stesso volume di 1 lotto. ad un prezzo di 1,8 e 1,6 e 1,4. Il prezzo di apertura effettivo qui sarà 1,6. Con questo è chiaro. Ma non capisco come posso calcolare il prezzo aperto effettivo, se abbiamo aperto con diversi lotti, per esempio con un fattore di mediazione di N. // Per esempio: 0,1 lotto e 0,2 e 0,4 - qui N==2 a 1,8 e 1,6 e 1,4 . Quale sarà il prezzo di apertura effettivo?

Non capisco la logica.

Puoi spiegarlo più precisamente, con un esempio?

 
MrSoros писал(а) >>

3. Ecco il codice per chiudere la posizione:

Aumentate il valore dello slippage a 50, avete 5 cifre, quindi 0,3 pip non funziona.

 
cdover писал(а) >>
Ciao, potresti per favore dirmi come catturare e gestire nel mio EA l'evento di chiusura di un affare allo Stop Loss o Take Profit. >> Grazie.

Guarda l'ultimo ordine nella storia, determina il tipo di ordine.

Per esempio per una posizione lunga:

Se l'ordine ha chiuso a un prezzo uguale o inferiore allo stop loss, allora era uno stop loss.

Se al prezzo uguale o superiore a TakeProfit - TakeProfit.