
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
Siete riusciti a trovare la causa?
Ho cercato di fare del mio meglio per contribuire, forse sarà utile per trovare l'errore. Nelle immagini scattate in momenti diversi, si può notare come il grafico dell'indicatore si sposti rispetto al grafico principale.
Mi sembra che il motivo sia che all'inizio di ogni settimana c'è una candela in più, che si accumula e sposta il grafico ogni settimana, questo vale per il grafico giornaliero con la base H1. Si può fare una schermata nel fine settimana e all'inizio della settimana, sarà più chiaro.
Sì, è così. In corrispondenza di determinati valori dello spostamento, appaiono delle "barre fantasma" - per maggiori dettagli, si veda la fig. 4 dell'articolo. 4 dell'articolo, dove è descritto anche il motivo della loro comparsa. Poiché appaiono all'incrocio delle settimane, sono più evidenti sui timeframe più alti. Soprattutto sul grafico giornaliero (come nel vostro esempio), perché lo schermo mostra un intervallo di tempo di diverse settimane, e con ogni settimana lo spostamento è sempre più evidente.
Non si tratta di un bug, ma di una caratteristica. Si potrebbero scartare le "barre fantasma", ma ciò comporta una perdita di dati, il che non è una buona cosa. L'ideale sarebbe spostare il grafico originale in questi punti, ma non è possibile farlo. Se la sincronizzazione del grafico iniziale e di quello risultante è fondamentale, è possibile filtrare le barre "extra" restituite dalla funzione GetRatesLC() prima di copiarle nel buffer dell'indicatore.
Ho fatto una cosa simile. Sembra funzionare per me senza alcuna barra fantasma.
Non potendo analizzare il codice sorgente nella sua interezza, mi sono imbattuto in alcune cose strane (secondo me) solo in superficie.
In primo luogo, in diversi punti ho visto la costruzione tO-=PeriodSeconds(). Non sono sicuro che si possa fare in questo modo, perché sottraendo PeriodSeconds da t0 si può arrivare alla barra precedente. L'essenza della situazione quando t0 è fuori dai limiti è che questa barra liquida non ha ancora iniziato a formarsi e non è necessario cercare di spostare artificialmente il suo inizio di un periodo.
In secondo luogo, l'orario di chiusura non dovrebbe essere determinato dal numero - quante barre di base si inseriscono teoricamente nel periodo corrente rispetto all'apertura, ma singolarmente per ogni barra del periodo corrente, prendere il suo orario di apertura, prendere l'orario di apertura della barra successiva, per la seconda cercare una barra del periodo di base e leggere la barra precedente nel periodo di base - questa sarà la fine della barra liquida.
Perché ne ho bisogno? Voglio vedere cosa vedono gli americani, gli australiani, i giapponesi, ecc. sui grafici giornalieri. Poiché l'ora del terminale è diversa per tutti, l'ora di formazione di una candela giornaliera è diversa per tutti, e quindi l'immagine sui grafici giornalieri è diversa per tutti. Avendo la possibilità di osservare la situazione in diversi fusi orari, ci sono più opportunità di non perdere il momento giusto per entrare. E se non cercassimo di sottrarre il tempo del tick necessario sottraendo il tempo del cambio dal tempo di una barra prestabilita. Prendiamo come punto di riferimento il tempo GTM, sottraiamo il tempo di spostamento da questo tempo e il primo tick che viene dopo questo tempo andrà a formare una nuova candela e di conseguenza il tick che viene prima di questo tempo sarà l'ultimo tick della candela precedente. Questo è lo stesso principio della formazione di un grafico regolare: se l'ora terminale è 00:00, non importa quando arriva il primo tick, sarà comunque il primo tick di una nuova candela.