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
Gaspare Grazie Ivan, ottimo indicatore posso chiedere, per favore, una strategia che apre posizio...
Iván thanks! maybe I could test it
foufurieux
2 weeks ago
ANTS indicator
ANTS indicator
3
Indicators
atlante good morning the indicatordoes not display the photo you postes only upload nessages appear ...
foufurieux Please find a new image of the indicator
foufurieux Sorry impossible adding a new image
jacquesgermain
1 month ago
jacquesgermain à utiliser en unité de temps jour
patapouf Pourrait-on créer un screener sur la base de cet indicateur, dont l'idée semble très pertine...
jacquesgermain le voici (détecte le croisement bande haute ou bande basse) : timeframe(monthly) c1=open ...
okeus Ivan, riesci a creare un indicatore per le "evolventi paraboliche" ? grazie
groelandes Impagable tu trabajo cada semana. ¡Gracias!
Iván de nada! :)
Row trading Hi, to see the current day put : for y = i-1 to i-1 do to see all days put : for y = 1 t...
Razz Hi, thanks for your answer. I'll keep an eye on the whole thing, I've now expanded it to in...
Razz Adding an image did not work : https://www.directupload.eu/file/d/8765/3ez6bzlq_png.htm
f1_maik Well programmed, but in my eyes ‘only’ better Bollinger Bands with all their quirks and fals...
groelandes Me uno al comentario de Edelmiro. Un millón de gracias por el trabajo constante, dándonos in...
JohnScher Ja, das würde mich auch interessieren
Iván
2 months ago
Madrosat Bonjour Ivan je ne sais pas si je dois écrire en Français ,anglais ,espagnol ,il y a les 3 ...
Iván Bonjour, la vérité est que ce n'est pas aussi facile qu'il n'y paraît.... Un indicateur peut...
Madrosat Merci Ivan j'espère que ce jour viendra bientôt , je sais que ce n'est pas facile car les in...
Iván
3 months ago
Madrosat Bonjour ivan Quelle différence il y a t il entre Extra trend et ultra trend lequel est le p...
P. Marlowe Muy bueno. ¿Podría hacerse para señalar extremos por el lado bajista? Lo mismo a la inversa....
Miro Esta es una versión del indicador, para ambos extremos. //-------------------------------...
P. Marlowe Muchas gracias ¡¡
Alai-n I'll specify here, when the KillZone closing time has arrived and we are on the high or low ...
Iván Hi! Yes that's it. The indicator draws the rectangle after close
bacmozbee Congratulations and many thanks for sharing your code Ivan. Clear and customizable.. added t...
@toniyecla ¡gracias! más capturas aqui: https://www.prorealcode.com/wp-content/uploads/2024/10/IC...
robert123 I had a go at the 'order block' version- badly done I'm sure....but a start. // Sonarlabs ...
robert123 take ''sens1 = 5'' out and put ''rango'' in as variable

Top