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
Nicolas
9 years ago
Nicolas Thanks for commenting. Well, it is not "my" indicator, it is one I have adapted from other t...
hq76 OK I will do it. Are there any possibilities to transform other indicators please?
Nicolas Yes it is possible, as long as it is possible to have the same functionalities. You can post...
r.angel It seems that the formula needs a SQRT (that is Vyangzhang = SQRT(...))
RickTrader I think to have annualized view of this historical volatility you will need : Vyangzhang =...
Nicolas
9 years ago
Miko31 Very good ! Many thanks
Nicolas
9 years ago
Nicolas
9 years ago
Vinks_o_7 great, thanks Nicolas !
Vinks_o_7 argh...still nothing even with 10 000 bars on daily or hourly basis...
Vinks_o_7 ok now : had to refresh the indicator.
211 Really nice indicator Nicolas! Well done!
supertiti Bonjour Nicolas comme j'avais l'impression qu'il en manque un bout j'ai fais ça : Peux...
Nicolas Merci supertiti ! C'est juste, encore un ptit bug quelquepart ! :|
Nicolas
9 years ago
Sniper T3-CCI
Sniper T3-CCI
0
Indicators
Nicolas
9 years ago
Nicolas
9 years ago
Denis Bonjour Nicolas, j'ai une question à propos de ce code, il faut que je la pose en anglais ca...
Nicolas En français pas de problème
robertogozzi Vous ne pouvez pas, car ProBuilder ne prend actuellement pas en charge MTF (Multiple Time Fr...
jeanguy Merci pour ce travail En quoi cette MM est elle différente d’une MM courte ?
Bern latest version pro real time not accepting code, same with Ehler's MAMA indicator. any idea...
Lotech123 This Indicator is very useful if the Risk number is altered to suit the time frame, volume o...
Bern error displaying, code must end with RETURN. Any idea hot to fix it?
j102491 how are you applying it to asc trend
Nicolas
9 years ago
Acceleration Bands
Acceleration Bands
0
Indicators
cepamoi Unfortunately, this still does not work: ONCE haOpen = medianprice haOpen = ((Open[1]+High...
Nicolas Force calculation to wait 1 bar of history already loaded: ONCE haOpen = medianprice if b...
cepamoi Now it works. Thanks a lot Nicolas! Here is the full code: // variables : // period ...
Nicolas
10 years ago
JosephFelix Hi Nicolas. Thank you for your excellent work. I am new to the platform. I have just import...

Top