Kase Peak Oscillator – v2

v10.3
Kase Peak Oscillator – v2

The Kase Peak Oscillator technical indicator was developed by Cynthia Kase.

The Kase Peak Oscillator indicator algorithm combines an Average True Range indicator and a Standard Deviation volatility indicator.

The logarithmic models used better reflect the true nature of the market and allow the indicator to automatically adapt to cycle time and volatility.

Second version of this indicator already in the library, but this time converted from a more advanced code translated from MT4 code, by a request in forums.

 

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Toto le Heros • 07/22/2017 #

    Thanks Nicolas.
    This looks very interresting, despite I am not sure I fully understand it yet. (v23 and v24 not so clear for me. v25 is just to show peaks in pink if I understand well, so it could be valuable in the “allPeaksMode” on to highlight the “unfiltered” peaks (those which don’t appear in the “allPeaksMode” on) in a different color.
    Moreover, would it be possible to code as well the “little brother” : KaseCD. “KCD is the PeakOscillator minus its own average”.
    Many thanks and in advance again Nicolas.

    • Nicolas • 07/22/2017 #

      The KaseCD should also be coded, it is discussed in the Bard’s topic here: https://www.prorealcode.com/topic/kase-peak-oscillator-kase-cd-and-kase-permission/

  2. elanoa • 07/22/2017 #

    Salve sig. Nicolas…sono andato ad inserire l’indicatore nella piattaforma ma mi da Errore nella programmazione…………Errori di sintassi: Definisci la variabile kpolongcycle,kposhortcycle,kposensitivity,kpodeviations e allpeaksmode. Puo’ aiutarmi? Grazie.

    • Nicolas • 07/22/2017 #

      Please download the file or delete all // before these variables names.

  3. AlexF • 07/22/2017 #

    Hi, I can’t understand from the code why the histogram turns violet in certain points…

    • Nicolas • 07/22/2017 #

      Violet histogram is plotted with “kppBuffer” variable. Calculated between lines 51 to 66.

  4. ooples • 07/22/2017 #

    Can anyone explain this code to me?

    Log(Close[0]/Close[1]) Does Close[0] mean the current index and Close[1] means the previous index?

  5. Bard • 07/22/2017 #

    Kase Peak Out using Williams High Volatility Vix Fix Formula: (This finds market tops and bottoms based on Volatility)

    Kase PO William’s Vix Fix:
    (Add PRT Code not Working)

    //PRC_Kase Peak Oscillator V2 | indicator
    //19.07.2017
    //Nicolas @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge
    //translated from MT4 code

    // — settings
    kpoDeviations= 2.0 // Kase peak oscillator deviations
    kpoShortCycle= 8 // Kase peak oscillator short cycle
    kpoLongCycle = 65 // Kase peak oscillator long cycle
    kpoSensitivity = 40
    allPeaksMode = 0 //1=true ; 0=false
    // — end of settings

    pd = 10

    if barindex>kpoLongCycle*2 then
    //ccLog = Log(Close[0]/Close[1])
    wvf = ((highest[pd](close)-low)/(highest[pd](close)))
    ccWVF = wvf
    ccDev = std[9](ccWVF)

    avg = average[30](ccDev)

    if (avg>0) then
    max1 = 0
    maxs = 0

    for k = kpoShortCycle to kpoLongCycle-1 do
    max1 = Max(Log(High[0]/Low[0+k])/Sqrt(k),max1)
    maxs = Max(Log(High[0+k]/Low[0])/Sqrt(k),maxs)
    next
    x1 = max1/avg
    xs = maxs/avg
    endif

    xp= kpoSensitivity*(average[3](x1)-average[3](xs))
    xpAbs = Abs(xp)

    kpoBuffer = xp
    kphBuffer = xp

    tmpVal = average[50](xpAbs)+kpoDeviations*std[50](xpAbs)
    maxVal = Max(90.0,tmpVal)
    minVal = Min(90.0,tmpVal)

    if (kpoBuffer > 0) then
    kpdBuffer = maxVal
    kpmBuffer = minVal
    else
    kpdBuffer = -maxVal
    kpmBuffer = -minVal
    endif
    kppbuffer=0
    if (not allPeaksMode) then
    if (kpoBuffer[1]>0 and kpoBuffer[1]>kpoBuffer[0] and kpoBuffer[1]>=kpoBuffer[2] and kpoBuffer[1]>= maxVal) then
    kppBuffer = kpoBuffer[1]
    endif
    if (kpoBuffer[1]<0 and kpoBuffer[1]<kpoBuffer[0] and kpoBuffer[1]<=kpoBuffer[2] and kpoBuffer[1]0 and kpoBuffer[1]>kpoBuffer[0] and kpoBuffer[1]>=kpoBuffer[2]) then
    kppBuffer = kpoBuffer[1]
    endif
    if (kpoBuffer[1]<0 and kpoBuffer[1]<kpoBuffer[0] and kpoBuffer[1]<=kpoBuffer[2]) then
    kppBuffer = kpoBuffer[1]
    endif
    endif
    endif

    return kphBuffer coloured(105,105,105) style(histogram), kpoBuffer coloured(105,105,105) style(line,2), kpdBuffer coloured(255,0,255), kpmBuffer coloured(0,191,255), kppBuffer coloured(255,0,255) style(histogram,2) as "kpp buffer"

    //105,105,105=grey
    //255,0,255=pink
    //0,191,255=blue

  6. Bard • 07/22/2017 #

    *Correction:

    if barindex>kpoLongCycle*2 then
    //ccLog = Log(Close[0]/Close[1])

    ccWVF = ((highest[pd](close)-low)/(highest[pd](close)))
    ccDev = std[9](ccWVF)

    Better colour scheme with Green Peak Outs to avoid confusion with KPO pink Peak Outs:

    return kphBuffer coloured(105,105,105) style(histogram), kpoBuffer coloured(105,105,105) style(line,2), kpdBuffer coloured(124,252,0), kpmBuffer coloured(0,191,255), kppBufferPO coloured(0,255,0) style(histogram,2) as “kpp buffer”

    //105,105,105=grey
    //255,0,255 =old pink Histogram PO
    //0,191,255 =blue
    //124,252,0 =green line
    //0,255,0 =green Histogram PO

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
effegi
2 years ago
effegi A good alternative solution, even I had thought of the variant that uses high and low (proba...
Seb did you automate that 1-2-3 strategy? how is that working for you?
effegi Not yet, I'm busy developing other strategies/indicators at the moment, but it's on my to-do...
larouedegann Amélioration du code ............................... Je trouvais assez frustrant d'attendre...
larouedegann if TIME=081500 then valeurhaute= highest[1](high) valeurbasse= lowest[1](low) milieu = v...
magnus59 Hi Nicolas, thaks for your great work here, I need a scanner for the swedish OMX when ma...
Nicolas Yes, sure please open a new topic in the ProScreener forum section, thank you.
paullyons Hello! Thanks for post your indicators. I'd like you to let me know how to draw lines for ...
Khaled
2 years ago
DELBERT Bonjour , Nicolas , je voudrais installer cet indicateur sur ma PRT , version 10.3 , mais je...
Nicolas En effet, il faut à minima une version 11. La 10.3 est tellement ancienne maintenant.. Je pe...
DELBERT Bonjour , Nicolas , merci pour ta réponse , je fais un essai et je verrais . Salutations .
Rafa Hi Nicolas! I can´t install this indicator. it installs in a separate window not as an av...
Nicolas Add it on the price, see how: https://www.prorealcode.com/blog/video-tutorials/how-to-add-an...
Frankyslo1 No consigo instalarlo en el precio en PRL-version 10
jonpt88 This is great! Such a job you did!. I do not really understand though how it works.
Bruno Carnazzi Thank you, I've just realized that all links are missing in the description. You can find th...
Madrosat repainting as cog or not repainting?
Nicolas It doesn't repaint.
gaby IDE merci beaucoup, je l'ai mais il se place en bas avec le rsi, comment le placer au dessus sur...
Dron Gracias
Fpal Hello, thanks very much for your work. I am trying to flag when the close price is i...
Nicolas
3 years ago
KijunTrend indicator
KijunTrend indicator
2
Indicators
Msport71 Nicolas, buongiorno. Grazie del cortese aiuto. Buona giornata. Carlo
MaoRai54 Thanks Nicolas, it seems to work well on 1H TF on Dax. !!!
Khaled Thank you Nicolas! Looks like TDI (Trader Dynamic Index). Interesting to give Exit Signal as...
Nicolas ColorBetween is an instruction added last year: https://www.prorealcode.com/documentation/co...
finplus Bonjour, serait-il possible de remplacer l'écart formé par les bandes de Bollinger par l'ATR...
Khaled As this section of the forum is in English, I'll reply in English. I'm using PRT v11, so I d...
sal157011 Don't understand where it says: "Volume Pressure Histogram: Columns plotted in positive are ...
Khaled Not sure to understand the question. However, the columns (Histogram) represent the variable...
Jiacky
3 years ago
Kalman Filter
Kalman Filter
0
Indicators
Jiacky
3 years ago
Range Factor
Range Factor
0
Indicators
denmar Thank you
Moitomkw Improving performance origin in line 17 --> if OscAG > 0 then adding --> if (Osc...
carlvan Yes, that's better
Alai-n Cela fonctionne très bien !!! Super Merci
andreabarbuscia Ciao Nicolas, molto bello questo indicatore, l'ho apprezzato molto. Lo sto testando insieme...
Alai-n Je poste ici un lien afin de mieux appréhender le CVD-Cumulative Volume Delta : https://www....
Nicolas
3 years ago
ipbvba Quelqu'un a t il pu créer un screener pour cet indicateur, cela serait très utile. Merci bea...
Nicolas Je pense que le code ci-dessous doit fonctionner pour un screener: //PRC_Wick Pressure | i...
Nicolas la dernière ligne doit être: screener[signal>0 or signal<0](signal)
Nicolas
3 years ago
DELBERT Bonsoir , Nicolas , j'ai transféré votre indicateur sur ma PRT 10,3 et j'ai un méssage d'ére...
Nicolas Vous pouvez essayer en remplacant la ligne avec: vwapsd = sqrt(average[lengthz](square(clo...
DELBERT Bonsoir , merci Nicolas , a bientôt .
AndPar Buongiorno Nicolas, vorrei provare questo indicatore, ma quando lo inserisco in PRT mi vengo...
Nicolas Basta aggiungerlo al prezzo https://www.prorealcode.com/blog/video-tutorials/how-to-add-an-i...
Aragorna hello Nicolas, this indicator works with the last Beta version of PRT? Ive seen tha many in...

Top