![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Un altro punto . . .
RE: È importante per me sottolineare che il mio metodo di codifica è stato il più veloce che ho potuto mettere insieme per confermare i miei pensieri sulla capacità di trading e il valore del Volume I/II. Non ho abbastanza tempo nella mia vita per codificare tutto "correttamente" la prima volta. Di solito inizio i progetti per fasi. Esempio: Fase 1. Coprire tutte le basi funzionali, Fase 2. Pulire il codice, 3. Aggiungere bellezza al lato visivo esterno dell'EA. Attualmente sto ancora lavorando alla Fase 1. C'è semplicemente molto di più in questo EA di un tipico ordine di invio, ordine di chiusura EA. Molto tempo e pensieri sono stati messi alla prova. Il test sarà superato dopo l'evoluzione del volume I. Sono fiducioso del vostro riconoscimento della sua unicità.
Detto questo, sto considerando un'opzione diversa per "far rotolare la palla" per la prima funzione OrderSend(). Non sono ancora sicuro di quale direzione prenderò. Alla fine sostituirò completamente la condizione "if(OrdersHistoryTotal()==0){" con una condizione affidabile. Hai fatto un punto importante per riflettere su questo. Apprezzo il tuo incoraggiamento.
Grazie.
Cos'è la variabile , cioè come può essere un numero di ticket quando gli fai questo?
Ho 4 trade live al momento, i loro numeri di ticket non sono sequenziali.
Simon,
Un altro punto . . .
RE: È importante per me sottolineare che il mio metodo di codifica è stato il più veloce che ho potuto mettere insieme tutto per confermare i miei pensieri sulla capacità di trading e il valore del Volume I/II. Non ho abbastanza tempo nella mia vita per codificare tutto "correttamente" la prima volta.
Simon,
Devi, almeno,..
RE: Non mi preoccupo di quanto tempo ci vorrà per raggiungere un obiettivo, semplicemente continuo ad andare avanti fino a quando il progetto è completo. La mia scelta sarebbe quella di non avere GB di errori :) Preferirei ascoltare le critiche costruttive dei miei colleghi codificatori e rispondere e ricambiare le soluzioni per i problemi di codifica presentati. Queste soluzioni potrebbero potenzialmente produrre meno errori per il Volume I/II.
Grazie.
Simon,
Devi, almeno,..
RE: Non mi preoccupo di quanto tempo ci vorrà per raggiungere un obiettivo, semplicemente continuo ad andare avanti fino a quando il progetto è completo. La mia scelta sarebbe quella di non avere GB di errori :) Preferirei ascoltare le critiche costruttive dei miei colleghi codificatori e rispondere e ricambiare le soluzioni per i problemi di codifica presentati. Queste soluzioni potrebbero potenzialmente produrre meno errori per il Volume I/II.
grazie.
Quello che RaptorUK ha dato lì, era ed è ancora una critica costruttiva e soluzioni reciproche ai tuoi codici
Simon, userò una variabile booleana per risolvere questo problema. Questa condizione booleana è una soluzione comune che risolverà questo problema fino a quando non raggiungerò la fase 2. Posso quindi dare al segnale di invio del primo ordine una condizione unica che rifletta il mio stile di codifica. Grazie per il vostro contributo.
Simon, userò una variabile booleana per risolvere questo problema. Questa condizione booleana è una soluzione comune che risolverà questo problema fino a quando non raggiungerò la fase 2. Posso quindi dare al segnale di invio del primo ordine una condizione unica che rifletta il mio stile di codifica. Grazie per il vostro contributo.
Simon, io credo di capire, cos'è che tu credi che io non capisca?
Finora abbiamo discusso due cose importanti:
1. fissare i blocchi di codice di emergenza sl.
2. rimuovere la condizione attuale, "if (OrdersHistoryTotal()==0{" e sostituire la condizione con una condizione diversa (la mia soluzione attuale è di sostituire la condizione attuale con una condizione booleana per iniziare gli ordini).
Questa idea di salvare le variabili è una soluzione comune per la disconnessione del server ed è stata suggerita da ubzen. Gli do credito per questa idea.
Grazie.
Simon, credo di aver capito, cos'è che credi che non abbia capito?
La prima riga della tua funzione start() è questa. . .
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
. . . quale numero di biglietto sta selezionando? Beh, il biglietto è stato dichiarato senza un'impostazione variabile iniziale, quindi sarà 0, quindi stai cercando di selezionare immediatamente il biglietto 0, questo genererà un errore, se hai controllato il valore di ritorno da questo OrderSend() lo vedresti, sarebbe probabilmente l'errore 4108 ERR_INVALID_TICKET . . . se avete capito come usare OrderSend() correttamente perché fareste questo?
Se tu avessi capito OrderHistoryTotal() non l'avresti usata nel modo in cui l'hai usata e non avresti detto che sta . . . " cercando la storia commerciale della sola variabile ticket unica,"
Se tu avessi capito come funzionano le parentesi { } non avresti aggiunto parentesi non necessarie . . . non aggiungono nulla, non rendono il tuo codice più ordinato o più facile da leggere.
può essere sostituito con . . .
L'utilizzo della variabile i come numero di ticket dimostra che non hai capito come funzionano i numeri di ticket al di fuori dello Strategy Tester, cioè in un conto Demo o Live . . .
Non controlli se le tue funzioni commerciali hanno funzionato o fallito, nel tuo codice questo è critico perché usi le seguenti . . .
. . . se la funzione OrderSend() fallisceticket will = -1 allora più avanti nel tuo codice quando cercherai di usare questa variabile per selezionare e ordinare per numero di ticket -1 ovviamente fallirà . . .