Proscreener TMA center channel
Forums › ProRealTime forum Italiano › Supporto ProScreener › Proscreener TMA center channel
- This topic has 6 replies, 2 voices, and was last updated 3 years ago by Procor.
-
-
02/14/2021 at 9:27 PM #161430TMa channel12345678910111213141516171819202122232425// parameters// HalfLength = 50// AtrLength = 100// AtrMultiplier = 2.0avg = average[1](close)sum = (HalfLength+1)*avgsumw = (HalfLength+1)k = HalfLengthfor j = 1 to HalfLength dok = k-1sum = sum+(k*avg[j])sumw = sumw+knextbuffer1 = sum/sumwmyrange = AverageTrueRange[AtrLength](close)*AtrMultiplierbuffer2 = buffer1+myrangebuffer3 = buffer1-myrangeRETURN buffer1 coloured(0,220,0) as "TMA", buffer2 coloured(220,0,0) as "upper band", buffer3 coloured(220,0,0) as "lower band"
Buonasera Roberto,
posso chiedere per cortesia un proscreener che segnala quando il prezzo dell’attuale candela è :
= o superiore della upper band per la condizione sell, o
= o inferiore della lower band per la condizione buy
time frame 1h 4h daily
con il segnale che una volta attivato nel proscreer rimanga aperto fino alla chiusura della candela stessa
Chiedo anticipatamente se invece volessi far chiudere il segnale al termine della candela successiva a quella che ha attivato il segnale come dovrei modificarlo.
Grazie come sempre per la disponibilità
Corrado
02/15/2021 at 11:19 AM #161470Eccolo:
123456789101112131415161718192021N = 1 //Durate del segnale (deve essere un intero > 0)HalfLength = 50AtrLength = 100AtrMultiplier = 2.0avg = average[1](close)sum = (HalfLength+1)*avgsumw = (HalfLength+1)k = HalfLengthfor j = 1 to HalfLength dok = k-1sum = sum+(k*avg[j])sumw = sumw+knextbuffer1 = sum/sumwmyrange = AverageTrueRange[AtrLength](close)*AtrMultiplierbuffer2 = buffer1+myrangebuffer3 = buffer1-myrange//RETURN buffer1 coloured(0,220,0) as "TMA", buffer2 coloured(220,0,0) as "upper band", buffer3 coloured(220,0,0) as "lower band"L1 = close < buffer3S1 = close > buffer2Screener[summation[N](L1 or S1)]per la durata usa N, da 1 in poi.
Per il time frame, non ce n’è uno specifico, puoi usarlo sul Daily, 1 ora, 5 minuti, 1 secondo…
02/16/2021 at 3:51 PM #161674Grazie mille Roberto,
si so che si può cambiare dalla finestra del proscreener, preferirei che fosse il proscreener a ricercare su 3 tf contemporaneamente, per evitare di tenere aperta la finestra di programmazione e dover fare la ricerca manualmente. Se chiedo troppo grazie comunque per il prezioso lavoro 🙂 . Corrado
02/16/2021 at 4:27 PM #161677Ok, questo ti restituirà il segnale quando il prezzo sarà oltre le bande su tutti e tre i TF contemporaneamente:
1234567891011TIMEFRAME(Daily)ignored,UpperBd,LowerBd = CALL "TMA center channel"[50, 100, 2]TIMEFRAME(4h)ignored,UpperB4,LowerB4 = CALL "TMA center channel"[50, 100, 2]TIMEFRAME(1h)ignored,UpperB1,LowerB1 = CALL "TMA center channel"[50, 100, 2]Timeframe(default)N = 1L1 = (close < LowerBd) AND (close < LowerB4) AND (close < LowerB1)S1 = (close > UpperBd) AND (close > UpperB4) AND (close > UpperB1)Screener[summation[N](L1 or S1)]02/16/2021 at 5:04 PM #161686grazie, mi scuso che non sono stato sufficientemente comprensibile, intendevo che il proscreenr lo cerca su 3 tf contemporaneamente e mi ritorna su quale dei 3 si verifica (anche uno solo), non che cerchi una coppia su cui si verifica contemporaneamente su tutti e 3 . In caso di segnale su piu tf della stessa coppia che ritorni quello piu basso. Grazie comunque
02/16/2021 at 5:35 PM #161694Ok, questo restituisce tutti e 3 contemporaneamente, identificati con “d41“, cioè daily 4 ore e 1 ora.
Per ognuno dei tre TF restituisce:
- 9 = nessun segnale (0 non lo stamperebbe)
- 1 = segnale Long
- 2 = segnale Short (gli Screener non restituiscono valori negativi)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152TIMEFRAME(Daily)ignored,UpperBd,LowerBd = CALL "TMA center channel"[50, 100, 2]Ld = (close < LowerBd)Sd = (close > UpperBd)TIMEFRAME(4h)ignored,UpperB4,LowerB4 = CALL "TMA center channel"[50, 100, 2]L4 = (close < LowerB4)S4 = (close > UpperB4)TIMEFRAME(1h)ignored,UpperB1,LowerB1 = CALL "TMA center channel"[50, 100, 2]L1 = (close < LowerB1)S1 = (close > UpperB1)Timeframe(default)//N = 1//IF Ld = 1 THENCond = 100ELSIF Sd = 1 THENCond = 200ELSECond = 900ENDIF//IF L4 = 1 THENCond = Cond + 10ELSIF S4 = 1 THENCond = Cond + 20ELSECond = Cond + 90ENDIF//IF L1 = 1 THENCond = Cond + 1ELSIF S1 = 1 THENCond = Cond + 2ELSECond = Cond + 9ENDIF//IF Cond = 999 THENCond = 0ENDIFx = CondIF x = 0 THENFOR i = 1 TO NIF Cond[i] THENx = Cond[i]ENDIFNEXTENDIFScreener[x](x AS "d41")02/16/2021 at 5:50 PM #161697 -
AuthorPosts