È possibile evitare molti "o" (||) nelle condizioni che causano la stessa azione? - pagina 4
![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
borilunad:
I calcoli più complessi non rallentano tanto quanto le funzioni che controllano i vari dati di mercato necessari e le posizioni aperte ad ogni tick.
Santa verità, MarketInfo è uno dei peggiori problemi di test. Di solito scrivo in due blocchi per questi casi, se possibile, facendo query "reali" solo per la modalità di trading reale. Questo è particolarmente efficace per i dati non misurati (nel tester), per esempio:
Potete anche inviare nel blocco if(!IsTesting()) ogni sorta di RefreshRates(), query a MODE_BID e MODE_ASK (sostituendoli con Bid e Ask veloci) e così via.
Santa verità, MarketInfo è uno dei peggiori problemi di test. Di solito scrivo in due blocchi per questi casi, se possibile, facendo query "reali" solo per la modalità di trading reale. Questo è particolarmente efficace per i dati non misurati (nel tester), per esempio:
Potete anche inviare nel blocco if(!IsTesting()) ogni sorta di RefreshRates(), query a MODE_BID e MODE_ASK (sostituendoli con Bid e Ask veloci) e così via.
Grazie mille, Pako! Come ho fatto a non indovinare, è così facile! Ora ceno e faccio quello che posso e controllo la velocità del passaggio.
E questo non capisco cosa intendi. Da dove avete preso questi numeri? E se ti interessano i nomi brevi delle variabili, preferisco quelli brevi a quelli lunghi. O cos'altro? Sì, ho appena notato che hai aggiunto due parentesi prima di clo e alla fine dopo clo alla mia formula. Non è affatto necessario, disturba il calcolo. Ma grazie lo stesso!
<--- 10.444 = 8.087 > 3.908 è in che lingua?
Fatto, controllato, ha funzionato, ma il risultato non mi ha ancora soddisfatto, praticamente non ha ridotto il tempo della corsa! Domani cercherò di fare tutto il possibile, forse allora ci sarà qualche differenza.
Ma comunque la cosa principale è che grazie a te, Pako, Aleksey, Victor e altri ho imparato un altro importante metodo di scrittura del codice, di cui sono estremamente grato!
In questi casi uso una funzione.
Per esempio:
Io uso sempre Bid e Ask.
Allora avete bisogno di RefreshRates())
In questi casi uso una funzione.
Per esempio:
Allora avete bisogno di RefreshRates())
Sì, ho RefreshRates() all'inizio, o non è abbastanza?
Sì, ho RefreshRates() all'inizio di Start, o non è abbastanza?
Tutto dipende da quanto tempo impiegano i calcoli. Ci può essere una situazione in cui il prezzo si è aggiornato durante questo periodo, e quindi Ask e Bid diventano irrilevanti. Ecco perché è meglio chiamare RefreshRates() in aggiunta prima di eseguire le compravendite (o meglio, prima di calcolare i prezzi per esse).
Quindi avete bisogno di RefreshRates() prima di ogni serie di condizioni? Perché pensavo che ci fosse anche RefreshRates() in ogni funzione in esecuzione, dove controlla gli errori, per ripetere l'ordine, e questo è sufficiente. Allora proverò a mettere più RefreshRates() e vedere cosa succede! Grazie!
E Pap'e Yozh anche i miei ringraziamenti!