Bonsoir,
j’ai programmé un petit indicateur maison.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
// KAMA200 Period1 = 200 FastPeriod1 = 2 SlowPeriod1 = 30 Fastest1 = 2 / (FastPeriod1 + 1) Slowest1 = 2 / (SlowPeriod1 + 1) if barindex < Period1+1 then Kama200=close else Num1 = abs(close-close[Period1]) Den1 = summation[Period1](abs(close-close[1])) ER1 = Num1 / Den1 Alpha1 = SQUARE(ER1 *(Fastest1 - Slowest1 )+ Slowest1) KAMA200 = (Alpha1 * Close) + ((1 -Alpha1)* Kama200[1]) endif Period = 50 xClose = (Open+High+Low+Close)/4 Distance = xclose- kama200 if distance > 0 then distanceUp = distance endif if distance < 0 then distanceDn = distance endif EcartUp = exponentialaverage[period](distanceup) EcartDn = exponentialaverage[period](distanceDn) if ecartUp > -ecartDn then spreadUp = ecartUp elsif ecartUp < -ecartDn then spreadUp = -ecartDn endif if ecartDn < -ecartUp then spreadDn = ecartDn elsif ecartDn > -ecartUp then spreadDn = -ecartUp endif period = 50 dev = 2.0 MA = average[period](distance) BolUp = average[50](spreadUp+STD[period]*dev) BolDn = average[50](spreadDn-STD[period]*dev) return Distance as "distance", spreadUp as "EcartUp", spreadDn as "EcartDn", BolUp as "Boll Sup", BolDn as "Boll Inf", MA as "Boll Milieu" |
or, j’ai programmé un screener identifiant les changements de direction tels que :
ignored, ecartup, ignored, ignored, ignored, ignored = CALL “Distance cours / KAMA”(close)
c5changeup = ( ecartup > ecartup[1]) and (ecartup[1] < ecartup[2])
ignored, ignored, ecartdn, ignored, ignored, ignored = CALL “Distance cours / KAMA”(close)
c6changedn = (ecartdn < ecartdn[1]) and (ecartdn[1] > ecartdn[2])
SCREENER[(c5changeup AND c6changedn)] ((close/DClose(1)-1)*100 AS “% Veille”)
j’ai un problème dans la mesure où le screener me renvoie des éléments erronés.
Quelqu’un pourrait il voir ce qui ne fonctionne pas dans mon indicateur ? Je pense que le problème vient du calcul des ecartup et ecartdn.
Merci