Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 549
![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
La seguente costruzione abbreviata nel codice è corretta: a < b && ( c > d1 || c >d2 || c > d3) ?
Questo per evitare di scrivere: (a < b && c > d1) || (a < b && c > d2) ecc. molte volte.
La seguente costruzione abbreviata nel codice è corretta: a < b && ( c > d1 || c >d2 || c > d3) ?
Questo per evitare di scrivere: (a < b && c > d1) || (a < b && c > d2) e così via molte volte.
Certo che lo farà. L'unica cosa che farei quando scrivo costruzioni così grandi è specificare esplicitamente le parentesi di priorità:
Per i compilatori MT4/5, possiamo farlo senza le parentesi specificate, perché le priorità esistenti non ci permetteranno di calcolare il risultato dell'espressione in modo diverso. Ma queste parentesi hanno due vantaggi:
Grazie, se
restituito il falce, non c'è nessun simbolo in Market Watch, come faccio ad aggiungerlo lì?
Grazie, se
restituito il falce, non c'è nessun simbolo in Market Watch, come faccio ad aggiungerlo lì?
SymbolSelect()
Tutto è nella guida. Cursore sul nome della funzione e F1
SymbolSelect()
Sta tutto nell'aiuto. Cursore sul nome della funzione e F1
Grazie.
Qual è la ragione di questo? Ho scritto uno script che imposta gli ordini limite in MT5. Quando lo invio al grafico nel terminale gli ordini non vengono impostati, anche se il result.retcode restituisce 10009(ordine eseguito)
Qual è la ragione di questo? Ho scritto uno script che imposta gli ordini limite in MT5. Quando lo invio al grafico nel terminale gli ordini non vengono impostati, anche se il result.retcode restituisce 10009 (ordine eseguito)
}
il log dice: 2018.05.14 10:12:38.187 Trades '992940': sell limit 3.00 Si-6.18 at 62066 (62065) sl: 62331 tp: 61267 placed for execution
Il log dice: 2018.05.14 10:12:38.187 Trades '992940': sell limit 3.00 Si-6.18 at 62066 (62065) sl: 62331 tp: 61267 placed for execution
Questo è scritto nel registro generale. E cosa c'è nel registro "Esperti"? E non solo una riga, ma l'intero registro. Non c'è molto da vedere attraverso il buco della serratura.
Inoltre, non c'è alcun controllo dei codici di ritorno nel codice citato. Quindi non è chiaro su quale base viene fatta la conclusione sul codice di errore.
Per consigliare qualcosa, bisogna avere dei passi chiaramente riproducibili (per vedere quello che si vede), e qui non ce ne sono. Tagliate la parte problematica del codice, eseguitelo voi stessi e poi mostrate esattamente cosa sta fallendo.
P. S. Per inserire il codice, usa l'icona "</>" o Alt+S.
Alla fine del codice ancheAlert(result.retcode);
nel registro generale:
2018.05.14 12:08:16.984 Scripts script LIMIT (Si-6.18,M15) caricato con successo
2018.05.14 12:08:17.187 Trades '992940': buy limit 3.00 Si-6.18 at 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.484 Trades '992940': accettato acquisto limite 3.00 Si-6.18 a 62091 (62092) sl: 61821 tp: 62905
2018.05.14 12:08:17.500 Trades '992940': buy limit 3.00 Si-6.18 at 62091 (62092) sl: 61821 tp: 62905 placed for execution
2018.05.14 12:08:17.546 Trades '992940': order #13235300 buy limit 3.00 / 3.00 Si-6.18 at 62091 done in 337.532 ms
2018.05.14 12:08:17.578 Scripts script LIMIT (Si-6.18,M15) rimosso
Nella colonna degli esperti: 2018.05.14 12:08:17.578 LIMIT (Si-6.18,M15) Alert: 10009, niente altro