Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
E gli ordini in sospeso:((
Diario 1:
Cercando di comprare, tentativo 0 fallito, errore 6
Cercando di comprare, tentativo 1 fallito, errore 129
Cercando di comprare, tentativo 2 fallito, errore 129
Cercando di comprare, tentativo 3 fallito, errore 129
Cercando di comprare, tentativo 4 fallito, errore 129
Errore di acquisto a zig zag: 4050
2.28000000, 0.02700000, 0.00000000
Cercando di comprare, tentativo 0 fallito, errore 6
Cercando di comprare, 1 tentativo riuscito
L'ordine è stato aperto al 7° tentativo. Diversi messaggi di errore sono stati ricevuti lungo la strada e non avevano nulla a che fare con la realtà.
Diario 2.
7.9.2005 11:0:15, Segnale: sell7.9.2005 11:0:15 Prova a vendere, tentativo 0.
Ask: 1.24820000, StopLoss: 0.00600000, TakeProfit: 0.00000000
fallito, errore 6
7.9.2005 11:0:15 Cercando di vendere, tentativo 1.
Ask: 1.24820000, StopLoss: 0.00600000, TakeProfit: 0.00000000
di successo
Al secondo tentativo. L'errore numero sei è stato oggetto di un intero ramo, più di cento post. Su consiglio degli sviluppatori, Rosh e Composter, la frequenza degli errori è stata ridotta da "una volta ogni tanto" a "circa una volta su cinque". Ma è ancora lì.
Diario 3.
Tentativo di chiudere una posizione lunga, ticket: 1784257
6.9.2005 12:0:13 Ordine con questo biglietto ancora presente, riprova
6.9.2005 12:0:13 Ordine con questo biglietto ancora presente, riprova
6.9.2005 12:0:13 Ordine con questo biglietto ancora presente, riprova
6.9.2005 12:0:13 Ordine con questo biglietto ancora presente, riprova
6.9.2005 12:0:13 Ordine con questo biglietto ancora presente, riprova
Cinque fallimenti, non c'era nessun codice di errore. Il programma pensava che quella posizione fosse chiusa. Stavo catturando il biglietto nel ciclo, se non l'avessi fatto, il problema non sarebbe stato rilevato.
E così via.
{
int nTicket = OrderTicket();
SaveComment("tentando di chiudere una posizione lunga, biglietto: " + nTicket);
int nResult = OrderClose(OrderTicket(), OrderLots(), Bid, nSlip, Aqua);
Dormire(10000);
se(nResult == -1)
{
int nError = GetLastError();
Alert(strExpertName + ", errore: " + nError);
}
}
Ho dovuto usare una citazione per rendere il testo in grassetto.
Lo scopo di Sleep è solo quello di aspettare fino a quando la condizione che ha causato il fallimento è sparita (sai, i ping iniziano a passare). Perché - tenendo conto che le operazioni commerciali "prendono" il controllo e non lo lasciano andare finché non tornano, allora se c'è un errore, dovrebbe apparire immediatamente. Se non è così - è un bug.
L'unica eccezione possibile è il mio ciclo che controlla il biglietto di una posizione appena chiusa. Ma anche qui possiamo discutere su come il sistema dovrebbe idealmente comportarsi.
Di nuovo, il problema non è solo che gli errori vengono restituiti, ma anche che i codici di errore sono presi dal soffitto, e a volte non ci sono affatto codici - viene restituito il codice di successo dell'operazione.
Se non capisco qualcosa, per favore spiegatemi.
1. Viene inviato un SMS che informa dell'intenzione di rimuovere tale ordine.
2. Viene fatto un tentativo di cancellare l'ordine
3. Il risultato della funzione OrderDelete() viene analizzato e se è negativo (l'ordine non è stato rimosso), allora
4. Invia un SMS di conferma del fallimento.
Ieri abbiamo ricevuto 2 SMS, tutto secondo le regole ma l'ordine è stato cancellato nello stesso secondo, secondo i registri.
Quindi l'EA stava cercando di ottenere il risultato dell'operazione di cancellazione dell'ordine qualche frazione di secondo prima di aver ottenuto il risultato. È come nella barzelletta sul cinese che piantava le patate e poi le dissotterrava il giorno dopo. Alla domanda "Sta maturando così in fretta", rispondevano "No, ma morde" :)
1. Ho fatto tutto questo casino per gli ordini veri e propri. E se si comportano così, bisogna rimediare.
2) L'idea è che gli EA MT dovrebbero essere in grado di fare trading SENZA un ciclo ritardato. È così che dovrebbe essere.
Metterò un ritardo, ma, come si dice, "senza piacere" :)
Io stesso non ci credo, gli sviluppatori possono spiegare quanto mi sbaglio?
Un po' imbarazzante è il fatto che per 37 messaggi in questo thread ce n'è solo uno degli sviluppatori...
perché interferire con una discussione già produttiva
ed ecco i prodotti =)
Ho fatto alcuni test. Un Expert Advisor apre e chiude una posizione (alternativamente comprare e vendere). Pausa minima tra tutti gli scambi - 10 sec.
Tentativi di OrderSend: 996
Successful*: 888
Errori**: 108
* - Per tentativo "riuscito" intendo quanto segue: orderSend ha restituito il numero del biglietto, GetLastError ha restituito 0, posizione aperta selezionata con successo orderselect.
** - Tutti gli errori #148 "il contesto commerciale è occupato" - questo è ciò che Slava stava chiedendo nel prossimo thread - "cosa succede se disabilitiamo il controllo isTradeAllowed? Gli errori sono iniziati alle 07:16:46 e si stanno ancora accumulando)
-----------------------------------------------------------------------------------------------------------------------
OrderClose attempts: 890
Successful*: 736
Errori**: 154
* - per tentativo di chiusura "riuscito" intendo quanto segue: orderclose ha restituito true, GetLastError ha restituito 0, posizione chiusa selezionata con successo orderelect in mod_history.
** - 152 errore #1 "nessun errore", uno #6 e uno #138(requotes)
La situazione che è stata catturata non è accaduta. Cioè tutte le posizioni chiuse erano effettivamente chiuse.