
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
Non funzionerà comunque in un ciclo, poiché tutti gli indicatori hanno lo stesso thread, con o senza timer. O non capisco la tua idea.
Per scaricare e controllare la storia, simile a MT5: https://www.mql5.com/ru/docs/series/timeseries_access
Ripeto la domanda, sapete come ottenere questa data per mezzo del vecchio mql4?
... Trasferibilità dei programmi da MT4 a MT5 e viceversa.
Da 4 a 5 - comprensibile. Il contrario - non così tanto.
Diciamo che c'è un indicatore1. Chiama l'indicatore2. L'indicatore2 manca di alcuni dati su alcuni simboli/TF. Invia questi dati all'indicatore1 e ha scaricato i dati richiesti nel timer. Dopo aver ricevuto la conferma che tutti i dati richiesti sono stati scaricati, proviamo di nuovo a scaricare i dati dall'indicatore2 e non appena tutti i dati richiesti sono disponibili, calcoliamo l'indicatore1.
La memoria è allocata 5 volte. Sotto lo spazio degli indirizzi di comando per la stessa cosa.
Cosa stai piangendo sul rilascio aggressivo della memoria dello spazio degli indirizzi dei dati? Almeno le estensioni sono presenti lì.
Aspettando l'arbitrato per un tempo molto lungo. Terza settimana (mi hanno chiesto di aspettare la seconda settimana, ok).
Lo so. Tempo[Bars-1].
Vi sbagliate. Ho già scritto qui sotto che la costruzione che hai dato darà la prima data non sul server, ma sul grafico.
Forum sul trading, sistemi di trading automatico e test di strategia
Service Desk. Reclami, suggerimenti.
Alexey Kozitsyn, 2015.10.30 16:42
Usando iTime( _Symbol, period, Bars( _Symbol, period )-1 ) possiamo ottenere il tempo della prima candela disponibile sul grafico.
Ma per ottenere il tempo della prima candela sul server non ho deciso quale costruzione usare.
Tutto viene fatto semplicemente usando SeriesInfoInteger: SeriesInfoInteger( _Symbol, period,SERIES_SERVER_FIRSTDATE);
La memoria è allocata 5 volte. Sotto lo spazio degli indirizzi di comando per la stessa cosa.
Cosa stai piangendo sul rilascio aggressivo della memoria dello spazio degli indirizzi dei dati? Almeno lì ci sono delle estensioni.
In generale, c'è molto probabilmente una soluzione normale al problema iCustom che ho menzionato.
Se MT5 ha già caricato l'handle dell'indicatore con i parametri specificati per questo simbolo/tf, allora, come ho capito, quando lo si chiama da qualsiasi altro posto, il calcolo dello stesso indicatore non viene eseguito di nuovo, ma viene utilizzato l'handle esistente.
E siccome al primo "livello di annidamento" prima della chiamata di iCustom, la chiamata di OnTimer funziona, possiamo aspettare un calcolo sequenziale di tutti gli indicatori, partendo da quelli più elementari, poi quelli che li utilizzano, e così via fino a qualsiasi livello di annidamento, creando i loro handle solo quando tutti gli indicatori e le serie temporali già utilizzati in essi sono stati calcolati. Allora la necessità del pulsante "Aggiorna" probabilmente scompare. Vorrei averlo indovinato una settimana fa...
P.S. Quando si usa OnTimer, si noti che i buffer degli indicatori non saranno visualizzati sul grafico e sulla finestra dei dati finché OnCalculate, chiamato dal terminale, non restituisce un valore diverso da 0. E il terminale chiama OnCalculate solo una volta, subito dopo Inite, quando le serie temporali e gli indicatori non sono ancora stati calcolati. Quando OnCalculate è chiamato da Ontimer, non importa quale valore restituisce, se il primo ritorno è 0, allora l'indicatore non sarà visualizzato sul grafico fino al prossimo tick o fino a quando non si preme "Refresh".
Il secondo problema è di tipo simile. L'indicatore è su TF MN1. Sto cercando di ricevere dati attraverso la funzione SeriesInfoInteger() dal TF M5. La funzione restituisce valori corretti per un po' di tempo, e poi smette di farlo e comincia a restituire degli zeri
O moderatori onnipotenti, per favore guardate il problema:)