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
sto scrivendo un algoritmo di semplice prezzo costruzioni trasferimento a mcl5 da mcl4, per esempio copiando mcl4 codice a mcl5 stocastico masd e rsi, utilizza metodi di base di accesso ai dati mcl4.
Presto avremo quello che ci serve.
ora sto lottando con la funzione iMaOnArRAu poiché mt5 non la fornisce per ottenere i metodi più semplici delle medie mobili dagli array di utenti.
amplierò le librerie a tutti gli strumenti tecnici, conosco quasi tutti gli algoritmi
Sono così stupido... Non riesco a capire come scrivere...
C'è questo codice:
Voglio ottenere l'indice della barra con il minimo più basso tra le barre da i-esimo a j-esimo.
Sto cercando di usare la funzione ArrayMinimum.
int k=ArrayMinimum(rates.low,i,j-i+1); - sbagliato
int k=ArrayMinimum(rates[].low,i,j-i+1); - sbagliato
Qual è il modo corretto?
Sono così stupido... Non riesco a capire come scrivere...
C'è questo codice:
Voglio ottenere l'indice della barra con il minimo più basso tra le barre da i-esimo a j-esimo.
Sto cercando di usare la funzione ArrayMinimum.
int k=ArrayMinimum(rates.low,i,j-i+1); - sbagliato
int k=ArrayMinimum(rates[].low,i,j-i+1); - sbagliato
Qual è il modo corretto?
Usate funzioni di accesso diretto, MqlRates è un array di "strutture", e avete bisogno di un array Low, ecco un esempio, anche per High.
Date un'occhiata agli esempi di codici. Questo è da https://www.mql5.com/ru/code/102
Usate le funzioni di accesso diretto, MqlRates è un array di "strutture" e avete bisogno di un array di Low, ecco un esempio, immediatamente e per High.
È comprensibile. Nel mio caso, ho appena scritto:
Non voglio un mucchio di array. Non è parsimonioso di risorse e non è molto bello...
Volevo solo capire esattamente conArrayMinimum - è possibile utilizzare questa funzione con un array di strutture....
È comprensibile. Nel mio caso, ho appena scritto:
Non voglio un mucchio di array... Non è un risparmio di risorse e non è molto bello...
Volevo solo trattare con ArrayMinimum - è possibile usare questa funzione con un array di strutture....
Se pensate che memorizzare un mucchio di informazioni in un array di strutture sia più economico di un array di doppi, sto solo alzando le mani.
o pensate che memorizzare ints, longs e date sia più economico in termini di memoria?)
o raccogliere quello che ti serve da un mucchio di spazzatura è più economico, ha ha ...
Se pensate che memorizzare un mucchio di informazioni in un array di strutture sia più economico di un array di doppi, allora mi arrendo
o pensate che memorizzare ints, low e date sia più economico in termini di memoria? ;))
o raccogliere quello che ti serve da un mucchio di spazzatura è più economico, ha ha ...
Di solito, prima di chiedere qualcosa, vado a cercare una risposta in varie fonti.
Ma ora, dopo una settimana di ricerche, mi sono reso conto che non ho una risposta e credo che nessuno l'abbia ancora trovata. Perciò propongo un enigma.
Dati iniziali:
1) Ho un indicatore semplice come Levels and Arrows iS7N_SacuL_v3.mq5 (allegato)
2) un Expert Advisor che cerca di ricevere dati da questo indicatore aS7N_TIC.mq5 (allegato)
Quindi!
Su cinque buffer di indicatori, solo due dati vengono restituiti correttamente.
Seguirà una spiegazione dettagliata!!!
Avendo esaminato attentamente la situazione, ho trovato che entrambi i buffer a 3 e 4 indicatori non danno sempre i dati corretti (anche se è impossibile dire quali sono corretti e quali no)
Guarda il grafico. Nella finestra Dati a sinistra ci sono i valori dell'indicatore nel grafico e sotto ci sono i valori ottenuti dall'Expert Advisor. La maggior parte dei valori sono gli stessi, ma ce ne sono altri...
A questo proposito, ho suggerito di utilizzare diversi dati storici nel grafico e nel tester.
Cosa ne pensate?
Finalmente, il problema principale! Non è possibile ottenere i dati dei buffer di 1,2 e 5 indicatori nel modo usuale.
Il problema è che i dati calcolati in precedenza delle barre precedenti sono presi in considerazione quando si calcolano i dati per queste matrici.
Naturalmente, quando chiamate l'indicatore, potete forzarlo a ricalcolare N barre prossime, indipendentemente dal valore di prev_calculated .
Suppongo che la chiamata e il calcolo dei valori dell'indicatore siano eseguiti con il valore diprev_calculated non uguale a 0
Per la maggior parte degli indicatori questo è vero, perché risparmia risorse, ma per l'esempio dato non funzionerà.
Cosa fare? Quali sono i vostri pensieri?
In alternativa, puoi spostare tutti i calcoli nell'Expert Advisor! Questa opzione funziona, ma non è la stessa... Mi piacerebbe non indossare i pantaloni sopra la testa.
nell'Expert Advisor viene utilizzato
dalla barra 0, i valori dei buffer degli indicatori per esso vengono cambiati ad ogni tick fino alla chiusura della candela.