Macche' regalo di Natale, e' che sono lento ... ci ho messo 6 mesi per decidermi a iscrivermi al forum, 6 mesi per decidermi a postare

...
Allora, riguardo a quello che scrivi, sono curioso di rivedere il rimaneggiamento del codici. In RT quando arriva una nuova barra barindex aumenta di un'unita' (e quindi bisogna aumentare numbarre). Sul DPO non so, verifichero' domani come si aggiorna, pero' non penso che sia li' il problema perche' c'e' tra l'altro una cosa strana ... tempo fa, prima della traslazione, avevo scritto un codice per calcolare direttamente le mmc, anche li' usavo il DPO, e anche quello non mi si aggiornava ... poi pero' se scrivevo un indicatore che semplicemente richiamava quello di partenza allora si aggiornava, perche' credo che praticamente ricaricasse in continuazione i parametri ... ci ho provato anche con la traslazione, ed in effetti si aggiorna in diretta ... ma solo l'ultima barra, mentre tutti i valori prima, dall'ultimo traslato in poi rimangono costanti ... si' beh se hai capito cosa sto scrivendo sei un fenomeno, perche' non l'ho capito neanch'io

meglio che domani posti un grafico dal RT che cosi' vedi ...

... e forse comincio a capire quale potrebbe essere la soluzione ... vabbe' vediamo domani.
Per il Main Trend, io le inside le considero con il minore/maggiore uguale, se e' quello che intendevi, e non mi ero mai fatto la domanda su come considerarle

Il mio codice e' penoso (di programmazione capisco veramente poco) e ha due grosse lacune. La prima e' che non so se in PRT sia possibile usare delle liste ... insomma strutture che non abbiano prederminata all'inizio la lunghezza ... e quindi in realta' mi sono scritto a mano (e limitato) il numero possibili di conteggi (mi sembra che ne ho messi 15). L'altra cosa, che invece mi piacerebbe risolvere, e' come viene tracciato il Main Trend. Al momento io lo traccio cosi' con dei puntini
e poi traccio i segmenti a mano, mentre ovviamente vorrei che venissero tracciati in automatico. Lo zig-zag putroppo non aiuta perche' andrebbe a prendere gli ultimi punti invece che i primi ...
Al forum di Celeron non sono iscritto e di sto passo mi iscrivero' tra 6 mesi, quindi se magari puoi darmi una mano col mio codice o farmi vedere il tuo anche in mp mi faresti un grosso favore.
Ecco il codice, vedo se riesco a metterlo in una finestra perche' e' lunghino
Ciao
Codice:
once mt = low
once mtverso = -1
if mtverso = -1 then
if low < mt then
mt = low
conteggio1=0
conteggio2=0
conteggio3=0
conteggio4=0
conteggio5=0
conteggio6=0
conteggio7=0
conteggio8=0
conteggio9=0
conteggio10=0
conteggio11=0
conteggio12=0
conteggio13=0
conteggio14=0
conteggio15=0
lvlconteggio1=0
lvlconteggio2=0
lvlconteggio3=0
lvlconteggio4=0
lvlconteggio5=0
lvlconteggio6=0
lvlconteggio7=0
lvlconteggio8=0
lvlconteggio9=0
lvlconteggio10=0
lvlconteggio11=0
lvlconteggio12=0
lvlconteggio13=0
lvlconteggio14=0
lvlconteggio15=0
else
if NOT(low>=low[1] and high<=high[1] ) then
assegna = 0
if conteggio1 > 0 and high > lvlconteggio1 then
conteggio1 = conteggio1+1
lvlconteggio1 = high
assegna = 1
endif
if conteggio2 > 0 and high > lvlconteggio2 then
conteggio2 = conteggio2+1
lvlconteggio2 = high
assegna = 1
endif
if conteggio3 > 0 and high > lvlconteggio3 then
conteggio3 = conteggio3+1
lvlconteggio3 = high
assegna = 1
endif
if conteggio4 > 0 and high > lvlconteggio4 then
conteggio4 = conteggio4+1
lvlconteggio4 = high
assegna = 1
endif
if conteggio5 > 0 and high > lvlconteggio5 then
conteggio5 = conteggio5+1
lvlconteggio5 = high
assegna = 1
endif
if conteggio6 > 0 and high > lvlconteggio6 then
conteggio6 = conteggio6+1
lvlconteggio6 = high
assegna = 1
endif
if conteggio7 > 0 and high > lvlconteggio7 then
conteggio7 = conteggio7+1
lvlconteggio7 = high
assegna = 1
endif
if conteggio8 > 0 and high > lvlconteggio8 then
conteggio8 = conteggio8+1
lvlconteggio8 = high
assegna = 1
endif
if conteggio9 > 0 and high > lvlconteggio9 then
conteggio9 = conteggio9+1
lvlconteggio9 = high
assegna = 1
endif
if conteggio10 > 0 and high > lvlconteggio10 then
conteggio10 = conteggio10+1
lvlconteggio10 = high
assegna = 1
endif
if conteggio11 > 0 and high > lvlconteggio11 then
conteggio11 = conteggio11+1
lvlconteggio11 = high
assegna = 1
endif
if conteggio12 > 0 and high > lvlconteggio12 then
conteggio12 = conteggio12+1
lvlconteggio12 = high
assegna = 1
endif
if conteggio13 > 0 and high > lvlconteggio13 then
conteggio13 = conteggio13+1
lvlconteggio13 = high
assegna = 1
endif
if conteggio14 > 0 and high > lvlconteggio14 then
conteggio14 = conteggio14+1
lvlconteggio14 = high
assegna = 1
endif
if conteggio15 > 0 and high > lvlconteggio15 then
conteggio15 = conteggio15+1
lvlconteggio15 = high
assegna = 1
endif
if conteggio1 = 0 then
conteggio1 = 1
lvlconteggio1 = high
assegna = 1
else
if assegna = 0 and conteggio2 = 0 then
conteggio2 = 1
lvlconteggio2 = high
assegna = 1
else
if assegna = 0 and conteggio3 = 0 then
conteggio3 = 1
lvlconteggio3 = high
assegna = 1
else
if assegna = 0 and conteggio4 = 0 then
conteggio4 = 1
lvlconteggio4 = high
assegna = 1
else
if assegna = 0 and conteggio5 = 0 then
conteggio5 = 1
lvlconteggio5 = high
assegna = 1
else
if assegna = 0 and conteggio6 = 0 then
conteggio6 = 1
lvlconteggio6 = high
assegna = 1
else
if assegna = 0 and conteggio7 = 0 then
conteggio7 = 1
lvlconteggio7 = high
assegna = 1
else
if assegna = 0 and conteggio8 = 0 then
conteggio8 = 1
lvlconteggio8 = high
assegna = 1
else
if assegna = 0 and conteggio9 = 0 then
conteggio9 = 1
lvlconteggio9 = high
assegna = 1
else
if assegna = 0 and conteggio10 = 0 then
conteggio10 = 1
lvlconteggio10 = high
assegna = 1
else
if assegna = 0 and conteggio11 = 0 then
conteggio11 = 1
lvlconteggio11 = high
assegna = 1
else
if assegna = 0 and conteggio12 = 0 then
conteggio12 = 1
lvlconteggio12 = high
assegna = 1
else
if assegna = 0 and conteggio13 = 0 then
conteggio13 = 1
lvlconteggio13 = high
assegna = 1
else
if assegna = 0 and conteggio14 = 0 then
conteggio14 = 1
lvlconteggio14 = high
assegna = 1
else
if assegna = 0 and conteggio15 = 0 then
conteggio15 = 1
lvlconteggio15 = high
assegna = 1
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
if conteggio1 = 3 or conteggio2 = 3 or conteggio3 = 3 or conteggio4 = 3 or conteggio5 = 3 or conteggio6 = 3 or conteggio7 = 3 or conteggio8 = 3 or conteggio9 = 3 or conteggio10 = 3 or conteggio11 = 3 or conteggio12 = 3 or conteggio13 = 3 or conteggio14 = 3 or conteggio15 = 3 then
mt = high
mtverso = 1
conteggio1=0
conteggio2=0
conteggio3=0
conteggio4=0
conteggio5=0
conteggio6=0
conteggio7=0
conteggio8=0
conteggio9=0
conteggio10=0
conteggio11=0
conteggio12=0
conteggio13=0
conteggio14=0
conteggio15=0
lvlconteggio1=0
lvlconteggio2=0
lvlconteggio3=0
lvlconteggio4=0
lvlconteggio5=0
lvlconteggio6=0
lvlconteggio7=0
lvlconteggio8=0
lvlconteggio9=0
lvlconteggio10=0
lvlconteggio11=0
lvlconteggio12=0
lvlconteggio13=0
lvlconteggio14=0
lvlconteggio15=0
endif
endif
endif
else
if high > mt then
mt = high
conteggio1=0
conteggio2=0
conteggio3=0
conteggio4=0
conteggio5=0
conteggio6=0
conteggio7=0
conteggio8=0
conteggio9=0
conteggio10=0
conteggio11=0
conteggio12=0
conteggio13=0
conteggio14=0
conteggio15=0
lvlconteggio1=0
lvlconteggio2=0
lvlconteggio3=0
lvlconteggio4=0
lvlconteggio5=0
lvlconteggio6=0
lvlconteggio7=0
lvlconteggio8=0
lvlconteggio9=0
lvlconteggio10=0
lvlconteggio11=0
lvlconteggio12=0
lvlconteggio13=0
lvlconteggio14=0
lvlconteggio15=0
else
if NOT(low>=low[1] and high<=high[1] ) then
assegna = 0
if conteggio1 > 0 and low < lvlconteggio1 then
conteggio1 = conteggio1+1
lvlconteggio1 = low
assegna = 1
endif
if conteggio2 > 0 and low < lvlconteggio2 then
conteggio2 = conteggio2+1
lvlconteggio2 = low
assegna = 1
endif
if conteggio3 > 0 and low < lvlconteggio3 then
conteggio3 = conteggio3+1
lvlconteggio3 = low
assegna = 1
endif
if conteggio4 > 0 and low < lvlconteggio4 then
conteggio4 = conteggio4+1
lvlconteggio4 = low
assegna = 1
endif
if conteggio5 > 0 and low < lvlconteggio5 then
conteggio5 = conteggio5+1
lvlconteggio5 = low
assegna = 1
endif
if conteggio6 > 0 and low < lvlconteggio6 then
conteggio6 = conteggio6+1
lvlconteggio6 = low
assegna = 1
endif
if conteggio7 > 0 and low < lvlconteggio7 then
conteggio7 = conteggio7+1
lvlconteggio7 = low
assegna = 1
endif
if conteggio8 > 0 and low < lvlconteggio8 then
conteggio8 = conteggio8+1
lvlconteggio8 = low
assegna = 1
endif
if conteggio9 > 0 and low < lvlconteggio9 then
conteggio9 = conteggio9+1
lvlconteggio9 = low
assegna = 1
endif
if conteggio10 > 0 and low < lvlconteggio10 then
conteggio10 = conteggio10+1
lvlconteggio10 = low
assegna = 1
endif
if conteggio11 > 0 and low < lvlconteggio11 then
conteggio11 = conteggio11+1
lvlconteggio11 = low
assegna = 1
endif
if conteggio12 > 0 and low < lvlconteggio12 then
conteggio12 = conteggio12+1
lvlconteggio12 = low
assegna = 1
endif
if conteggio13 > 0 and low < lvlconteggio13 then
conteggio13 = conteggio13+1
lvlconteggio13 = low
assegna = 1
endif
if conteggio14 > 0 and low < lvlconteggio14 then
conteggio14 = conteggio14+1
lvlconteggio14 = low
assegna = 1
endif
if conteggio15 > 0 and low < lvlconteggio15 then
conteggio15 = conteggio15+1
lvlconteggio15 = low
assegna = 1
endif
if conteggio1 = 0 then
conteggio1 = 1
lvlconteggio1 = low
assegna = 1
else
if assegna = 0 and conteggio2 = 0 then
conteggio2 = 1
lvlconteggio2 = low
assegna = 1
else
if assegna = 0 and conteggio3 = 0 then
conteggio3 = 1
lvlconteggio3 = low
assegna = 1
else
if assegna = 0 and conteggio4 = 0 then
conteggio4 = 1
lvlconteggio4 = low
assegna = 1
else
if assegna = 0 and conteggio5 = 0 then
conteggio5 = 1
lvlconteggio5 = low
assegna = 1
else
if assegna = 0 and conteggio6 = 0 then
conteggio6 = 1
lvlconteggio6 = low
assegna = 1
else
if assegna = 0 and conteggio7 = 0 then
conteggio7 = 1
lvlconteggio7 = low
assegna = 1
else
if assegna = 0 and conteggio8 = 0 then
conteggio8 = 1
lvlconteggio8 = low
assegna = 1
else
if assegna = 0 and conteggio9 = 0 then
conteggio9 = 1
lvlconteggio9 = low
assegna = 1
else
if assegna = 0 and conteggio10 = 0 then
conteggio10 = 1
lvlconteggio10 = low
assegna = 1
else
if assegna = 0 and conteggio11 = 0 then
conteggio11 = 1
lvlconteggio11 = low
assegna = 1
else
if assegna = 0 and conteggio12 = 0 then
conteggio12 = 1
lvlconteggio12 = low
assegna = 1
else
if assegna = 0 and conteggio13 = 0 then
conteggio13 = 1
lvlconteggio13 = low
assegna = 1
else
if assegna = 0 and conteggio14 = 0 then
conteggio14 = 1
lvlconteggio14 = low
assegna = 1
else
if assegna = 0 and conteggio15 = 0 then
conteggio15 = 1
lvlconteggio15 = low
assegna = 1
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
if conteggio1 = 3 or conteggio2 = 3 or conteggio3 = 3 or conteggio4 = 3 or conteggio5 = 3 or conteggio6 = 3 or conteggio7 = 3 or conteggio8 = 3 or conteggio9 = 3 or conteggio10 = 3 or conteggio11 = 3 or conteggio12 = 3 or conteggio13 = 3 or conteggio14 = 3 or conteggio15 = 3 then
mt = low
mtverso = -1
conteggio1=0
conteggio2=0
conteggio3=0
conteggio4=0
conteggio5=0
conteggio6=0
conteggio7=0
conteggio8=0
conteggio9=0
conteggio10=0
conteggio11=0
conteggio12=0
conteggio13=0
conteggio14=0
conteggio15=0
lvlconteggio1=0
lvlconteggio2=0
lvlconteggio3=0
lvlconteggio4=0
lvlconteggio5=0
lvlconteggio6=0
lvlconteggio7=0
lvlconteggio8=0
lvlconteggio9=0
lvlconteggio10=0
lvlconteggio11=0
lvlconteggio12=0
lvlconteggio13=0
lvlconteggio14=0
lvlconteggio15=0
endif
endif
endif
endif
return mt coloured by mt - low -1 as "MT"