Non riesco a segnartelo sul grafico da te allegato, anche perchè le linee del canale di donchian che voglio vedere si impostano in base agli alti/bassi dell’ultima candela, quindi cambiano in continuazione.
Ma ti posso scrivere dei codici in modo da capire ciò che vorrei, e ti scrivo anche gli errori che mi risultano:
Quello che devo trovare:
– Highest[HH](high) // i valori di HH alla barra corrente che soddisfi la condizione:
Highest[HH](high) [N]=Highest[HH](high) [N+1]:
Highest[HH](high)[0] =Highest[HH](high) [1], Highest[HH](high)[1] =Highest[HH](high) [2], Highest[HH](high)[2] =Highest[HH](high) [3]……
e così via fino a quando la linea dei massimi del canale è flat, orizzontale….per il maggior numero di barre possibili.
Quindi l’indicatore deve scansire i periodi di HH, da 1 in su, fino a che non trova che la condizione sopra è vera, cioè la linea highest di donchian rimane costante. (CICLO FOR)
-stessa cosa per Lowest[LL](low) // i valori di LL alla barra corrente.
Deve trovare le stesse condizioni, quindi, il valore di LL può essere diverso da HH, e crea due linee di donchian con valori indipendenti tra loro, non come il normale canale di donchian che ha lo stesso periodo per highest e lowest.
Quindi l’indicatore deve scansire i valori di LL fino a quando rimane vero : Lowest[LL](low) [N]=Lowest[LL](low) [N+1]:
Lowest[LL](low) [0]=Lowest[LL](low) [1], Lowest[LL](low) [1]=Lowest[LL](low) [2], Lowest[LL](low)[2] =Lowest[LL](low) [3]…..ecc…
Eccezioni:
Se il titolo sta facendo un massimo/minimo storico i valori di HH e/o LL devono dare [1]:
if high[0]>=Highest[barindex](high)[1] then
HH=1
endif
if low<=lowest[barindex](low) [1]then
LL=1
endif
In questo caso, mi da un errore perchè dice che un parametro di tipo intero positivo è atteso con con highest[barindex](high)
Non capisco il perchè visto che barindex da il numero di barre nel grafico ed è sempre un valore intero positivo.