Traduction Code pine tradingwiew

Forums ProRealTime forum Français Support ProBuilder Traduction Code pine tradingwiew

Viewing 10 posts - 1 through 10 (of 10 total)
  • #241867

    bonjour,

    est ce quelqu’un pourrait m’aider à traduire ce code pine tradinwiew

    merci

     

    #241901

    Bonjour

    par exemple :

    momentumLength = 10
    biasLength = 5
    smoothLength = 10
    impulseBoundaryLength = 30
    stdDevMultiplier = 3.0
    smoothIndicator =1
    // Calcul de Momentum et Déviation Standard
    moment = close – close[momentumLength]
    stdDev = moment / ExponentialAverage[momentumLength](high – low) * 100
    momentumUp = max(stdDev, 0)
    momentumDown = min(stdDev, 0)

    // Calcul des sommes avec une boucle
    sumMomentumUp = 0
    sumMomentumDown = 0
    FOR i = 0 TO biasLength – 1 DO
    sumMomentumUp = sumMomentumUp + momentumUp[i]
    sumMomentumDown = sumMomentumDown + momentumDown[i]
    NEXT
    // Lissage et calcul des biais
    IF smoothIndicator=1 THEN
    smoothedMomentumUp = HullAverage[smoothLength](momentumUp)
    smoothedMomentumDown = HullAverage[smoothLength](momentumDown)
    momentumUpBias = max(smoothedMomentumUp, 0)
    momentumDownBias = max(-smoothedMomentumDown, 0)
    ELSE
    momentumUpBias = max(sumMomentumUp, 0)
    momentumDownBias = max(-sumMomentumDown, 0)
    ENDIF
    // Moyenne des biais
    averageBias = (momentumDownBias + momentumUpBias) / 2
    // Calcul de la limite (boundary)
    boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier
    // Affichage des signaux
    bullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBias
    bearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBias
    IF bullishSignal and not bullishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumDownBias + 0.2 * momentumDownBias, dialog, bold, 14) coloured(0, 175, 0)
    ENDIF
    IF bearishSignal and not bearishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumUpBias + 0.2 * momentumUpBias, dialog, bold, 14) coloured(150, 0, 0)
    ENDIF
    if momentumUpBias > momentumUpBias[1] then
    r = 0
    g = 150
    b = 0
    endif
    if momentumUpBias < momentumUpBias[1] then
    r =0
    g =255
    b =0
    endif
    if momentumDownBias > momentumDownBias[1] then
    r =150
    g = 0
    b = 0
    endif
    if momentumDownBias < momentumDownBias[1] then
    r =255
    g = 0
    b =0
    endif
    RETURN boundary as “boundary”, momentumUpBias coloured(r, g, b) style(histogram, 1) as “momentumUp”, momentumDownBias coloured(r,g,b) style(histogram, 1) as “momentumDown”

    #241977

    bravo et merci pour ton travail que j’aurai été incapable de faire.

    Toujours dans l’esprit de faire bien il y a quelques discordances dans les couleurs.

    ci-joint 2 mêmes graphiques PRT et tradingview ou l’on s’aperçoit

    • si les barres plus foncés pourraient etre en premier puis les barres plus claires (vert ou rouge)
    • il y a des barres rouges qui n’ont rien à faire dans le trend haussier (voir graphique)

    Peut etre avec le boudary mais je ne sais pas ?

    merci

     

    #241980

    bonjour

    ok pour les couleurs claires en 1er  :

    momentumLength = 10
    biasLength = 5
    smoothLength = 10
    impulseBoundaryLength = 30
    stdDevMultiplier = 3.0
    smoothIndicator =1
    // Calcul de Momentum et Déviation Standard
    moment = close – close[momentumLength]
    stdDev = moment / ExponentialAverage[momentumLength](high – low) * 100
    momentumUp = max(stdDev, 0)
    momentumDown = min(stdDev, 0)

    // Calcul des sommes avec une boucle
    sumMomentumUp = 0
    sumMomentumDown = 0
    FOR i = 0 TO biasLength – 1 DO
    sumMomentumUp = sumMomentumUp + momentumUp[i]
    sumMomentumDown = sumMomentumDown + momentumDown[i]
    NEXT
    // Lissage et calcul des biais
    IF smoothIndicator=1 THEN
    smoothedMomentumUp = HullAverage[smoothLength](momentumUp)
    smoothedMomentumDown = HullAverage[smoothLength](momentumDown)
    momentumUpBias = max(smoothedMomentumUp, 0)
    momentumDownBias = max(-smoothedMomentumDown, 0)
    ELSE
    momentumUpBias = max(sumMomentumUp, 0)
    momentumDownBias = max(-sumMomentumDown, 0)
    ENDIF
    // Moyenne des biais
    averageBias = (momentumDownBias + momentumUpBias) / 2
    // Calcul de la limite (boundary)
    boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier
    // Affichage des signaux
    bullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBias
    bearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBias
    IF bullishSignal and not bullishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumDownBias + 0.2 * momentumDownBias, dialog, bold, 14) coloured(0, 175, 0)
    ENDIF
    IF bearishSignal and not bearishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumUpBias + 0.2 * momentumUpBias, dialog, bold, 14) coloured(150, 0, 0)
    ENDIF
    if momentumUpBias > momentumUpBias[1] then
    r = 0
    g = 255
    b = 0
    endif
    if momentumUpBias < momentumUpBias[1] then
    r =0
    g =150
    b =0
    endif
    if momentumDownBias > momentumDownBias[1] then
    r =255
    g = 0
    b = 0
    endif
    if momentumDownBias < momentumDownBias[1] then
    r =150
    g = 0
    b =0
    endif
    RETURN boundary as “boundary”, momentumUpBias coloured(r, g, b) style(histogram, 1) as “momentumUp”, momentumDownBias coloured(r,g,b) style(histogram, 1) as “momentumDown”

     

     

    #241981

    pour le deuxième problème ( barres rouges qui n’ont rien à faire dans le trend haussier ) indicateur à tester avec ajout de la suppression des conflits de couleurs dans les tendances :

    momentumLength = 10
    biasLength = 5
    smoothLength = 10
    impulseBoundaryLength = 30
    stdDevMultiplier = 3.0
    smoothIndicator =1
    // Calcul de Momentum et Déviation Standard
    moment = close – close[momentumLength]
    stdDev = moment / ExponentialAverage[momentumLength](high – low) * 100
    momentumUp = max(stdDev, 0)
    momentumDown = min(stdDev, 0)
    // Calcul des sommes avec une boucle
    sumMomentumUp = 0
    sumMomentumDown = 0
    FOR i = 0 TO biasLength – 1 DO
    sumMomentumUp = sumMomentumUp + momentumUp[i]
    sumMomentumDown = sumMomentumDown + momentumDown[i]
    NEXT
    // Lissage et calcul des biais
    IF smoothIndicator=1 THEN
    smoothedMomentumUp = HullAverage[smoothLength](momentumUp)
    smoothedMomentumDown = HullAverage[smoothLength](momentumDown)
    momentumUpBias = max(smoothedMomentumUp, 0)
    momentumDownBias = max(-smoothedMomentumDown, 0)
    ELSE
    momentumUpBias = max(sumMomentumUp, 0)
    momentumDownBias = max(-sumMomentumDown, 0)
    ENDIF
    // Moyenne des biais
    averageBias = (momentumDownBias + momentumUpBias) / 2
    // Calcul de la limite (boundary)
    boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier
    // Affichage des signaux
    bullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBias
    bearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBias
    IF bullishSignal and not bullishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumDownBias + 0.2 * momentumDownBias, dialog, bold, 14) coloured(0, 175, 0)
    ENDIF
    IF bearishSignal and not bearishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumUpBias + 0.2 * momentumUpBias, dialog, bold, 14) coloured(150, 0, 0)
    ENDIF
    if momentumUpBias > momentumUpBias[1] then
    r = 0
    g = 255
    b = 0
    elsif momentumUpBias < momentumUpBias[1] then
    r = 0
    g = 150
    b = 0
    endif
    if momentumDownBias > momentumDownBias[1] then
    r = 255
    g = 0
    b = 0
    elsif momentumDownBias < momentumDownBias[1] then
    r = 150
    g = 0
    b = 0
    endif

    // Suppression des conflits de couleurs dans les tendances :
    if trend = 1 then
    // État haussier – bars rouges interdites
    r = 0
    g = max(g, 150) // Force le vert
    elsif trend = -1 then
    // État baissier – bars vertes interdites
    r = max(r, 150)
    g = 0
    endif

    RETURN boundary as “boundary”, momentumUpBias coloured(r, g, b) style(histogram, 1) as “momentumUp”, momentumDownBias coloured(r,g,b) style(histogram, 1) as “momentumDown”

    #241983

    Merci pour les couleurs

    par contre le deuxième probleme doit etre plus complexe

    car il peut exister des barres vertes dans un trend baissier et inversement .

    #242037

    Bonjour   voir fichier attaché on est à l’identique avec tradingview à tester …

    #242076

    excuse moi , mais je n’ai pas de “trend” dans le code…..
    J’ai essayé avec “bullishsignal” et “bearish signal” mais ça ne fonctionne pas.
    tu peux me le réécrire svp
    merci

    #242084

    peux tu préciser ce que tu demandes car dans ma dernière version qui donne le même résultat que celui de tradingview la variable trend ne sert plus à rien …

    momentumLength = 10
    biasLength = 5
    smoothLength = 10
    impulseBoundaryLength = 30
    stdDevMultiplier = 3
    smoothIndicator =smoothIndicator
    // Calcul de Momentum et Déviation Standard
    moment = close – close[momentumLength]
    stdDev = moment / ExponentialAverage[momentumLength](high – low) * 100
    momentumUp = max(stdDev, 0)
    momentumDown = min(stdDev, 0)
    // Calcul des sommes avec une boucle
    sumMomentumUp = 0
    sumMomentumDown = 0
    FOR i = 0 TO biasLength – 1 DO
    sumMomentumUp = sumMomentumUp + momentumUp[i]
    sumMomentumDown = sumMomentumDown + momentumDown[i]
    NEXT
    // Lissage et calcul des biais avec HMA intégrée
    IF smoothIndicator=1 THEN
    // Calcul de la Hull Moving Average (HMA) pour momentumUp
    wmaHalfUp = WeightedAverage[ROUND(smoothLength / 2)](momentumUp)
    wmaFullUp = WeightedAverage[smoothLength](momentumUp)
    hullIntermediateUp = 2 * wmaHalfUp – wmaFullUp
    smoothedMomentumUp = WeightedAverage[ROUND(SQRT(smoothLength))](hullIntermediateUp)
    // Calcul de la Hull Moving Average (HMA) pour momentumDown
    wmaHalfDown = WeightedAverage[ROUND(smoothLength / 2)](momentumDown)
    wmaFullDown = WeightedAverage[smoothLength](momentumDown)
    hullIntermediateDown = 2 * wmaHalfDown – wmaFullDown
    smoothedMomentumDown = WeightedAverage[ROUND(SQRT(smoothLength))](hullIntermediateDown)
    momentumUpBias = max(smoothedMomentumUp, 0)
    momentumDownBias = max(-smoothedMomentumDown, 0)
    ELSE
    IF smoothIndicator=0 THEN
    momentumUpBias = max(sumMomentumUp, 0)
    momentumDownBias = max(-sumMomentumDown, 0)
    ENDIF
    ENDIF
    // Moyenne des biais
    averageBias = (momentumDownBias + momentumUpBias) / 2
    // Calcul de la limite (boundary)
    boundary = ExponentialAverage[impulseBoundaryLength](averageBias) + STD[impulseBoundaryLength](averageBias) * stdDevMultiplier
    // Affichage des signaux
    bullishSignal = momentumDownBias < momentumDownBias[1] AND momentumDownBias > boundary AND momentumDownBias > momentumUpBias
    bearishSignal = momentumUpBias < momentumUpBias[1] AND momentumUpBias > boundary AND momentumUpBias > momentumDownBias
    IF bullishSignal AND NOT bullishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumDownBias + 0.2 * momentumDownBias, dialog, bold, 14) COLOURED(0, 175, 0)
    ENDIF
    IF bearishSignal AND NOT bearishSignal[1] THEN
    DRAWTEXT(“X”, barindex, momentumUpBias + 0.2 * momentumUpBias, dialog, bold, 14) COLOURED(150, 0, 0)
    ENDIF
    // Initialisation de la variable trend
    //trend = 0
    //IF bullishSignal THEN
    //trend = 1
    //ELSIF bearishSignal THEN
    //trend = -1
    //ENDIF
    // Gestion des couleurs pour momentumUpBias et momentumDownBias
    IF momentumUpBias > momentumUpBias[1] AND NOT (momentumDownBias > momentumDownBias[1]) THEN
    // Couleur verte vive
    r = 0
    g = 255
    b = 0
    ELSIF momentumUpBias < momentumUpBias[1] AND NOT (momentumDownBias < momentumDownBias[1]) THEN
    // Couleur verte atténuée
    r = 0
    g = 150
    b = 0
    ELSIF momentumDownBias > momentumDownBias[1] AND NOT (momentumUpBias > momentumUpBias[1]) THEN
    // Couleur rouge vive
    r = 255
    g = 0
    b = 0
    ELSIF momentumDownBias < momentumDownBias[1] AND NOT (momentumUpBias < momentumUpBias[1]) THEN
    // Couleur rouge atténuée
    r = 150
    g = 0
    b = 0
    ENDIF

    // Suppression des conflits de couleurs dans les tendances
    //IF trend = 1 THEN
    // État haussier – force le vert
    //r = 0
    //g = max(g, 150)
    //ELSIF trend = -1 THEN
    // État baissier – force le rouge
    //r = max(r, 150)
    //g = 0
    //ENDIF
    // Application des couleurs aux histogrammes
    RETURN boundary COLOURED(0, 0, 150) STYLE(DOTTEDLINE2) AS “boundary”,momentumUpBias COLOURED(r, g, b) STYLE(histogram, 1) AS “momentumUp”,momentumDownBias COLOURED(r, g, b) STYLE(histogram, 1) AS “momentumDown”,momentumUpBias COLOURED(r, g, b) STYLE(line, 1) AS “lmomentumUp”,momentumDownBias COLOURED(r, g, b) STYLE(line, 1) AS “lmomentumDown”

    1 user thanked author for this post.
    #242154

    Désolé je n’avais pas vu le fichier itf sous les graphiques.
    Tout est OK . Merci à toi
    Ce serait bien de le mettre en librairie

    1 user thanked author for this post.
Viewing 10 posts - 1 through 10 (of 10 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login