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
Qualcuno sa qual è l'errore?
L'indicatore funziona correttamente, ma vengono visualizzate più barre,
di quello per cui è stato impostato.
Non ho guardato il codice, ma presumo che dopo l'apparizione di ogni nuova barra, non tiene conto del fatto che le linee dell'indicatore sono anche automaticamente spostate a sinistra (se si guarda il grafico). In altre parole, quando appare una nuova barra, sposta le linee dell'indicatore a destra (quando si guarda il grafico).
Il tocco finale...
Si scopre che non è l'ultimo ....
C'è bisogno di un po' più di ottimizzazione.
Lo finirò e lo testerò...
Se questo è il caso, mantenere l'indicatore tick - indicatore di interesse aperto (eseguito su un conto reale collegato alla borsa).
È stato scoperto un problema serio:
Ticchettii duplicati con start_time diverso :(
start_time è diverso e i tick sono copiati ripetutamente se
hanno lo stesso tempo
Lo descriverò in dettaglio domani.
Ultima costruzione
Non riesco a dormire, così ho pensato di scrivere cosa sta succedendo.
(Ilcodice completo dell'indicatore è nel post sopra).
I ticchettii della borsa non arrivano al terminale rigorosamente per intervalli di tempo,
ma in blocchi (vedi screenshot) Blocco 1, Blocco 2 ecc.
Il terminale li "immagazzina" e li visualizza nella tabella, man mano che li riceve dalla borsa (blocco per blocco).
Inentrambi i blocchi ci possono essere transazioni con lo stesso tempo.
Se chiamiamo CopyTicks() NON in tempo reale (diciamo il giorno dopo o qualche secondo),
allora la funzione CopyTicks() restituirà i dati esatti.
Ma in tempo reale succede quanto segue:
Se start_time = (23:49:58.114), otteniamo completamente il blocco 1 (cerchiato in rosso).
Poi, aspettiamo il cambio dell'ora per ottenere il blocco 2 (cerchiato in verde).
Per evitare di duplicare il blocco 1 (OnBookEvent può scattare molto rapidamente)
introduciamo un controllo per assicurarci che l'ora sia cambiata
if(start_time==ulong(ticks[copied-1].time_msc)) return;
Quando start_time = (23:49:58.596), avremmo dovuto ottenere il blocco 2,
ma la funzione CopyTicks() restituisce sia il blocco 2 che tutti i tick con il tempo (23:49:58.114),
se il blocco 2 ha almeno un tick con lo stesso tempo (23:49:58.114).
Questa è una notizia molto triste .... :(
A meno che gli sviluppatori non sistemino questo, è impossibile ottenere un nastro in tempo reale delle compravendite.
E perché pensate che i ticchettii vengano scaricati da un dato tempo e FUTURO alla storia quando si interroga per tempo? Infatti, quando si richiedono i tick per tempo, i tick vengono scaricati da un dato tempo e nel FUTURO. Per esempio:
Dati di ingresso (richiesta 20000 tick), tempo 2016.08.25 20-00-00:
Ricevere:
Cioè, i tick sono ricevuti dal tempo richiesto2016.08.25 20:00:00 verso il FUTURO (l'ultimo tick ha il tempo2016.08.26 00:02:08)
E perché pensate che i tick vengano scaricati da un dato tempo e FUTURO alla storia quando si interroga per tempo? Infatti, quando si richiedono i tick per tempo, i tick vengono scaricati da un dato tempo e nel FUTURO. Per esempio:
Dati di ingresso (richiesta 20000 tick), tempo 2016.08.25 20-00-00:
Ricevere:
Cioè, i tick sono ricevuti dal tempo richiesto2016.08.25 20:00:00 verso FUTURE (l'ultimo tick ha il tempo2016.08.26 00:02:08)
Non penso in profondità, vedo "appiccicato" dalla profondità.
Perché pensare?
Esegui l'indicatore e guarda tu stesso!
E leggete almeno quello che è scritto?