Swing Line indicator by Ron Black

v10.3
Swing Line indicator by Ron Black

A precise picture of the short-term price swings is basic to understanding the market direction. The Clear method is an effective way to identify and visualize short-term price swings. The method benefits the individual trader because it is simple, objective, requires no calculation, and has no delay.

This indicator is the implementation of the swing line indicator presented in Ron Black’s article in this issue (“Getting Clear With Short-Term Swings”).

Code converted from TradeStation programming language by a request in the English forum.

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?

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

  1. luxrun • 09/20/2017 #

    Nicolas, ho realizzato un screener dall’indicatore swingline ron-black, che allego. Vorrei però intercettare il cambiamento di swing da ribassista a rialzista, al cambiamento di posizione. Invece lo screener mi restituisce tutti i titoli che al momento sono in fase rialzista. Ho provato a mettere un supertrend per limitare i risultati ma non sono ancora soddisfatto. E’ possibile, a tuo parere, avere una soluzione che trovi i titoli che hanno cambiato swing nella barra precedente alla ricerca dell screener?

    //PRC_SwingLine Ron Black | screener al rialzo
    //20.09.2017
    //Nicolas @ http://www.prorealcode.com
    //Sharing ProRealTime knowledge

    if upsw=1 then
    if high>hH then
    hH=high
    endif
    if low>hL then
    hL=low
    endif

    if high<hL then
    upsw=0
    lL=low
    lH=high
    endif
    endif

    if upsw=0 then
    if low<lL then
    lL=low
    endif
    if highlH then
    upsw=1
    hH=high
    hL=low
    endif
    endif

    if upsw=1 then
    swingline=hL

    else
    swingline=lH

    endif

    indicator1=Supertrend[3,10]
    cond1 = (close > indicator1[1])

    screener [swingline=hL AND cond1]

  2. supertiti • 09/20/2017 #

    Bonjour,

    Ajouter une moyenne au code c’est bien aussi :

  3. supertiti • 09/20/2017 #

    // SLRB SwingLine Ron Black PRC indicator 20.09.2017
    //Nicolas @ http://www.prorealcode.com Sharing ProRealTime knowledge

    if upsw=1 then
    if high>hH then
    hH=high
    endif
    if low>hL then
    hL=low
    endif

    if high<hL then
    upsw=0
    lL=low
    lH=high
    endif
    endif

    if upsw=0 then
    if low<lL then
    lL=low
    endif
    if highlH then
    upsw=1
    hH=high
    hL=low
    endif
    endif

    if upsw=1 then
    swingline=hL
    r=255
    g=228
    b=196
    else
    swingline=lH
    r=255
    g=0
    b=55
    endif

    maSL = average [p,m](swingline)

    return maSL coloured (r,g,b) as ” maSwingLine ” , customclose as ” customeclose SLRB ” // swingline coloured(r,g,b) style(line,3) as “Swing Line” ,

    // Variables :
    // p = 20 entier
    // m = Matype = pondérée

  4. luxrun • 09/20/2017 #

    Grazie Supertiti, provo questo tuo codice con la media pesata!

  5. luxrun • 09/20/2017 #

    Questo è il codice completo, perché mancavano delle righe di codice, nella versione di Supertiti. Ho anche cambiato i colori.
    // SLRB SwingLine Ron Black PRC indicator modified Supertiti 20.09.2017
    //Nicolas @ http://www.prorealcode.com Sharing ProRealTime knowledge
    if upsw=1 then
    if high>hH then
    hH=high
    endif
    if low>hL then
    hL=low
    endif

    if high<hL then
    upsw=0
    lL=low
    lH=high
    endif
    endif

    if upsw=0 then
    if low<lL then
    lL=low
    endif
    if highlH then
    upsw=1
    hH=high
    hL=low
    endif
    endif

    if upsw=1 then
    swingline=hL
    r=0
    g=0
    b=255
    else
    swingline=lH
    r=255
    g=0
    b=0
    endif

    maSL = average [p,m](swingline)
    return maSL coloured (r,g,b) as ” maSwingLine ” , customclose as ” customeclose SLRB ”

    // swingline coloured(r,g,b) style(line,3) as “Swing Line” ,
    // Variables :
    // p = 20 entier
    // m = Matype = pondérée

  6. Stenozar • 09/20/2017 #

    Hi Nicolas, could this indicator be used on forex?

  7. Francesco • 09/20/2017 #

    Hi Nicolas,

    the Swing Line Indicator translate by You seems to be good.
    I thought that it can be used into a screener, simply replacing the “swingline” output variable with the “upsw” as output variable.
    Then, it can be built a new screener that gives the ticker which shows a change from 0 to 1 or from 1 to 0, simply comparing current candle with the previous one.

    I added code for Your review, if You like.

    Ciao

  8. MattD • 09/20/2017 #

    Hi Nicolas,
    Just to confirm, h=previous high and H =todays high, l=previous low and L=Todays low?? Just wanted to place the formula in excel and trying to get my head around writing it.
    Thanks
    Matt

    • Nicolas • 09/20/2017 #

      hH = highest high lH = lowest high etc..

    • MattD • 09/20/2017 #

      Hi Nicolas, Can you assist me with writing this in excel? I’m missing something, because l’m not getting the specified numbers in that chart to match. Mainly around selecting the high & low.
      Thanks
      Matt

    • Nicolas • 09/20/2017 #

      You can ask for other platforms coding through the programming services: https://www.prorealcode.com/trading-programming-services/

    • MattD • 09/20/2017 #

      Hi Nicolas, (me again)

      Can you please clarify the following.

      maOpen=(maOpen[1]*(MAperiod-1)+Open)/MAPeriod
      maClose=(maClose[1]*(MAperiod-1)+Close)/MAPeriod
      maLow=(maLow[1]*(MAperiod-1)+Low)/MAPeriod
      maHigh=(maHigh[1]*(MAperiod-1)+High)/MAPeriod

      I’m trying to understand where/what these figures are derived from.
      Starting from O,H,L,C figures. maOpen(1) (what does the (1) signify, and is Maperiod -1 essentially the setting “maperiod less1?

      trying to match the numbers on PRT.
      Can you please help with this one?
      Thanks
      Matt

  9. Juan Kumi • 09/20/2017 #

    It seems to be very interesting! Can somebody better explain how they are created? Given my limited knowledge of programming language I failed to give me a precise idea of how it functions.

  10. mcha • 09/20/2017 #

    Bonjour
    Merci pour ce travail, par contre, un petit bug dans le code de Supertiti à la ligne 23 mais sûrement corrigé de vous-même . if high< lH then (mine de rien on essaie de suivre…) le ''<'' avait disparu.

  11. Juan Kumi • 09/20/2017 #

    Is it possible to create a binary indicator for this indicator? What?

    • Nicolas • 09/20/2017 #

      Should be possible but what do you think of precisely?

  12. Juan Kumi • 09/20/2017 #

    I would like the indicator to +1 when swing line is light blue, and opposite -1 when the swing line is purple.

    • Nicolas • 09/20/2017 #

      Just add the r and g variables to the return instruction and you’ll get the information of the current color (r or g would be equal to 255 if the actual trend is bearish or bullish, otherwise it would be equal to 0):
      return swingline coloured(r,g,b) style(line,2) as “Swing Line”, r, g

  13. Juan Kumi • 09/20/2017 #

    Thanks but I did not succeed. Can someone help me?

    • nwesterhuijs • 09/20/2017 #

      //PRC_SwingLine Ron Black | indicator
      //20.09.2017
      //Nicolas @ http://www.prorealcode.com
      //Sharing ProRealTime knowledge

      if upsw=1 then
      if high>hH then
      hH=high
      endif
      if low>hL then
      hL=low
      endif

      if high<hL then
      upsw=0
      lL=low
      lH=high
      endif
      endif

      if upsw=0 then
      if low<lL then
      lL=low
      endif
      if highlH then
      upsw=1
      hH=high
      hL=low
      endif
      endif

      if upsw=1 then
      swingline=hL
      r=0
      g=255
      b=255
      swup=1
      swdwn=0
      else
      swingline=lH
      r=255
      g=0
      b=255
      swup=0
      swdwn=-1
      endif

      return swingline coloured(r,g,b) style(line,2) as “Swing Line”,swup,swdwn

  14. sally31120 • 09/20/2017 #

    Bonjour,
    Je n’arrive pas à faire fonctionner cet indicateur?
    Quel est le bon code dans sa totalité?
    Merci

    • Nicolas • 09/20/2017 #

      Il suffit de le télécharger, de l’importer et de l’appliquer sur le graphique du prix.

  15. avatar
    fabioerliam • 09/20/2017 #

    Nicolas…loving this indicator that you have created!!! Thanks for sharing with everyone! I’m not a profectional indicator’s builder…can you please, when you have time, insert a link here of this indicator (your original version with no MM) but with the signal for long/short enter indicated with the bars below the graphic…green to buy and red to sell…like the one you created for the divergences…I know that someone already asked for it and you have answered him, but following that instructions I’m not able to modify it correctly…if it is not a disturb!
    Thanks so much!
    And another request…don’t hate me:)….how can I indicated, inside a TS, to go long only if this indicator is setting in long way(coloured blu) or short if it indicates to go short(coloured pink)?
    Thanks again

    • Nicolas • 09/20/2017 #

      Sorry but I don’t understand what you are talking about the “original version with no MM” ?

  16. avatar
    fabioerliam • 09/20/2017 #

    I’m reffering to the first code you posted here…after that, someone has add a ponderate average (sorry…in italian called media mobile MM) but I don’t need it… I would like that you can modify for me the original code indicator you posted:)…
    Thanks

  17. giankhy • 09/20/2017 #

    Hi Nicholas, congratulations always for your work and sharing.
    I wanted to ask if with the ron black indicator you can program a trading system.
    Thank you

    • Nicolas • 09/20/2017 #

      Please post your code request in a specific topic in the ProOrder forum, thank you.

  18. Ayoub86 • 291 days ago #

    Hi,
    I get this error:

    “Errore di sintassi: Linea 48, carattere 27 Uno dei seguenti caratteri sarebbe più appropriato di “r”: – a color value (0 – 255)”

    how can I solve it?

    thank you

    • Nicolas • 289 days ago #

      Your PRT version is inferior to 10.3? So the code in its default state is not compatible. A solution is to delete all references to variables r,g and b in the code.

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+3 more likes

Related users ' posts
Vinks_o_7
1 week ago
Ciccio
1 week ago
Swinglines
v10.3
Swinglines
0
Indicators
Nicolas
2 months ago
Francesco78 derschnee spiace a me che non riesci a replicarla. Prima di esprimere giudizi pensaci 2 volte.
avatar
unkown ;-) sfido chiunque a riuscirci!
avatar
unkown infatti basta leggere i post degli altri....
juanj DId some tests using MACD validations on higher timeframes using MTF functionality and unfor...
FREDNC Hi Francesco I tried with :
FREDNC adx[14]>adxmin and adx[14] > adxr[14] and adx[14]>adxmin and adx[14] DIminus[3](clo...
Marcel The line is just a moving average line. The indicator reacts on the Parabolic SAR dots.
Mattzi I dont get the dots! What am i doing wrong? :)
Mattzi Ignore this comment ;)
Vonasi Discussion on this indicator/filter can be found here: https://www.prorealcode.com/topic/121...
Vonasi Forum discussion on these indicators can be found here: https://www.prorealcode.com/topic/av...
jennr29 Hi. Is it possible to convert this code to an mq4 file?
Nicolas Sorry but our website is dedicated to prorealtime programming. However, you can ask for priv...
Leo Does it opens pending orders?... maybe they were not trigger.
Mattzi Dont know, all i can see is that it opened an order yesterday in backtest but not live. Th...
Jean-Christophe Hello Leo, when running the strategy from 29/12/2015 to 31/08/2018 on ProRealTime Premium, I...
odin here is my code c1 = ExponentialAverage[3](close) c2 = ExponentialAverage[5](close) c3 ...
juanj HI Odin Can you also kindly provide the code for the 'Short Term Trader Squezze' indicato...
odin this is the short term Trader squezze indicator. short term Trader in Trouble and squezze is...
Geronima Ortiz I watched the video three times, but I can not put the npips parameter as a variable. I do...
Geronima Ortiz I think the video is for an old version of prorealtime, the images do not correspond at all ...
Nicolas indicator1 = CALL “PRC_StopReversal”[npips, 1] and define npips in the optimization window ...
Tradingrob Is it possible to make this indicator also suitable for dax30, s&p500, mdax50, and even...
Pablo Jimenez Hello, Odin , thanks for this amazing strategy. One question , would it work for indexes cfd...
Juanjo Hola, Gracias por la estrategia. Cuando comentas que funciona para todos los mercados, ...¿f...
Caribeengeek Bonjour j’avais vu que vous proposiez d’écrire des codes pour ceux qui s’y connaisse pas Mai...
Caribeengeek Les devises unité
Nicolas Merci d'utiliser le forum pour les demandes de programmation personnalisée
Actabi Thank you ! Have you realised your "next step" ?
Jessar guten Tag, gibt es bereits die Aktualisierte Datei?
Per Inge Gents - An update - I have been studying various trading approaches, as this one that is bas...
juanj This gets me thinking about creating a strategy on the 5min timeframe that only takes trades...
GraHal I noted above does okay on DAX 10 min with even a reduction to 30 of the Stop Loss. I've s...
Kris75 Hi Grahal, What about making the same great work you did with the snipet on google doc but...
styrke Hello Nicolas, Nice screener, I appreciate the way you always try to condense at maximum th...
Nicolas There's no particular reason. RSI is widely use with its default period and results seems re...

Top