Come implementare la chiusura delle posizioni una alla volta dopo N minuti? - pagina 4

 
Vitaly Muzichenko:

Il mio punto è chechiudere può essere solo 0 (falso) o 1 (vero), non c'è altro.

Vi mostrerò di nuovo la funzione, ve l'ho data oggi, ha funzionato oggi e la lascerò a questo.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Come implementare la chiusura di una posizione dopo N-minuti?

Natalya Dzerzhinskaya, 2017.11.22 19:17


(OrderCloseTime()> 0) funziona, lo lascerò così allora

Grazie ancora)))


Si chiude anche bene, ma dopo la chiusura dice errore 4108"Invalid ticket number".



 
Vitaly Muzichenko:

Il mio punto è chechiudere può essere solo 0 (falso) o 1 (vero), non ci sono altre opzioni.

Lo stesso, per l'affidabilità, è meglio scrivere:

per essere al sicuro.

si dovrebbe sempre(!!!) usare il valore trovato per esso nella funzione, per essere sicuri di usare i parametri di funzione corretti e necessari

 
Renat Akhtyamov:

Ancora una volta, ecco la funzione, te l'ho data oggi, l'hai elaborata oggi, e questa è la fine.

Dire grazie non significa avere ragione, sei un adulto e dovresti capirlo.

È come andare in una stazione di servizio e ringraziare il riparatore, dicendo che la macchina va bene dopo la riparazione, ma le valvole bussano. Hai capito?

Questo è tutto - andato).

 

gli insegnanti sono dappertutto.... tutti quelli che si preoccupano....

sono l'unico che sa che non bisogna scherzare con le funzioni di trading

tutto deve essere fatto 5+

Ogni errore è uno spreco di denaro!

 
Taras Slobodyanik:
È possibile chiudere immediatamente gli ordini se li avete cercati.
Perché dovremmo cercare il tempo? Confrontare - chiudere - prossimo.

La condizione è quella di trovare un solo ordine che sia aperto per primo. E senza una ricerca completa degli ordini è impossibile sapere che tale e tale ordine è il più antico.

 
Renat Akhtyamov:

gli insegnanti sono dappertutto.... tutti quelli che si preoccupano....

sono l'unico che sa che non bisogna scherzare con le funzioni di trading

Tutto deve essere 5+.

ogni errore è una perdita di denaro!

Renat, questa condizione non reggerà nemmeno nell'apocalisse, puoi controllare:

                  if(OrderSelect(MyTicketBuy, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketBuy,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(MyTicketSell, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketSell,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
 
Vitaly Muzichenko:

Renate, questa condizione non reggerà nemmeno in un'apocalisse, puoi controllare:

beh l'uomo ha usato il mio codice!!!!

l'errore è saltato fuori?????

Vitaly, smettila...

o vai a torturarti se non mi credi.

 
Ihor Herasko:

La condizione è quella di trovare un solo ordine che sia aperto per primo. E senza una ricerca completa degli ordini è impossibile scoprire che tale e quale ordine è il più antico.

Secondo la condizione, non può essere aperto più di 5 minuti, cioè, è possibile cercare liberamente in ordine, e chiudere più vecchio di 5 minuti, sarà il più vecchio.

 
Renat Akhtyamov:

beh, l'uomo ha usato il mio codice!!!!

errore saltato fuori?????


Questo è il punto, esso (l'errore) non sarà mai visibile. Anche se appare. La variabile close deve essere di tipo bool, che non ha mai un valore inferiore a zero.

 
Renat Akhtyamov:

Beh, l'uomo ha usato il mio codice!!!!

errore lanciato su?????

Non si tratta di usato o non usato.

Ancora una volta:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Come implementare la chiusura della posizione dopo N-minuti?

Vitaly Muzichenko, 2017.11.22 20:28

In quali condizioni questo può mai funzionare, almeno una volta ogni 100 anni?

                  if(OrderSelect(MyTicketBuy, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketBuy,OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),0,clrRed);
                     if(close<0){if(Fun_Error(GetLastError())==1)return;}
                  }
                  if(OrderSelect(MyTicketSell, SELECT_BY_TICKET)==true)
                  {
                     close=OrderClose(MyTicketSell,OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),0,clrBlue);
                     if(close<0){if(Fu n_Error(GetLastError())==1)return;}
                  }

Motivazione: