Indicatore che si corrompe - pagina 4

 
RaptorUK:

Se sto cercando delle linee che sembrano essere scollegate dalle barre del grafico (come per il tuo primo post) allora non sto ottenendo alcun problema.

Il quarto screenshot sembra interessante. Per quanto posso vedere, il codice tagliato dovrebbe disegnare una linea ogni 25 minuti, tra il basso/alto delle ultime 20 barre. Quindi, una serie di linee con un intervallo di 5 minuti tra loro. Ma nel tuo ultimo screenshot ci sono linee sovrapposte. Potrebbe essere potenzialmente causato da cose come ricompilare l'indicatore quando è già collegato a un grafico, ma hai qualche idea su cosa abbia effettivamente causato questo?
 
jjc:
Potrebbe essere potenzialmente causato da cose come ricompilare l'indicatore quando è già collegato a un grafico, ma hai qualche idea su cosa abbia causato questo?
L'indicatore era attaccato e nient'altro...nessun riavvio per nessun motivo.
 
jjc:
Il quarto screenshot sembra interessante.
Ci sono barre mancanti, dalle 17:08 la barra successiva è 17:15, anche la barra 17:00 manca.
 
RaptorUK:
Ci sono barre mancanti, dalle 17:08 la barra successiva è 17:15, anche la barra delle 17:00 manca.
Sì, ovviamente questo spiega tutto. Le linee vengono disegnate ogni 25 minuti, non ogni 25 barre M1. Pertanto possono sovrapporsi. Ignorami; la mia osservazione era completamente irrilevante per il fenomeno principale - che non puoi (ancora) replicare - delle linee che si staccano dalle barre.
 
jjc:
Ignorami; la mia osservazione era completamente irrilevante per il fenomeno principale - che non puoi (ancora) replicare - delle linee che si staccano dalle barre.
...supponendo, naturalmente, che questo indicatore ridotto sia destinato ad essere in grado di replicare il fenomeno originale delle linee che si staccano, e che la sovrapposizione delle linee sia un problema atteso piuttosto che qualcosa che viene considerato un bug e la prova che c'è un problema.
 
Ho un'idea... ma devo uscire ora, ho aggiunto l'indicatore ad un nuovo grafico, testerò la mia idea quando torno e posterò i risultati.
 
RaptorUK:
Ho un'idea . . . ma devo uscire ora, ho aggiunto l'indicatore ad un nuovo grafico, testerò la mia idea al mio ritorno e posterò i risultati.
Aspetterei la conferma da parte di AnkaSoftware che questo indicatore ridotto replica il problema originale (linee staccate), piuttosto che le linee sovrapposte siano presumibilmente un'indicazione di un problema.

Avrei dovuto accorgermene subito perché ho pensato "Uso di TimeCurrent() in un indicatore? Che strano". Ovviamente è strano proprio perché - come in questo caso - è quasi inevitabilmente legato a un presupposto non valido che ci sarà una serie ininterrotta di barre. Se hai intenzione di usare TimeCurrent() in un esempio ridotto come questo, allora probabilmente indica che hai fatto qualcosa di simile anche nel codice originale, e quindi che ci saranno problemi intorno ai vuoti nella sequenza delle barre.

Non riesco ancora a capire come il codice tagliato possa portare a linee staccate senza che ci sia effettivamente un problema di MT4 di qualche tipo, ma l'uso di TimeCurrent() mi fa sospettare più che mai che questo sia il tipo di bug che era implicito negli screenshot precedenti.
 
jjc:
Aspetterei la conferma da parte di AnkaSoftware che questo indicatore ridotto replica il problema originale (linee staccate), piuttosto che le linee sovrapposte siano presumibilmente un'indicazione di un problema.

Avrei dovuto accorgermene subito perché ho pensato "Uso di TimeCurrent() in un indicatore? Che strano". Ovviamente è strano proprio perché - come in questo caso - è quasi inevitabilmente legato a un presupposto non valido che ci sarà una serie ininterrotta di barre. Se hai intenzione di usare TimeCurrent() in un esempio ridotto come questo, allora probabilmente indica che hai fatto qualcosa di simile anche nel codice originale, e quindi che ci saranno problemi intorno ai vuoti nella sequenza delle barre.

Non riesco ancora a capire come il codice tagliato possa portare a linee staccate senza che ci sia effettivamente un problema di MT4 di qualche tipo, ma l'uso di TimeCurrent() mi fa sospettare più che mai che questo sia il tipo di bug che era implicito negli screenshot precedenti.

Sul mio sistema, il codice ridotto è in grado di riprodurre il problema originale delle linee staccate.

Se si esamina il file xls con il dump dell'array di indicatori, gli indici dei dati delle linee di indicatori si spostano nell'array. Così una linea dell'indicatore che era valida tra le barre t1 e t2, viene spostata alle barre t3 e t4 e appare staccata.

TimeCurrent è usato solo per ottenere un segnale per disegnare le linee a intervalli specificati, le barre sono sempre disegnate da T - 1 a T - 20.

Raptor - Qual è la tua impostazione 'Max bars on chart'? Prova con un'impostazione di 10.000.

 
AnkaSoftware:

Sul mio sistema, il codice ridotto è in grado di riprodurre il problema originale delle linee staccate. [...]

Se volete un altro possibile bug di MT4 da perseguire, cosa succede se usate Low[i] e High[i] piuttosto che iLow() e iHigh()?
 
AnkaSoftware:
In allegato c'è un indicatore di esempio, che riprodurrà il problema. Su una piattaforma Windows a 64 bit, attacca l'indicatore a un grafico M1 e lascialo girare per più di 4 ore.

Cosa intendi per corruzione? Ho appena allegato il tuo indicatore su EURUSD M1 e non vedo alcun valore.