Question sur Variable Moving Average

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #18705 quote
    supertiti
    Participant
    Master

    Bonjour à tous,

    Voici un indicateur qu’il est bien !

    Question = Pourquoi ne peut-on pas mettre la variable “L” en decimal ? le système nous jette. Existe t’il une astuce pour contourner ce problème ?
    merci de votre apport.
    bon week end.

    //PRC_Variable Moving Average | indicator
    //14.12.2016
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    //converted and adapted from Pinescript version
    
    // --- parameters
    src=customclose
    //l = 6
    
    if barindex>l then
     k = 1.0/l
     pdm = max((src - src[1]), 0)
     mdm = max((src[1] - src), 0)
     pdmS = ((1 - k)*(pdmS[1]) + k*pdm)
     mdmS = ((1 - k)*(mdmS[1]) + k*mdm)
     s = pdmS + mdmS
     pdi = pdmS/s
     mdi = mdmS/s
     pdiS = ((1 - k)*(pdiS[1]) + k*pdi)
     mdiS = ((1 - k)*(mdiS[1]) + k*mdi)
     d = abs(pdiS - mdiS)
     s1 = pdiS + mdiS
     iS = ((1 - k)*(iS[1]) + k*d/s1)
     hhv = highest[l](iS)
     llv = lowest[l](iS)
     d1 = hhv - llv
     vI = (iS - llv)/d1
     vma = (1 - k*vI)*(vma[1]) + k*vI*src
    endif
    
    RETURN VMA
    VMA-PRC-double.jpg VMA-PRC-double.jpg
    #18713 quote
    Nicolas
    Keymaster
    Master

    Il s’agit des périodes de calcul, l étant ici l’abréviation de “length”. Pourquoi vouloir utiliser des décimales dans le nombre de bougies ? Simple question .. 🙂

    #18715 quote
    supertiti
    Participant
    Master

    Pour ne pas avoir le décalage  L parfois brutal quand on passe de 6 à 7, de 7 à 8, etc … afin de peaufiner l’indicateur en l’utilisant comme support ou résistance.

    #18716 quote
    Nicolas
    Keymaster
    Master

    Le problème c’est que cela n’est pas possible, les calculs des indicateurs utilisés dans le code (highest et lowest) utilisent bien entendu des périodes sans décimales. Par ailleurs, on ne pourrait trouver un High contenu entre 2 bougies par exemple.. CQFD 🙂

    #18717 quote
    supertiti
    Participant
    Master

    c est comme le lowest ou highest [negatif] que refuse le systeme.

    je pensais a un truc comme 10% 20% etc de la bougie !

    #19287 quote
    beotien
    Participant
    Junior

    Bonsoir supertiti,

    Je suis presque nul en codage,mais dans le cas présent,je propose que la valeur 1.0 dans la formule k=1.0/l

    soit une variable décimale.Je pense que cela donne le même résultat que si on faisait varier l en décimal,ce qui n’est évidemment pas possible.

    Essaie pour voir,et tu m’en diras des nouvelles!!

    Bonne soirée.

    #19295 quote
    supertiti
    Participant
    Master

    Bonsoir Beotien

    j ai fais ce que tu proposes, en effet cela fonctionne en allant de 1 et moins. Nicolas devrait nous donner son avis pour savoir si cette modification n altere pas l integrite du code.

    ps : pas d accents car je tape avec un clavier espagnol et le temps de les trouver !!!

    #21282 quote
    supertiti
    Participant
    Master

    VMA V1

    J’aimerai appliquer le principe de la HOLT EMA sur la VMA. c’est à dire colorer l’indicateur VMA en 3 couleurs : vert, blanc, rouge selon la tendance.

    condition 1 = vert quand VMA > angle 5° positifs

    condition 2 = blanc quand VMA est compris entre 5° positifs et 5° negatifs

    condition 3 = rouge quand VMA > angle 5° negatifs

    J’ai fais ceci mais cela ne me semble pas satisfaisant car je recherche à faire apparaitre les segments blancs de l’indicateur comme points de retournement éventuels; d’autre part l’indicateur perd de son intérêt car les “marches” disparaissent (les

    plats de marches de VMA  étant de bons supports ou résistances me semble t’il).

    je joins un graphe avec VMA   (jaune/bleu)  et VMA V1 (vert,blanc,rouge)

    // VMA V1
    
    // VMA PRC_Variable Moving Average 14.12.2016
    //Nicolas @ www.prorealcode.com Sharing ProRealTime knowledge
    //converted and adapted from Pinescript version
    
    src=customclose
    if barindex>l then
    k = 1.0/l
    pdm = max((src - src[1]), 0)
    mdm = max((src[1] - src), 0)
    pdmS = ((1 - k)*(pdmS[1]) + k*pdm)
    mdmS = ((1 - k)*(mdmS[1]) + k*mdm)
    s = pdmS + mdmS
    pdi = pdmS/s
    mdi = mdmS/s
    pdiS = ((1 - k)*(pdiS[1]) + k*pdi)
    mdiS = ((1 - k)*(mdiS[1]) + k*mdi)
    d = abs(pdiS - mdiS)
    s1 = pdiS + mdiS
    iS = ((1 - k)*(iS[1]) + k*d/s1)
    hhv = highest[l](iS)
    llv = lowest[l](iS)
    d1 = hhv - llv
    vI = (iS - llv)/d1
    vma = (1 - k*vI)*(vma[1]) + k*vI*src
    endif
    
    // l = 6
    ///////////////////////////////////////////////////////////////
    // HOLT EMA V2 slope by Nicolas
    price = customclose
    if alpha > 1 then
    myalpha = 2.0/(alpha+1.0)
    else
    myalpha = alpha
    endif
    if gmma > 1 then
    mygamma = 2.0/(gmma+1)
    else
    mygamma = gmma
    endif
    If barindex = 1 then
    value1 = price
    K = 0.0
    else
    value1 = (1-myalpha)*(value1[1] + K[1]) + myalpha*price
    K = (1-mygamma)*K[1] + mygamma*(value1 - value1[1])
    endif
    
    VMA  = value1
    slope = atan((value1-(value1[1]+value1[2])/2)/1.5/ticksize)
    
    condition1 = slope >= angle1
    condition2 = slope < angle1 and slope >  angle2
    condition3 = slope <= -1*angle1
    
    //base color = jaune
    r=255
    g=255
    b=0
    
    if condition1 then // vert clair
    r=0
    g=255
    b=0
    elsif condition2 then // blanc
    r=255
    g=255
    b=255
    elsif condition3 then // rouge
    r=255
    g=0
    b=0
    endif
    
    // Variables :
    // gmma   = 40
    // alpha  = 20 
    // angle1 = 5
    // angle2 = 1
    //////////////////////////////////////////////////////////////
    RETURN SRC as " CC " , VMA coloured(r,g,b) as " VMA V1 "

     

    Si quelqu’un peut apporter de l’aide pour résoudre ces problèmes d’escaliers qui disparaissent et de segments blancs absents par conséquence.

    Merci, bonne journée et bons trades

    VMA-V1-bis.jpg VMA-V1-bis.jpg
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.

Question sur Variable Moving Average


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
supertiti @supertiti Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by supertiti
9 years, 1 month ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 12/17/2016
Status: Active
Attachments: No files
Logo Logo
Loading...