Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1409
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
Domanda su mql4, più precisamente sulla funzione ArraySort()
Ecco il mio codice
Quando LoY[0][0] ha ottenuto il valore Bid( 1.6134) dopo che l'ordine è stato aperto, la funzione ArraySort(LoY,WHOLE_ARRAY,0,MODE_ASCEND) ha ordinato l'array in ordine crescente per la prima dimensione e ha spostato l'elemento dell'array con il valore più grande in cima all'array. Così, LoY[0][0] insieme al suo valore diventa LoY[30][0] nell'array ordinato in ordine crescente. Questo è logico e quindi sono d'accordo.
Cosa secondo me non è logico o accettabile per me? Perché ArraySort() LoY[15][0] ha messo 0 sotto l'indice, nonostante il fatto che il suo valore (1,61040) sia uguale ai valori di tutti gli altri elementi dell'array tranne il trentesimo. Lo stesso non è chiaro, perché ArraySort()LoY[30][0] ha messo l'indice 15, nonostante il fatto che il suo valore (1,61040) sia uguale ai valori di tutti gli altri elementi dell'array tranne il trentesimo.
UNA DOMANDA: come fare in modo che un elemento con indice 0 sia LoY[1][0] in questo tick , un elemento con indice 15 siaLoY[15][0] e un elemento con indice 29 sia LoY[30][0]
. In altre parole, come fare una funzione per non ordinare ulteriormente gli elementi con lo stesso valore? Non è logico e insensato.
Grazie per il vostro aiuto.
Questo è probabilmente l'algoritmo di ordinamento. Ci sono alcune permutazioni degli elementi dell'array.
Prova altre opzioni di ordinamento.
Questo è probabilmente l'algoritmo di ordinamento. Ci sono alcune permutazioni degli elementi della matrice.
Prova altre opzioni di ordinamento.
Grazie mille per il consiglio. Potresti dirmi se ci sono altre opzioni di ordinamento in mql4? Se sì, dove si possono trovare nell'elenco?
provalo:
anche se la funzione è per un array unidimensionale, ma può essere rielaborata
provalo:
È vero che la funzione è per un array monodimensionale, ma può essere rielaborata.
Grazie mille.
Un consiglio, per favore,
Il codice cerca i grafici aperti e crea un'etichetta con il nome del simbolo, ma se due grafici hanno lo stesso simbolo,
allora crea un'etichetta solo su un grafico, cosa sto facendo di sbagliato?
Un consiglio, per favore,
Il codice cerca i grafici aperti e crea un'etichetta con il nome del simbolo, ma se due grafici hanno lo stesso simbolo,
crea l'etichetta solo su un grafico, cosa sto facendo di sbagliato?
Gli ID dei grafici (ChartID()) dello stesso simbolo sono diversi. Usateli.
Gli identificatori ChartID() dello stesso simbolo sono diversi. Usateli.
ChartFirst()+i
cioè passando attraverso tutti i grafici aperti
O ho capito male? C'è un modo per renderlo chiaro, sotto forma di codice?
Molto strano, su tutti i nuovi grafici aperti mette un segno, solo un grafico viene ignorato (
Leggete attentamente la documentazione e il codice di esempio. Il vostro ciclo non è organizzato correttamente.
Non ditemi che i cicli for e while funzionano allo stesso modo. Non è questo il problema, sono le linee evidenziate.