09/11/15

rsi caruso

rsi1=rsi[4](Close) rsi2=rsi[14](Close) diffRS=exponentialaverage[3](exponentialaverage[3](rsi1-rsi2)) return diffRS,0 REM Determina le variazione giornaliere rialzo = MAX(0, CLOSE - CLOSE[1]) ribasso = MAX(0, CLOSE[1] - CLOSE) REM Calcola la media dei guadagni i giorni di rialzo REM e delle perdite i gorni di ribasso mmRialzo = WILDERAVERAGE[4](rialzo) mmRibasso = WILDERAVERAGE[4](ribasso) REM En déduit le RS RS = mmRialzo / mmRibasso REM E finalmente le RSI mioRSI = 100 - 100 / (1 + RS) ///////////////// mmRialzolu = WILDERAVERAGE[14](rialzo) mmRibassolu = WILDERAVERAGE[14](ribasso) REM En déduit le RS RSlu = mmRialzolu / mmRibassolu REM E finalmente le RSI mioRSIlu = 100 - 100 / (1 + RSlu) RETURN mioRSI coloured(220,220,0)AS"rsiwildercorto",20 COLOURED(0,0,255)as"20",30 COLOURED(0,0,255)as"30",70 COLOURED(0,0,255)as"70",80 COLOURED(0,0,255)as"80",mioRSIlu coloured(70,70,130) AS"rsiwilderlungo",50

indicatori proreal

pdretrace fibo0=DLOW(1) fibo100=DHIGH(1) fibo38=(fibo100-fibo0)*.628+fibo0 fibo50=(fibo100-fibo0)/2+fibo0 fibo62=(fibo100-fibo0)*.382+fibo0 RETURN fibo0 as "PDL", fibo100 as "PDH", fibo38 as "38.2%",fibo50 as "50%",fibo62 as "61.8%" trendforce REM Determinación de la fuerza de la tendencia alcista trendA = (CLOSE - LOWEST[20](LOW)) / AVERAGETRUERANGE[10] REM Determinación de la fuerza de la tendencia alcista trendB = (HIGHEST[20](HIGH) - CLOSE) / AVERAGETRUERANGE[10] RETURN 0,average[9]( trendA -trendB) proiezione point shot MM20 = Average[p](close) // Détection du signal de base de déclenchement If MM20[1] > MM20 Then // MM20 à la baisse Signal = -1 ElsIf MM20[1] < MM20 Then // MM20 à la Hausse Signal = 1 Else Signal = 0 Endif // Recherche des retracements If Signal = -1 Then // Raz des valeurs de comptage pour les Long CompteLong = 0 // On essaye de cacher tous ces traits Point0Long = MM20 Point100Long = MM20 RF23Long = MM20 RF38Long = MM20 RF50Long = MM20 RF61Long = MM20 // Définition du point 100%. Soit le point en contact avec la MM20 Point100Short = High[CompteShort] // Recherche du point bas et supprime la division par zéro If CompteShort = 0 Then // Recherche du plus bas Point0Short = Lowest[1](Low) Elsif CompteShort <> 0 Then // Recherche du plus bas Point0Short = Lowest[CompteShort](Low) Endif // Retracements RF23Short = (( point100Short - point0Short) * 0.236) + point0Short RF38Short = (( point100Short - point0Short) * 0.382) + point0Short RF50Short = (( point100Short - point0Short) * 0.5) + point0Short RF61Short = (( point100Short - point0Short) * 0.618) + point0Short CompteShort = CompteShort + 1 Elsif Signal = 1 Then // Raz des valeurs de comptage pour les shorts CompteShort = 0 // On essaye de cacher tous ces traits Point0Short = MM20 Point100Short = MM20 RF23Short = MM20 RF38Short = MM20 RF50Short = MM20 RF61Short = MM20 // Défintion du point haut. Soit le point en contact avec la MM20 Point100Long = Low[CompteLong] // Recherche du point haut et supprime la division par zéro If CompteLong = 0 Then // Recherche du plus bas Point0Long = Highest[1](High) Elsif CompteLong <> 0 Then // Recherche du plus bas Point0Long = Highest[CompteLong](High) Endif // Retracements RF23Long = Point0Long - ( (Point0Long - Point100Long) * 0.236 ) RF38Long = Point0Long - ( (Point0Long - Point100Long) * 0.382 ) RF50Long = Point0Long - ( (Point0Long - Point100Long) * 0.5 ) RF61Long = Point0Long - ( (Point0Long - Point100Long) * 0.618 ) CompteLong = CompteLong + 1 Endif Return Point100Short as "Point 100 Short", Point0Short coloured(255,50,50)as "Point 0 Short", RF23Short coloured(255,255,100) as "RF 23.6% Short", RF38Short as "RF 38.2% Short", RF50Short as "RF 50% Short", RF61Short coloured(255,0,255)as "RF 61.8% Short", Point100Long as "Point 100 Long", Point0Long coloured(50,255,50)as "Point 0 Long", RF23Long coloured(255,255,100) as "RF 23.6% Long", RF38Long as "RF 38.2% Long", RF50Long as "RF 50% Long", RF61Long coloured(255,0,255) as "RF 61.8% Long" //////////////////////////////////////////////////////////// //////////////COMPOSITE MOMENTUM caruso/////////////////// //////////////////////////////////////////////////////////// rem Key formula media3=average[3](Close) media9=average[9](close) Mom=exponentialaverage[1]((media3-media9)/media3)*100 diffMOM=MOM-MOM[1] If MOM>MOM[1] then temp1=diffMOM else temp1=0 endif If MOM

05/11/15

idnr4

04/11/15

boomer

boomer

bierovic

Dal libro di Jeff Cooper “Il Trading Hit & Run” il pattern Boomers ha un set up con ADX >30 e DI positivo o negativo per la direzione up o down.
Lo Screener cerca 2 Candele inside.
Long o short sul break dell’ultima.
In pratica si ricerca una compressione di mercato in una tendenza accentuata.
N.B. : ATTENZIONE : Per far funzionare questo filtro è necessario installare prima l’indicatore personalizzato SNIPER ADX  avendo cura di definire il parametro “p” .
Codice SNIPER ADX :
REM Determina +DM e -DM
//p = numero barre 14 Default
piuDM = MAX(HIGH-HIGH[1], 0)
menoDM = MAX(LOW[1]-LOW, 0)
IF piuDM > menoDM THEN
menoDM = 0
ENDIF

IF piuDM < menoDM THEN
piuDM = 0
ENDIF

IF piuDM = menoDM THEN
piuDM = 0
menoDM = 0
ENDIF


REM Calcolo degli indicatori direzionali
piuDI = WILDERAVERAGE[p](piuDM)
menoDI = WILDERAVERAGE[p](menoDM)
REM Calcolo del ADX
DX = ABS(piuDI – menoDI) / (piuDI + menoDI) * 100
mioADX = WILDERAVERAGE[p](DX)
miopiuDI=DIplus[p](close)
miomenoDI =DIminus[p](close)
RETURN mioADX AS “ADX”, miopiuDi as “DI+”, miomenoDi as “DI-”
Codice Boomers:
indicator1, ignored, ignored = CALL “SNIPER ADX”[14]c1 = (indicator1 >= 30.0) ignored, indicator2, ignored = CALL”SNIPER ADX”[14]
ignored, ignored, indicator3 = CALL “SNIPER ADX”[14]

if indicator2 >= indicator3  and indicator1>=30 then
c2=(indicator2>=indicator3)

Rem Determino candele inside
Inside= high[1]<=high[2] and low[1] >=low[2] and high<=high[1] and low>=low[1]
SCREENER[c1 AND c2 and inside] ((close/DClose(1)-1)*100 AS “%VAR”)
else
c2=(indicator2<=indicator3)
inside= high[1]<=high [2] and low[1]>=low[2] and high<=high[1] and low>=low[1]
SCREENER [c1 and c2 and inside] ((close/dclose(1)-1)*100 AS “% VAR”)
endif


www.finanza.com
info.gif (242 byte)