Ciao e grazie in anticipo per l’aiuto che mi potrete dare. Qualcuno può aiutarmi con un codice che identifichi con una A maiuscola sopra la candela una candela di espansione che abbia il corpo (range da apertura a chiusura) maggiore di un determinato range grazie di punti (ad esempio 15 punti). Se non chiedo troppo il massimo sarebbe poter far apparire una A maiuscola blu sopra ogni candela di espansione rialzista ( come detto individuata da un range apertura chiusura uguale o maggiore di un numero di punti ad es 15) e una A maiuscola rossa sotto ogni candela di espansione ribassista, sempre individuata nello stesso modo. Grazie mille ancora i più cordiali saluti claudio chiacchierini
Eccolo:
Ampiezza = average[20,0](range) //oppure una costante numerica (secondo il TF usato)
Distanza = Ampiezza / 3
Rialzista = close > open
Ribassista = close < open
IF Range > Ampiezza THEN
IF Rialzista THEN
DRAWTEXT("A",barindex,high + Distanza,Dialog,Bold,14) COLOURED(0,0,255,255)
ELSIF Ribassista THEN
DRAWTEXT("A",barindex,low - Distanza,Dialog,Bold,14) COLOURED(255,0,0,255)
ENDIF
ENDIF
RETURN
Grazie mille, noi lo usiamo sul dax 10 minuti per individuare una candela di espansione che abbia il body (da chiusura ad apertura) almeno di 15 punti di dax, non contiamo le shadows della candela. Scusa se ti chiedo ancora una mano, come posso scrivere nel codice per avere 15 punti almeno di dax (body=>15 punti), il codice che mi hai mandato misura il body o il range della candela grazie mille ancora
Basta sostituire RANGE, alle righe 1 e 5 con:
abs(close - open)
per avere il corpo.
come mai molti corpi delle candele inferiori a 15 punti vengono segnati comunque?
Ampiezza = average[20,0](abs(close - open)) //oppure una costante numerica (secondo il TF usato)
Distanza = Ampiezza / 3
Rialzista = close > open
Ribassista = close < open
IF abs(close - open) > Ampiezza THEN
IF Rialzista THEN
DRAWTEXT("A",barindex,high + Distanza,Dialog,Bold,14) COLOURED(0,0,255,255)
ELSIF Ribassista THEN
DRAWTEXT("A",barindex,low - Distanza,Dialog,Bold,14) COLOURED(255,0,0,255)
ENDIF
ENDIF
RETURN
Perché alla riga 1 è stata calcolata una media dei corpi delle ultime 20 candele, quindi può darsi che questa sia < 15.
Se vuoi mettere che evidenzi solo quelle con almeno 15 punti devi sostituire la riga 1 con:
Ampiezza = 15 * pipsize
come ti avevo indicato nel commento della stessa riga.