Traduction indicateur croisement RSI avec position cours au dessus des kama150

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #242795 quote
    finplus
    Participant
    Master
    Bonsoir,
    est-il possible d’avoir un screener à partir de cet indicateur ?
    Merci.
    Timeframe (1 hour,updateonclose)
    Period1h = 150
    FastPeriod1h = 2
    SlowPeriod1h = 50
    Fastest1h = 2 / (FastPeriod1h + 1)
    Slowest1h = 2 / (SlowPeriod1h + 1)
    if barindex < Period1h+1 then
    Kama1h=close
    else
    Num1h = abs(closeclose[Period1h])
    Den1h = summation[Period1h](abs(closeclose[1]))
    ER1h = Num1h / Den1h
    Alpha1h = SQUARE(ER1h *(Fastest1h Slowest1h )+ Slowest1h)
    KAMA1h = (Alpha1h * Close) + ((1 Alpha1h)* Kama1h[1])
    endif
    Timeframe (15 minutes,updateonclose)
    /////////////////////////////////////////////////////////////////// parameters KAMA
    Period15min = 150
    FastPeriod15min = 2
    SlowPeriod15min = 50
    Fastest15min = 2 / (FastPeriod15min + 1)
    Slowest15min = 2 / (SlowPeriod15min + 1)
    if barindex < Period15min+1 then
    Kama15min=close
    else
    Num15min = abs(closeclose[Period15min])
    Den15min = summation[Period15min](abs(closeclose[1]))
    ER15min = Num15min / Den15min
    Alpha15min = SQUARE(ER15min *(Fastest15min Slowest15min )+ Slowest15min)
    KAMA15min = (Alpha15min * Close) + ((1 Alpha15min)* Kama15min[1])
    endif
    //————————————-//
    //PRC_RSI Cyclic Smoothed
    //version = 0
    //19.11.2024
    //Iván González @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge
    //————————————-//
    //Inputs
    //————————————-//
    src15min=close
    domcycle15min=20
    cyclelen15min=domcycle15min/2
    vibration15min=10
    leveling15min=10
    cyclicmemory15min=domcycle15min*2
    once crsi15min=0
    //————————————-//
    // CRSI calculation
    //————————————-//
    torque15min=2/(vibration15min+1)
    phasinglag15min=floor((vibration15min1)/2)
    length15min = cyclelen15min
    alpha15min = 1/length15min
    srcUp15min = max(src15minsrc15min[1],0)
    if barindex = length15min then
    up15min = average[length15min](srcUp15min)
    else
    up15min = alpha15min*srcUp15min + (1alpha15min)*up15min[1]
    endif
    srcDw15min = min(src15minsrc15min[1],0)
    if barindex = length15min then
    dw15min = average[length15min](srcdw15min)
    else
    dw15min = alpha15min*srcdw15min + (1alpha15min)*dw15min[1]
    endif
    if dw15min=0 then
    myrsi15min=100
    elsif up15min=0 then
    myrsi15min=0
    else
    myrsi15min=100100/(1+up15min/dw15min)
    endif
    if barindex>cyclicmemory15min then
    crsi15min=torque15min*(2*myrsi15minmyrsi15min[phasinglag15min])+(1torque15min)*crsi15min[1]
    endif
    //————————————-//
    // LowBand and HighBand calculation
    //————————————-//
    Period15min=cyclicMemory15min
    percent15min = leveling15min/100
    periodMinusone15min = period15min1
    maxima15min = 999999.0
    minima15min = 999999.0
    for i15min=0 to periodMinusone15min do
    if crsi15min[i15min] > maxima15min then
    maxima15min = crsi15min[i15min]
    elsif crsi15min[i15min] < minima15min then
    minima15min = crsi15min[i15min]
    endif
    next
    stepfactor15min = (maxima15minminima15min)/100
    lowband15min = 0
    for steps15min=0 to 100 do
    testvalue15min = minima15min+stepfactor15min*steps15min
    below15min=0
    for m15min=0 to periodMinusone15min do
    if crsi15min[m15min]<testvalue15min then
    below15min=below15min+1
    endif
    next
    if below15min/period15min >= percent15min then
    lowband15min = testvalue15min
    break
    endif
    next
    highband15min=0
    for steps15min=0 to 100 do
    testvalue15min=maxima15minstepfactor15min*steps15min
    above15min=0
    for m15min=0 to periodMinusone15min do
    if crsi15min[m15min]>=testvalue15min then
    above15min=above15min+1
    endif
    next
    if above15min/Period15min >= percent15min then
    highband15min=testvalue15min
    break
    endif
    next
    mbb15min = average[50](crsi15min)
    CRSISmooth15min = average[7](crsi15min)
    LongPos =  (kama1h > kama1h[1]) and (close > kama1h) and (kama15min > kama15min[1]) and (close > kama15min) and (CRSI15min crosses over CRSISmooth15min)
    if longpos then
    buy 1 contract at market
    endif
    Timeframe (default)
    ///trailing stop function
    trailingstart = 5 //trailing will start @trailinstart points profit
    trailingstep = 5 //trailing step to move the “stoploss”
    //reset the stoploss value
    IF NOT ONMARKET THEN
    newSL=0
    ENDIF
    //manage long positions
    IF LONGONMARKET THEN
    IF newSL=0 AND closetradeprice(1)>=trailingstart*pipsize THEN
    newSL = tradeprice(1)+trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND closenewSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF
    //manage short positions
    IF SHORTONMARKET THEN
    //first move (breakeven)
    IF newSL=0 AND tradeprice(1)close>=trailingstart*pipsize THEN
    newSL = tradeprice(1)trailingstep*pipsize
    ENDIF
    //next moves
    IF newSL>0 AND newSLclose>=trailingstep*pipsize THEN
    newSL = newSLtrailingstep*pipsize
    ENDIF
    ENDIF
    //stop order to exit the positions
    IF newSL>0 THEN
    SELL AT newSL STOP
    EXITSHORT AT newSL STOP
    ENDIF
    // points based STOP LOSS and TRAILING STOP
    // initial STOP LOSS
    SET STOP pLOSS 50
    // trailing stop
    SET STOP pTRAILING 50
    #242798 quote
    fifi743
    Participant
    Master

    a verifier,voici le code et ITF

    // code proscreener d'exemple
    Timeframe (1 hour)
    Period1h = 150
    FastPeriod1h = 2
    SlowPeriod1h = 50
    Fastest1h = 2 / (FastPeriod1h + 1)
    Slowest1h = 2 / (SlowPeriod1h + 1)
    if barindex < Period1h+1 then
    Kama1h=close
    else
    Num1h = abs(close-close[Period1h])
    Den1h = summation[Period1h](abs(close-close[1]))
    ER1h = Num1h / Den1h
    Alpha1h = SQUARE(ER1h *(Fastest1h - Slowest1h )+ Slowest1h)
    KAMA1h = (Alpha1h * Close) + ((1 -Alpha1h)* Kama1h[1])
    endif
    Timeframe (15 minutes)
    /////////////////////////////////////////////////////////////////// parameters KAMA
    Period15min = 150
    FastPeriod15min = 2
    SlowPeriod15min = 50
    Fastest15min = 2 / (FastPeriod15min + 1)
    Slowest15min = 2 / (SlowPeriod15min + 1)
    if barindex < Period15min+1 then
    Kama15min=close
    else
    Num15min = abs(close-close[Period15min])
    Den15min = summation[Period15min](abs(close-close[1]))
    ER15min = Num15min / Den15min
    Alpha15min = SQUARE(ER15min *(Fastest15min - Slowest15min )+ Slowest15min)
    KAMA15min = (Alpha15min * Close) + ((1 -Alpha15min)* Kama15min[1])
    endif
    //————————————-//
    //PRC_RSI Cyclic Smoothed
    //version = 0
    //19.11.2024
    //Iván González @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge
    //————————————-//
    //Inputs
    //————————————-//
    src15min=close
    domcycle15min=20
    cyclelen15min=domcycle15min/2
    vibration15min=10
    //leveling15min=10
    cyclicmemory15min=domcycle15min*2
    once crsi15min=0
    //————————————-//
    // CRSI calculation
    //————————————-//
    torque15min=2/(vibration15min+1)
    phasinglag15min=floor((vibration15min-1)/2)
    length15min = cyclelen15min
    alpha15min = 1/length15min
    srcUp15min = max(src15min-src15min[1],0)
    if barindex = length15min then
    up15min = average[length15min](srcUp15min)
    else
    up15min = alpha15min*srcUp15min + (1-alpha15min)*up15min[1]
    endif
    srcDw15min = -min(src15min-src15min[1],0)
    if barindex = length15min then
    dw15min = average[length15min](srcdw15min)
    else
    dw15min = alpha15min*srcdw15min + (1-alpha15min)*dw15min[1]
    endif
    if dw15min=0 then
    myrsi15min=100
    elsif up15min=0 then
    myrsi15min=0
    else
    myrsi15min=100-100/(1+up15min/dw15min)
    endif
    if barindex>cyclicmemory15min then
    crsi15min=torque15min*(2*myrsi15min-myrsi15min[phasinglag15min])+(1-torque15min)*crsi15min[1]
    endif
    
    CRSISmooth15min = average[7](crsi15min)
    LongPos =  (kama1h > kama1h[1]) and (close > kama1h) and (kama15min > kama15min[1]) and (close > kama15min) and (CRSI15min crosses over CRSISmooth15min)
    long=0
    if LongPos>0 then
    long=1
    endif
    SCREENER[long](Long as "signal")
    
    Iván González thanked this post
    kamaScreener.itf
    #242800 quote
    finplus
    Participant
    Master

    merci Fifi743

    j’ai un retour erroné sur l’AUD/JPY (les cours sont au dessous de la KAMA1H. Je pense que la suppression de Updateonclose y est pour quelque chose.

    #242803 quote
    fifi743
    Participant
    Master

    peut etre ,mais on ne peut pas mettre updateonclose dans un screener

    #243070 quote
    fifi743
    Participant
    Master

    @finplus et en modifiant la ligne 82 par if LongPos=1 then
    tu as quoi comme resultat ?

    #243234 quote
    finplus
    Participant
    Master

    @fifi743  : je vais essayer.

    Merci pour l’idée.

    #243262 quote
    finplus
    Participant
    Master

    bonjour fifi743, j’ai testé le screener ce matin et il a l’air de fonctionner pour le croisement haussier du RSI.

    Pourrais tu m’écrire le même code pour une entrée courte ShortPos = (kama1h < kama1h[1]) and (close < kama1h) and (kama15min < kama15min[1]) and (close < kama15min) and (CRSI15min crosses under CRSISmooth15min)

    Après je bloque.

    Merci.

    fifi743 thanked this post
    #243290 quote
    fifi743
    Participant
    Master

    regarde si c’est ok pour toi

    finplus thanked this post
    kamaScreener-1.itf
    #243310 quote
    finplus
    Participant
    Master

    @fifi743, je viens de tester le screener. C’est parfait. Une toute petite chose : le screener renvoie soit un signal = 1 ou un signal = -1 en fonction du choix du critère de tri. Comment puis-je avoir les deux sur un seul rendu ?

    Merci et bon week-end.

    #243311 quote
    finplus
    Participant
    Master

    rectificatif. C’est ok. Je continue le test et te reviens.

    Bon week end.

    fifi743 thanked this post
    #243312 quote
    fifi743
    Participant
    Master

    ou tu préfere deux screeners un haussier et l’autre baissier

    #243313 quote
    finplus
    Participant
    Master

    non non c’est bon comme cela. Il retourne bien la position des cours par rapport à la KAMA1h et la KAMA15min (les deux avec 150 périodes). C’était important pour moi. Par contre, pour mémoire, j’ai toujours aucun retour avec l’indicateur Range Buy & Sell Filter. C’est vraiment étonnant.

    merci encore pour ton aide.

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

Traduction indicateur croisement RSI avec position cours au dessus des kama150


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by finplus
1 year ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 01/18/2025
Status: Active
Attachments: 2 files
Logo Logo
Loading...