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
P./S.: Per sicurezza, vorrei chiarire che non ho iniziato a vedere cosa succede se il terminale viene caricato dopo molto tempo (cioè quando si suppone che appaiano molte nuove barre dopo che il terminale è stato scaricato).
Dina, funziona per te? Ho lottato per 2-3 ore (solo oggi, senza contare i test di ieri) cercando di ottenere una versione non funzionante di OnInit, ma senza successo. Tutto funziona sempre come dovrebbe. Se metto l'indicatore su due grafici e riavvio il terminale, funziona solo sul grafico che era attivo al momento della chiusura e apertura del terminale. Sul secondo, il grafico non attivo non funziona. Ma questo, secondo me, è comprensibile, non c'è il rendering del grafico e non c'è il grafico stesso, nonostante il fatto che i dati siano ricevuti.
Sì, Alexei, funziona. Ne ho scritto qui. A quanto pare si è perso visivamente nelle mie citazioni di altri post.
Per favore, ditemi, prima di scaricare il terminale, resettate il grafico ai prezzi più recenti?
No, non lo so. Perché questo è il punto. Lasciate che vi dica in dettaglio perché tutto questo è necessario. Un trader usa il grafico come se fosse un tester. L'indicatore nasconde una parte del grafico reale a destra del tempo presumibilmente corrente (in realtà, questo tempo è da qualche parte nella storia). Premendo F12 si visualizza la candela successiva nel grafico online, ecc. Quindi, è quando si riavvia il terminale con l'indicatore collegato che non restituisce la posizione del grafico al luogo in cui il trader ha finito i suoi studi. Come risultato riceve un grafico vuoto perché il terminale resetta il grafico all'ultima candela reale. E questo nonostante il fatto che il terminale sia stato scaricato in un luogo completamente diverso.
Perché lo chiedo:
Ho usato il tuo codice per vedere come avrebbe funzionato nella mia situazione. All'inizio ho pensato che stavo riproducendo il problema che descrivete. Più tardi ho capito che non è così. Se il grafico viene ripristinato agli ultimi prezzi prima di essere scaricato, funziona secondo il codice quando il terminale viene caricato. Se non ritorno agli ultimi prezzi prima di scaricare, il grafico rimarrà dove era prima di scaricare.
Osservazione interessante. Ho controllato per conto mio e, ahimè, non è cambiato nulla. Ho ancora i prezzi più freschi sulla ricarica.
Vi suggerisco di "sincronizzare i vostri orologi". Sto testando tutto questo sulla build 1861. Qual è la tua costruzione?
Dina, funziona per te? Ho lottato per 2-3 ore (solo oggi, senza contare i test di ieri) cercando di ottenere una versione non funzionante di OnInit, ma tutto senza risultato. Tutto funziona sempre come dovrebbe. Se metto l'indicatore su due grafici e riavvio il terminale, funziona solo sul grafico che era attivo al momento della chiusura e apertura del terminale. Sul secondo, il grafico non attivo non funziona. Ma questo, secondo me, è comprensibile, non c'è il rendering del grafico e non c'è il grafico stesso, nonostante il fatto che i dati siano ricevuti.
Mettetelo su due tabelle. Sfortunatamente, entrambi funzionano allo stesso modo - i prezzi più recenti vengono visualizzati al ricaricamento.
Che tipo di costruzione hai?
... Solo una particolarità è stata notata: se metto l'indicatore su due grafici e riavvio il terminale, funzionerà solo sul grafico che era attivo nel momento in cui ho chiuso e aperto il terminale. Sul secondo, il grafico non attivo non funziona. Ma questo, secondo me, è comprensibile, non c'è il rendering del grafico e non c'è il grafico stesso, nonostante il fatto che i dati siano ricevuti.
Non ho pensato di provarlo io stesso in questo modo. Ora ha fatto tali esperimenti (anche con l'aiuto del codice di Igor).
Così facendo sono riuscito a finire con... che ho riprodotto il problema che ha descritto.
...
Suggerisco di "sincronizzare i nostri orologi". Sto testando tutto questo sulla build 1861. Qual è il tuo?
Ho anche il 1861. Ma grazie ad Alexey Viktorov sono riuscito a riprodurre il problema da te descritto durante l'installazione tramite OnInit(). /* prima di questo, a quanto pare, come ho visto i vostri post*/.
Ordine delle azioni: Come avete descrittoqui.
I. Ma prima di scaricare il terminale ho spostato le carte sui prezzi più freschi.
E ho impostato l'indicatore su due grafici di una coppia, diversi timeframes (GBPUSD M5 e GBPUSD H1).
I miei risultati sono i risultati di questi esperimenti:
1. Prima ho impostato l'indicatore sul grafico GBPUSD M5, poi - su GBPUSD H1. Dopo di che, avendo spostato i grafici su barre fresche, ho chiuso il terminale quando il grafico GBPUSD H1 è attivo (cioè il timeframe senior è attivo). In queste condizioni, se riapro il terminale, il grafico è spostato quando lo apro , sulle barre specificate dal tuo codice.
Tuttavia, se chiudiamo il terminale con il grafico attivo di GBPUSD M5 (cioè, il timeframe inferiore è attivo) e poi riapriamo il terminale, allora dopo il caricamento del terminale, nessuno dei due grafici è spostato. I grafici si aprono su barre fresche. Allo stesso tempo, per uno di loro ottengo il successo, per l'altro - un errore:
Durante gli esperimenti sui punti 1 e 2, dopo aver riavviato il terminale e visto i risultati, ho cancellato questo indicatore dai grafici e poi l'ho installato di nuovo.
3. quando ho fatto gli stessi esperimenti, ma senza reinstallare l'indicatore ogni volta, dopo aver riavviato il terminale, non c'è spostamento del grafico dopo il riavvio del terminale. Indipendentemente dal fatto che sia attivo con un timeframe superiore o inferiore. I grafici si aprono su barre fresche. I messaggi sono gli stessi del punto 2(successo ed errore 4111)
II. Inoltre, ho sperimentato l'installazione simultanea dell'indicatore sugli stessi due grafici ma senza riportare questi grafici prima di scaricare il terminale su barre fresche.
I risultati che ho: se chiudo/apro su un timeframe superiore, il grafico del timeframe superiore è dove era prima della chiusura. Quello inferiore (non attivo) è il più fresco.
Se apri/chiudi su un timeframe inferiore, quello inferiore sarà aperto sulle barre più fresche. I messaggi sono gli stessi del 2(successo ed errore 4111).
III. Il problema è apparso ora con il seguente:
Dopo questo azzeramento dell'indicatore lo spostamento non si è verificato, ma l'allarme è riuscito:
Tuttavia, se prima di tale reinstallazione dell'indicatore lo scorrimento automatico è stato disabilitato non solo ora, ma qualche tempo dopo, allora il problema non è stato rilevato.
In qualche modo.
Sembra che tu debba scrivere al Service Desk.
Dà un successo per uno e un errore per l'altro:
Questa sì che è una sorpresa! Non sono ancora riuscito ad ottenere un errore da ChartNavigate. Ma è già qualcosa.
Nel cuore del problema, a quanto pare, sto cominciando a capire cosa sta succedendo.
Quando si chiama ChartNavigate() per la prima volta in OnInit() o in OnCalculate(), è molto probabile che non tutti i dati del grafico abbiano ancora avuto il tempo di essere caricati. Tuttavia il ChartNavigate() ha già funzionato e ha funzionato con successo (in quel momento). I dati vengono poi caricati e visualizzati sul grafico, il che porta a un completo ridisegno e spostamento del grafico al suo inizio. Come risultato, vediamo il grafico come se non fosse affatto spostato da ChartNavigate().
Quindi, per spostare con successo il grafico, dobbiamo in qualche modo determinare che i dati del grafico non saranno più visualizzati (a causa della paginazione della storia). Solo dopo aver stabilito questo fatto si può chiamare ChartNavigate().
...
Quindi, per spostare con successo il grafico, si deve in qualche modo determinare che i dati del grafico non devono più essere visualizzati (a causa della paginazione della storia). Solo dopo aver stabilito questo fatto si può chiamare ChartNavigate().
Hai ragione, probabilmente. Quando si riavvia il terminale, può diventare rilevante. Inoltre, mentre sperimentavo, ero interessato ad abilitare/disabilitare lo scorrimento automatico in combinazione con (o senza) l'azzeramento dell'indicatore. Una conseguenza di ciò che ho descritto nel blocco III, alla fine di questo post. Ma non sto ancora approfondendo la questione. Devo risolvere i miei problemi urgenti. Perciò, per il momento, passerò oltre.
Mettetelo su due tabelle. Sfortunatamente, entrambi funzionano allo stesso modo - i prezzi più recenti vengono visualizzati al ricaricamento.
Che tipo di costruzione hai?
Forum sul trading, sistemi di trading automatico e test di strategia
ChartNavigate all'inizializzazione
Alexey Viktorov, 2018.06.25 15:10
Ho anche il 1861. Sono riuscito a riprodurlo solo una volta. Tutti gli altri tentativi hanno funzionato bene.