Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1164
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
È necessario pensare in anticipo a come il codice viene eseguito a livello di memoria, inizializzazione e restituzione del valore.
Non c'è bisogno di pensarci su, ci sono manuali per queste cose, e non c'è mai stato un manuale per l'allocazione della memoria in MQL, solo messaggi dagli sviluppatori, e spesso con una precisazione che l'implementazione può cambiare
Ok, la discussione si riduce a chi legge quale libro di programmazione, io lo leggo dal liceo e lo leggo ancora da 30 anni.
Non c'è bisogno di pensarci su, ci sono manuali per queste cose, e non c'è mai stato un manuale per l'allocazione della memoria in MQL, solo messaggi dagli sviluppatori, e spesso con una precisazione che l'implementazione può cambiare
Ok, la discussione si riduce a chi legge quale libro di programmazione, io lo leggo dal liceo e lo leggo ancora da 30 anni
Naturalmente non devi pensarci su, perché dovresti... Il compilatore farà tutto da solo. ))
C# non è C
E guarda il video su __inline.
Lì si spiega come funzionano le funzioni nella memoria per coloro che non fanno alcuna differenza.
Disegna prima un'immagine e specifica qual è per te la 'barra zero' di un indicatore con il parametro shift.
Disegnato. La barra dello zero è evidenziata da una linea verticale.
Disegnato. La barra dello zero è evidenziata da una linea verticale.
Codice di esempio:
Risultato:
Come potete vedere, è copiabile senza alcun ritocco.
Codice di esempio:
Risultato:
Come potete vedere è copiato facilmente, senza alcun tamburello.
Codice di esempio. Sulla base di un indicatore. L'indicatore è occupato ad allocare la memoria del buffer.
Quando start_pos = 0, il valore corrispondente alla 0a barra del grafico è sulla posizione 5. 1.017041 È sulla posizione 0 nel tuo EA. Ok.
Ma ho bisogno di ottenere questo valore in posizione zero.
Ho impostato start_pos = 5. Non ottengo il risultato di cui ho bisogno. Il valore che sto cercando è di nuovo alla posizione 5.
Ho impostato start_pos = -5. Non ottengo il risultato desiderato. Ancora una volta il valore che sto cercando è alla posizione 5.
Ho impostato start_pos = -10. E solo ora ottengo il risultato desiderato.
Codice di esempio. In base all'indicatore. L'indicatore è occupato ad allocare la memoria del buffer.
Quando start_pos = 0, il valore corrispondente alla 0a barra del grafico lo vediamo sulla posizione 5. 1.017041 Nel tuo EA è sulla posizione 0. Ok.
Ma ho bisogno di ottenere questo valore in posizione zero.
Ho impostato start_pos = 5. Non ottengo il risultato desiderato. Il valore che sto cercando è di nuovo alla posizione 5.
Ho impostato start_pos = -5. Non ottengo il risultato desiderato. Ancora una volta il valore che sto cercando è alla posizione 5.
Ho impostato start_pos = -10. E solo ora ottengo il risultato desiderato.
Dobbiamo capire la differenza tra il lavoro dell'Expert Advisor e quello dell'indicatore. Per il lavoro da indicatore usate l'esempio dell'aiuto(iMA).
Devi capire la differenza tra operare da un EA e da un indicatore. Per lavorare da un indicatore, usate l'esempio della guida(iMA).
Quindi prendete un esempio dalla guida iMA, aggiungete
e verifica che il valore sia diverso dal valore di uscita del tuo EA esattamente di ma_shift di barre.
Io, invece, ho bisogno di ottenere nell'indicatore in iMABuffer[0] il valore che avete nel vostro Expert Advisor in array_ma[0].
Almeno al momento possiamo vedere che il comportamento di CopyBuffer per Expert Advisors e indicatori è diverso. Se capisci la differenza di CopyBuffer quando lavori con un EA e un indicatore, specifica la sezione appropriata della documentazione da studiare.
Cercherò di semplificare la domanda. Come faccio a portare questi valori MA (a partire dalla linea verticale rossa e verso sinistra) nel buffer dell'indicatore? Puoi scrivere un esempio?
Cercherò di semplificare la domanda. Come faccio a portare questi valori MA (a partire dalla linea verticale rossa e verso sinistra) nel buffer dell'indicatore? Puoi scrivere un esempio?
Nella schermata, il display del buffer è spostato di cinque barre a destra. Quindi - per ottenere la quinta barra del buffer dell'indicatore (indice 4), e più a sinistra nella lista, da dove dovremmo prenderli? Da Buffer[4] e più a sinistra.
In teoria. In pratica - non ho aperto il codice dell'indicatore né ci ho lavorato per molto tempo - quasi un anno... Fate una prova.
In teoria. In pratica - non ho aperto il codice dell'indicatore né ci ho lavorato per molto tempo - quasi un anno... Fate una prova.
Non si può perdere un'abilità.