Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 223
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
Per un caso particolare in cui un campo numerico viene utilizzato per l'ordinamento (la situazione più comune), ho scritto una variante che è di diversi ordini di grandezza più veloce della precedente. Ma consuma il doppio della memoria. È importante per gli array di grandi dimensioni.
Applicazione (con misurazione del tempo di esecuzione).
Risultato.
Cosa ne pensate di questa opzione?
Che ne dite di questo?
Non posso testarlo.
Non controllare.
Libreria QuickSort qui
La libreria QuickSort è qui
Grazie, è un'ottima opzione! Sembra che anch'io abbia QuickSort, ma per qualche motivo è estremamente lento.
La vostra opzione potrebbe essere inserita in qualche modo nelle macro per renderla più veloce da usare...
Grazie, è un'ottima opzione! Sembra che anch'io abbia QuickSort, ma per qualche motivo i freni sono impazziti.
La tua opzione potrebbe essere racchiusa in macro per renderne più veloce l'utilizzo....
Non vedo perché siano necessarie delle macro. È molto semplice così com'è.
come formattare correttamente qualcosa che assomiglia a questo in C:
int sort(void *arr,size_t isize,size_t size, int (*cmp)(void *item1,void *item2)); /// типовой прототип sort с функцией сравнения
???
cercando di ordinare i modelli:
template <typename T>
int sort(T &arr[],int (*cmp)(const T &,const T&))
{ {
}
non funziona: non è possibile inserire un puntatore a una funzione nell'argomento. Deve esserci un typedef separato
ma il typedef non può (o può??) essere un template.
I macroms crescono per ovviare a questi problemi :-)
come formattare correttamente qualcosa di simile in C:
int sort(void *arr,size_t isize,size_t size, int (*cmp)(void *item1,void *item2)); /// типовой прототип sort с функцией сравнения
???
Stiamo cercando di utilizzare dei modelli:
non è possibile inserire un puntatore a una funzione nell'argomento. Deve esserci un typedef separato
ma il typedef non può (o può??) essere un template....
I macrom crescono per risolvere questi problemi :-)
Ho scoperto una caratteristica non ovvia di MQL (e di C++).
Cioè, il valore predefinito viene sostituito nel parametro (p) al momento della chiamata del metodo (p.f1()) e questo valore viene preso dalla descrizione del metodo nella classe C1 - il tipo dichiarato della variabile ptr, non il tipo reale dell'oggetto obj.
(Il che, in generale, è logico).
Forum sul trading, sui sistemi di trading automatizzati e sul test delle strategie di trading
Errori, bug, domande
Andrey Dik, 2022.06.24 08:38
MQL_VISUAL_MODE è un caso speciale di MQL_TESTER?
MQL_OPTIMIZATION è un caso speciale di MQL_TESTER?
Cioè, MQL_TESTER include sia MQL_VISUAL_MODE che MQL_OPTIMIZATION?
Ho bisogno che l'EA esegua alcune azioni quando lavora su un grafico e in modalità visuale, ma non in tutti gli altri casi. Non riesco a capire come selezionare i flag giusti per questo caso quando controllo MQLInfoInteger()?
Potrei farlo molto semplicemente, ad esempio, in questo modo:
if (MQLInfoInteger(MQL_VISUAL_MODE) || MQLInfoInteger(MQL_CHART_MODE))
{
//выполняем некоторые действия
}
ma il flag MQL_CHART_MODE non è previsto in mql5.
Qualcuno ha qualche idea?
Qualcuno ha qualche idea?
if (ChartID()!=0) {
// Graphical chart presents
// draws on it
}