Indicateur maison non performant

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #203471 quote
    finplus
    Participant
    Master

    Bonjour,

    j’ai programmé le petit indicateur suivant : il permet de calculer l’écart entre le cours et la kama + deux moyennes correspondant chacune à la moyenne des cours lorsqu’ils sont au dessus de la KAMA200 et à la moyenne des cours lorsqu’ils sont au dessous de la KAMA200.

    Je voudrais bâtir ensuite un filtre qui me permet d’entrer en position longue si l’écart est en dessous de la moyenne “haute” ou short si l’écart est au dessus de la moyenne basse.

    J’ai programmé ce “filtre” que j’ajoute à mes conditions d’entrée en position mais cela ne donne pas les résultats attendus.

    //////////////////////////////// Distance Cours KAMA

    DistanceKama4h, EcartUp4h, EcartDn4h, ignored, ignored, ignored, ignored, ignored = CALL “Distance cours / KAMA”(close)

    FilterKamaUp4h = (DistanceKama4h < EcartUp4h)
    FilterKamaDn4h = (DistanceKama4h > EcartDn4h)

    quelqu’un peut-il m’aider SVP?

    Merci d’avance.

    // 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
    data = Distance
    MA = average[period](data)
    BolUp = average[50](ecartUp+STD[period]*dev)
    BolDn = average[50](ecartUp-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"
    #203489 quote
    finplus
    Participant
    Master

    Bonsoir,

    je mets la bonne formule.

    //////////////////////////////// Distance Cours KAMA

    DistanceKama4h, EcartUp4h, EcartDn4h, ignored, ignored, ignored = CALL “Distance cours / KAMA”(close)
    FilterKamaUp4h = (DistanceKama4h < EcartUp4h)
    FilterKamaDn4h = (DistanceKama4h > EcartDn4h)

    #203642 quote
    finplus
    Participant
    Master

    Bonjour,

    merci de ne pas tenir compte de ma demande. J’ai résolu le problème.

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.

Indicateur maison non performant


ProOrder : Trading Automatique & Backtests

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 2 replies,
has 1 voice, and was last updated by finplus
3 years, 4 months ago.

Topic Details
Forum: ProOrder : Trading Automatique & Backtests
Language: French
Started: 11/03/2022
Status: Active
Attachments: No files
Logo Logo
Loading...