Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 553
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
Invece di Close[2] metti il valore dell'indicatore sulla seconda barra (per esempio iRSI(.......,2) ) e invece di Close[1] metti il valore dell'indicatore sulla prima barra. E uroven è il valore del livello.
E il resto vi è già stato detto sopra.
Prerequisito:
ProfitSellDBL è calcolato qui
Profit_Upgr = 0.01
Tral_Start__Upgr è equiparato a una variabile esterna di tipo int ed è uguale a 5.
Tral_Size__Upgr è similmente uguale a 4
TV - valore di tick, =10
SommaLotSellDBL = 0,04
Leggere. Ho visto come funzionerebbe se Tral_Start__Upgr, Tral_Size__Upgr e le loro variabili esterne fossero definite come doppie. Cioè quando tutto è dello stesso tipo senza alcuna conversione e perdita di dati. Il risultato è lo stesso. Cosa ho sbagliato?
Un cieco che parla con un sordo. Se volete che qualcuno lo testi, avete bisogno del minimo codice possibile che possa essere compilato su un'altra macchina e testato. Nessun codice - niente di cui parlare.
Aggiunto: Utilizzare il debug:
-Preconfigurazione
-Punti diarresto
-Avviare ildebug
-Espressioniosservabili
-Chiama la pila
-debuggingpasso dopo passo
-Arrestare, riprendere e terminare il debug
-debug dellastoria
Forum sul trading, sistemi di trading automatico e test di strategie di trading
Bug, bug, domande
comp, 2016.04.03 18:21
Errore di runtime
In quattro ha funzionato bene! In cinque è una rottura. È un'altra limitazione architettonica rispetto al quad? Dammi un link a una discussione su questo, non sono riuscito a trovarlo da solo.
Ho capito bene, che qualcosa può essere assegnato ai buffer degli indicatori solo dopo la prima chiamata del terminale (non manualmente) OnCalculate?
Si può accedere ai buffer degli indicatori dopo che OnCalculate() è stato chiamato. Allo stesso tempo, il buffer dell'indicatore stesso dovrebbe essere dichiarato nell'area delle variabili globali:
Penso di aver trovato quello che stavo cercando, ma l'antichità del codice dà un errore
Aiutami a sistemarlo ...... se non è troppo disturbo.
e se potete aiutarmi a girarlo sul lato destro dello schermo sarebbe fantastico.
Si può accedere ai buffer degli indicatori dopo che OnCalculate() è stato chiamato.
A quanto pare, si sbaglia. Si può applicare solo quando il terminale chiama OnCalculate. In questo caso, la condizione in MT4 è più flessibile, perché è sufficiente chiamare OnCalculate solo una volta. E in MT5, dovete aspettare la chiamata di OnCalculate dal terminale stesso ogni volta dopo il SetIndexBuffer. Prova
In MT4 questo indicatore funziona senza problemi, in MT5 si blocca con un errore. Come si è scoperto, in MT4 basta aspettare la prima chiamata di OnCalculate da parte del terminale e fare quello che si vuole con i buffer, compresa la loro ridefinizione usando SetIndexBuffer. Ma in MT5 dopo OGNI SetIndexBuffer è necessario attendere la prima chiamata di OnCalculate da parte del terminale.
Questa peculiarità non è documentata da nessuna parte. E non sembra corrispondere alla definizione di "principiante".
Possiamo aspettarci che in MT5 questo comportamento sia lo stesso di MT4? Cioè dopo la prima chiamata di OnCalculate da parte del terminale stesso sarebbe possibile chiamare SetIndexBuffer senza problemi?
A quanto pare, si sbaglia. Potete chiamarlo solo quando OnCalculate è chiamato dal terminale stesso. In questo caso, in MT4 la condizione è più flessibile, perché è necessario chiamare OnCalculate solo una volta. Ma in MT5, dovete aspettare la chiamata di OnCalculate dal terminale stesso ogni volta dopo il SetIndexBuffer. Prova
In MT4 questo indicatore funziona senza problemi, in MT5 si blocca con un errore. Come si è scoperto, in MT4 devi solo aspettare la prima chiamata di OnCalculate da parte del terminale e poi fare quello che vuoi con i buffer, compresa la loro ridefinizione usando SetIndexBuffer. Ma in MT5 dopo OGNI SetIndexBuffer è necessario attendere la prima chiamata di OnCalculate da parte del terminale.
Questa caratteristica non è documentata da nessuna parte. E non sembra corrispondere alla definizione di "principiante".
Possiamo aspettarci che in MT5 questo comportamento sia lo stesso di MT4? Cioè dopo la prima chiamata di OnCalculate da parte del terminale stesso sarà possibile chiamare SetIndexBuffer senza problemi?