RSI Wave Signals

Viewing 7 posts - 1 through 7 (of 7 total)
  • #244215

    Bonjour

    J’ai essayé de coder l’indicateur de trading Vieuw ci-dessous mais il affiche des erreurs que je n’arrive pas à corrier.

    Je vous remercie par avance de vos retours  !

     

    #244216

    Voici ma tentative de codage avec ProBuilder

    #244220

    bonjour

    voici le mien pour test

    / ==========================
    // RSI Wave Signals – ProRealTime
    // Conversion depuis Pine Script
    // Indicateur basé sur OTT et RSI
    // © bartua & KivancOzbilgic
    // ==========================

    // 🔹 Paramètres Utilisateur
    DEFPARAM calculateonlastbars = 500 // Charge un nombre suffisant de barres pour éviter les erreurs d’indexation

    period1 = 2
    mtp1 = 0.7
    rsiLength = 12
    overSoldLevel = 40
    overBoughtLevel = 60

    // 🔹 Calcul du RSI
    MONrsi = RSI[rsiLength](CLOSE)

    // ==========================
    // Initialisation des variables
    // ==========================
    dir = 1
    VAR = 0
    longStop = 0
    shortStop = 0
    ott1 = 0
    sl1 = 0

    // ==========================
    // Boucle principale pour calculer OTT
    // ==========================
    FOR i = 10 TO 500 DO // Commencer à 10 pour éviter les erreurs d’indexation
    valpha = 2 / (period1 + 1)

    // Calcul du CMO (Chande Momentum Oscillator)
    vUD = 0
    vDD = 0
    FOR j = 1 TO 9 DO // J varie de 1 à 9
    IF close[j] > close[j+1] THEN // Utilisation correcte des valeurs historiques
    vUD = vUD + (close[j] – close[j+1])
    ELSIF close[j] < close[j+1] THEN
    vDD = vDD + (close[j+1] – close[j])
    ENDIF
    NEXT

    vCMO = (vUD – vDD) / (vUD + vDD + 0.00001) // Évite la division par zéro
    VAR = valpha * ABS(vCMO) * close[i] + (1 – valpha * ABS(vCMO)) * VAR

    MAvg = VAR
    fark = MAvg * mtp1 / 100

    // Calcul du Long Stop
    longStopPrev = longStop
    longStop = MAX(MAvg – fark, longStopPrev)

    // Calcul du Short Stop
    shortStopPrev = shortStop
    shortStop = MIN(MAvg + fark, shortStopPrev)

    // Détermination de la tendance
    dirPrev = dir
    IF dirPrev = -1 AND MAvg > shortStopPrev THEN
    dir = 1
    ELSIF dirPrev = 1 AND MAvg < longStopPrev THEN
    dir = -1
    ENDIF

    // Sélection de MT en fonction de la tendance
    IF dir = 1 THEN
    MT = longStop
    ELSE
    MT = shortStop
    ENDIF

    // Calcul de OTT1
    IF MAvg > MT THEN
    ott1 = MT * (200 + mtp1) / 200
    ELSE
    ott1 = MT * (200 – mtp1) / 200
    ENDIF

    // Stockage de la moyenne mobile SL
    sl1 = MAvg
    NEXT

    // ==========================
    // Affichage des Résultats
    // ==========================
    RETURN ott1 AS “OTT”, sl1 AS “SL”, overSoldLevel AS “Survendu”, overBoughtLevel AS “Suracheté”

    #244224

    Bonjour Jacques
    Merci beaucoup pour la contribution
    Le code fonctionne mais ne retourne pas le résultat attendu 🙁
    Je rajoute l’image de ce que j’obtiens avec ce code, et l’image du résultat souhaitée.
    le point positif c’est qu’au moins il n’y a plus d’erreur de code 🙂

    #244227
    #244231

    Je ne pense pas que ce soit une très bonne idée d’appliquer l’OTT de KivancOzbilgic au RSI, car les mouvement du RSI ne sont pas égaux et varient en fonction du niveau du RSI… Entre 45 et 55, les mouvements positifs et négatifs se valent, mais plus on s’approche de 100, plus un petit mouvement du RSI vers le haut équivaut à un grand mouvement de prix vers le haut, alors qu’un grand mouvement du RSI vers le bas équivaut à un petit mouvement des prix vers le bas… Et inversement lorsque le RSI est plus proche de 0…
    De ce fait, les seuils de changement de direction de l’OTT sont inadéquats plus on se rapproche de 0 ou de 100, puisqu’ils sont équivalents vers le haut et vers le bas (ce qui n’a pas de sens sur un indicateur borné…).

    L’OTT est un excellent indicateur quand il est appliqué au prix, mais il devient médiocre lorsqu’il est appliqué à des oscillateurs et ne permet plus de suivre une tendance. Je pense que cet indicateur est une fausse bonne idée ; bref, comment rendre nul un concept excellent à la base 🙂

    #244232

    Bonjour Lucasbest
    merci pour l contribution.
    C’est maintenant très proche de ce que recherche :-)up :-)Je vais encore essayer de faire évoluer le code avec des variables et pouvoir bouger les lignes up et down mais vraiment merci beaucoup

Viewing 7 posts - 1 through 7 (of 7 total)

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