Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 548

 
evillive:

Anche le
cifre dovrebbero essere preferibilmente "tirate" fuori dal simbolo corrispondente ;)
E non è tutto. Per normalizzare il prezzo di un altro strumento, dovreste prendere anche le cifre da un altro strumento, e anche per l'output nei commenti non dovreste normalizzare un numero reale, ma fare DoubleToString();
 
evillive:

Anche le
cifre dovrebbero essere preferibilmente "tirate" dal simbolo appropriato ;)

Grazie, funziona.
 
artmedia70:
E non è tutto. Per normalizzare il prezzo di un altro simbolo, dovresti prendere anche le cifre di un altro simbolo. Inoltre, non dovrei normalizzare il numero reale ma usare DoubleToString();

per emetterlo in commenti.

Non mi importa dei commenti, la cosa più importante per me è aprire gli ordini, ma il terminale genera ancora un errore, anche con DoubleTtoStr(), scrive prezzi sbagliati.

 
Example2:

Non mi importa dei commenti, la cosa più importante è che gli ordini si aprano, ma il terminale genera ancora un errore, anche con DoubleTtoStr(), scrive i prezzi sbagliati.

Le osservazioni fatte sono corrette, la normalizzazione a volte non riesce ma non è buona. Si dovrebbe scrivere agli sviluppatori di MetaTrader 4 Client Terminal build 610 per il controllo. Ma sono riuscito a riprodurre la normalizzazione errata solo due volte

DoubleTtoStr() taglierà ma il numero stesso non cambierà a causa di questo, può causare un errore quando si confrontano le variabili, si fanno ordini, ecc. Non posso dire ora quanto sia importante quando si imposta un ordine 1 nel 16° bit, ma confrontare i numeri è sicuramente scorretto.

 
GSB:

Le osservazioni che hai fatto sono corrette, ma il fatto che la normalizzazione a volte fallisca non è buono. Si dovrebbe scrivere a MetaTrader 4 Client Terminal build 610 agli sviluppatori per la verifica. Ma sono riuscito a riprodurre la normalizzazione errata solo per due volte

DoubleTtoStr() taglierà ma il numero stesso non cambierà a causa di questo, può causare un errore quando si confrontano le variabili, si fanno ordini, ecc. Non posso dire ora quanto sia importante quando si imposta un ordine 1 nel 16° bit, ma confrontare i numeri è sicuramente scorretto.

L'Expert Advisor apre gli ordini solo una volta, quindi deve essere scritto per ogni coppia separatamente?
 
Example2:
L'Expert Advisor apre gli ordini ogni tanto, quindi deve essere scritto per ogni coppia separatamente?
No, non lo fa. È improbabile che gli ordini si aprano "a intermittenza" per questo motivo, guardate il log e prima di piazzare un ordine, assicuratevi di ResetLastError(); e poi if(GetLastError()>1) Print(GetLastError( )); e assicuratevi di correggere l'errore con Digits
 
GSB:
No, non è vero. È improbabile che gli ordini si aprano "a intermittenza" per questo motivo, vedi il log e prima di piazzare un ordine, assicurati di ResetLastError(); e poi if(GetLastError()>1) Print(GetLastError( )); E assicurati di correggere l'errore Digits

.

GetLastError() dice "prezzi sbagliati". Ho già preso le cifre separatamente per ogni coppia di valute.
 
Example2:

GetLastError() dice "prezzi sbagliati". Cifre che ho già preso separatamente per ogni coppia di valute.

Avete preso in considerazione lo Stop-Level? Controlla cos'è con lo script
 
GSB:

È stato preso in considerazione il livello di stop? A cosa equivale, controlla con lo script


Ho ordini di mercato.

 

129 errore si verifica quando il prezzo ha il tempo di cambiare prima che il DC esegua il tuo ordine, usa uno slippage più grande.