Salve, sto provando a scrivere un indicatore che mi permetta di inquadrare velocemente le divergenze tra i prezzi e lo stocastico settato a 136 periodi, il mio intento è questo, presi due massimi/minimi relativi consecutivi, se il minimo/massimo successivo presenta pero’ uno stocastico superiore al precedente vorrei scrivere il valore dello stocastico sotto la barra. Per ora ho scritto questo, ma non sempre combacia con cosa vorrei, allego come mi esce e come vorrei uscisse.
Grazie sempre per l’aiuto in anticipo.
lineaK = Stochastic[136,14](close)
if lineak>lineak[1] and high < high [1] then
segnale=round(lineak)
DRAWTEXT("#segnale#", barindex, high+5)
endif
if lineak<lineak[1] and high > high [1] then
segnale=round(lineak)
DRAWTEXT("#segnale#", barindex, low-5)
endif
RETURN
qui è come mi esce l’indicatore che ho provato a fare
[attachment file=”90170″]
e qui invece è come vorrei uscisse.
[attachment file=”90171″]
Ci sono vari indicatori di divergenze sul forum, questa per esempio https://www.prorealcode.com/topic/indicatore-divergenze-stocastico-lisciato/.
Puoi fare una ricerca per trovarne altri. Puoi modificare il codice per scrivere il testo nei punti desiderati.
Grazie, ma a me D non interessa, le divergenze devono essere tra prezzo e indicatore. e quel codice non mi sembra faccia questo.
Massimi/Minimi consecuti cosa sognifica, uno accanto all’altro, oppure ad una distanza di un certo numero di barre?
Sig. Roberto lei è molto gentile, nel post nella seconda foto è illustrato, parlo di minimi relativi. Ho disegnato a mano 5 e 7 sotto di essi, evidenziando la divergenza che poi è partita in rialzo
Ho fatto qualche prova, ma con risultati ancora insufficienti.
Ti prego di pazientare ancora un pò!
ma scherzi? io ti ringrazio solamente per l’interesse che provi.
Ho scritto questo. I valori li cambierai te come preferisci, puoi anche mettere le variabili che possono essere settate dalle proprietà dell’indicatore. Tanto più è elevato NUMEROBARRE, tanto più è affidabile il segnale.
Per la seconda DIVERGENZA (rialzista) evidenziata nella foto in effetti c’è una lieve divergenza, ma lo stocastico è in ipercomprato, mentre dovrebbe essere in basso!
Volendo puoi commentare le linee dove c’è DRAWTEXT e togliere i commenti dalle altre ed usarlo sotto il grafico per avere un istogramma o linee…
C’è la variabile validità che volevo usare per dare una validità di pià barre al segnale, ma non è a posto, direi che è meglio lasciare il valore ad 1.
Ci sono un pò di miglioramenti da fare, sicuramente. Provalo e vedi cosa si può cambiare, ammesso che sia conforme ciò che chiedevi.
DEFPARAM CalculateOnLastBars = 2000
NumeroBarre = 40 //40
Sto1 = 136 //136
Sto2 = 4 //4
Validita = 1 //1
Distanza = 55 * pipsize //55 pips
StoK = Stochastic[Sto1,Sto2](close)
//Divergenza = 0
// Divergenza RIALZISTA (minimi Prezzo decrescenti, minimi Stocastico crescenti)
IF close = lowest[NumeroBarre](close) THEN
Minimo = close
MinimoPrec = lowest[NumeroBarre](close[1])
IF Minimo < MinimoPrec THEN
MinStoPrec = lowest[NumeroBarre](StoK[1])
IF StoK > MinstoPrec THEN
MinSto = StoK
FOR i = 1 TO NumeroBarre + 1
IF close[i] = MinimoPrec THEN
xTemp = StoK[i - 1]
IF lowest[Validita](xTemp) = MinStoPrec THEN
IF MinSto > MinStoPrec THEN
x = round(StoK)
DRAWTEXT("#x#", barindex, low-Distanza) coloured(0,128,0,255)
//Divergenza = 1
ENDIF
ENDIF
BREAK
ENDIF
NEXT
ENDIF
ENDIF
ENDIF
// Divergenza RIBASSISTA (massimi Prezzo crescenti, massimi Stocastico decrescenti)
IF close = highest[NumeroBarre](close) THEN
Massimo = close
MassimoPrec = highest[NumeroBarre](close[1])
IF Massimo > MassimoPrec THEN
MaxStoPrec = highest[NumeroBarre](StoK[1])
IF StoK < MaxStoPrec THEN
MaxSto = StoK
FOR i = 1 TO NumeroBarre + 1
IF close[i] = MassimoPrec THEN
xTemp = StoK[i - 1]
IF highest[Validita](xTemp) = MaxStoPrec THEN
IF MaxSto < MaxStoPrec THEN
x = round(StoK)
DRAWTEXT("#x#", barindex, high+Distanza) coloured(255,0,0,255)
//Divergenza = -1
ENDIF
ENDIF
BREAK
ENDIF
NEXT
ENDIF
ENDIF
ENDIF
RETURN// Divergenza,0