Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 758
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
Ottenere errori - cosa c'è di sbagliato? In MQL4 funziona...
Avete visto la guidaiMA?
Primo passo: dichiarare una variabile nella "testata" per memorizzare il manico dell'indicatore iMA:
Secondo passo: creare l'handle dell'indicatore in OnInit().
E il risultato (il mirino nello screenshot è impostato sulla barra #1):
Se provo a usare il doppio MA[1] nel ciclo, dovrei usare il doppio MA[1]; o è meglio richiedere/ricevere la dimensione dell'array più grande? Solo non capisco perché tutte queste complicazioni sono necessarie - qual è il vantaggio rispetto a MQL4.
Il mio esempio con la funzione iMAGetè un esempio pensato per ricevere un valore alla volta da un indicatore. Se volete ottenere più valori dall'indicatore, dovreste usareCopyBuffer con i parametri "from" e "to" e salvare il risultato in un array.
Aggiunto: ci sarà un esempio più tardi...
Esempio promesso.
Parametri di ingresso:
Lavorare con l'array e l'indicatore Moving Avegarege nell'Expert Advisor:
Fate attenzione all'array arr_ma e ai valori degli elementi con indice #0 e con indice #8.
ds
Il mio esempio con la funzione iMAGetè un esempio pensato per ricevere un valore alla volta dall'indicatore. Se volete ottenere diversi valori dall'indicatore, dovreste usareCopyBuffer con i parametri "from" e "to" e salvare il risultato in un array.
Aggiunto: ci sarà un esempio più tardi...
Esempio promesso.
Parametri di ingresso:
Lavorare con l'array e l'indicatore Moving Avegarege nell'Expert Advisor:
Fate attenzione all'array arr_ma e ai valori degli elementi con indice #0 e con indice #8.
ds
Grazie per l'esempio!
È molto importante per me capire se c'è qualche vantaggio nel richiedere un singolo valore di indicatore e copiare una dozzina di valori di indicatori - forse c'è stata qualche ricerca su questo?
Il fatto che la serie temporale sia invertita - non va bene - sono abituato alla numerazione standard delle barre 0123, ma qui ottengo 1230 in ordine inverso.
Se non so di quante barre ho bisogno durante la ricerca (per esempio, quando stiamo cercando la MA e il punto di incrocio delle barre), allora dovrei richiedere il numero massimo possibile? Influisce in qualche modo sulle prestazioni?
Grazie per l'esempio!
È molto importante per me capire se c'è un vantaggio nel chiedere un singolo valore di indicatore e copiare una dozzina di valori di indicatore - forse ci sono stati degli studi su questo?
...
Chi ci impedisce di fare noi stessi la ricerca :) ?
Il fatto che la serie temporale sia invertita - non va bene - sono abituato alla numerazione standard delle barre 0123, e qui abbiamo 1230 in ordine inverso.
...
Se non so di che numero di barre avrò bisogno nella ricerca (per esempio, quando cerco una MA e un punto di incrocio di barre), devo richiedere il numero massimo possibile? Influisce in qualche modo sulle prestazioni?
In questi casi, è meglio fare diverse ricerche. Per esempio, prima query - 50 elementi, se necessario - seconda query (ancora 50 elementi) ...
Chi ci impedisce di fare noi stessi la ricerca :) ?
Sono ostacolato dal mio analfabetismo in MQL5 - posso ingannare tutti a causa di un errore nel codice, ma la tua professionalità ispirerebbe più fiducia in tali studi!
Tutto ciò di cui avete bisogno è di eseguireArraySetAsSeries('our array',true) dopo aver ottenuto l'array (dopo aver chiamato iMAGetArray).Voglio dire, farlo in una funzione in una volta sola?
In questi casi, è meglio fare diverse ricerche. Per esempio, la prima richiesta - 50 elementi, e, se necessario, la seconda richiesta (ancora 50 elementi) ......
Cioè farlo in una funzione in una volta sola?
...
È meglio capovolgere la matrice:
Vladimir Karputov:
Dopo aver ricevuto l'array (dopo aver chiamato iMAGetArray), dovrete eseguireArraySetAsSeries('our array',true).
...
Brr... Cioè, mettere un ciclo nel ciclo? Perché 50 e non 100? Tuttavia, gli studi su questo argomento sono necessari, forse non ha senso ottenere informazioni su più di un bar...Nessun loop annidato - ci sarà solo un loop intorno a tutti i valori: tutta l'elaborazione è sequenziale - risultato della ricerca in una funzione separata (in essa, richiediamo un certo valore - per esempio, 50 valori). Se non troviamo il risultato, facciamo una nuova richiesta.
Lavorare con gli indicatori in MQL5 dopo MQL4 è terribile! Mi fa davvero star male.
Non capisco perché non possano combinare tutto in una sola funzione, compreso l'handle, invece di spargere la chiamata dell'indicatore in tutto il codice!
E se le impostazioni di un indicatore saranno cambiate dalla funzione in cui si trova l'indicatore, non capisco cosa fare? Devo avviare tutte le varianti dell'indicatore?
Ho visto un esempio in MQL4 - come farlo in MQL5?
Potete dirmi come rimuovere i marcatori dopo aver chiuso una posizione in modo che non vengano visualizzati?
È possibile rimuoverli programmaticamente?
Grazie!