RicardoSantos

[RS]Neo Wave V0

5256 views
487
EXPERIMENTAL: Request for IvanLabrie.
Method for reading Neo Wave's.
note: some issues arent possible to work around/fix due to limitations in pinescript.
Remove from Favorite Scripts Add to Favorite Scripts
study(title='[RS]Neo Wave V0', overlay=true)
SHOW_TF = input(title='Display Timeframe Box:', type=bool, defval=true)
timeframe = input(title='Timeframe:', type=string, defval='D')

shift = timeframe == 'D' and period == '720' ? 2 :
        timeframe == 'D' and period == '360' ? 4 :
        timeframe == 'D' and period == '240' ? 6 :
        timeframe == 'D' and period == '180' ? 8 :
        timeframe == 'D' and period == '120' ? 12 :
        timeframe == 'D' and period == '60' ? 24 :
        timeframe == 'D' and period == '45' ? 32 :
        timeframe == 'D' and period == '30' ? 48 :
        timeframe == 'D' and period == '15' ? 96 :
        timeframe == 'D' and period == '5' ? 288 :
        timeframe == 'D' and period == '3' ? 480 :
        timeframe == 'D' and period == '1' ? 1440 :
        timeframe == 'W' and period == '720' ? 10 :
        timeframe == 'W' and period == '360' ? 20 :
        timeframe == 'W' and period == '240' ? 30 :
        timeframe == 'W' and period == '180' ? 40 :
        timeframe == 'W' and period == '120' ? 60 :
        timeframe == 'W' and period == '60' ? 120 :
        timeframe == 'W' and period == '45' ? 160 :
        timeframe == 'W' and period == '30' ? 240 :
        timeframe == 'W' and period == '15' ? 480 :
        timeframe == 'W' and period == '5' ? 1440 :
        timeframe == 'W' and period == '3' ? 2400 :
        timeframe == 'W' and period == '1' ? 7200 :
        timeframe == 'M' and period == '720' ? 40 :
        timeframe == 'M' and period == '360' ? 80 :
        timeframe == 'M' and period == '240' ? 138 :
        timeframe == 'M' and period == '180' ? 160 :
        timeframe == 'M' and period == '120' ? 240 :
        timeframe == 'M' and period == '60' ? 480 :
        timeframe == 'M' and period == '45' ? 640 :
        timeframe == 'M' and period == '30' ? 960 :
        timeframe == 'M' and period == '15' ? 1920 :
        timeframe == 'M' and period == '5' ? 0 :
        timeframe == 'M' and period == '3' ? 0 :
        timeframe == 'M' and period == '1' ? 0 :
        0

tf_counter = change(time(timeframe))!=0 ? 1 : tf_counter[1]+1
//plot(tf_counter)

tf_high = not SHOW_TF ? na : security(ticker, timeframe, high)
tf_low = not SHOW_TF ? na : security(ticker, timeframe, low)
tf_hp = plot(title='TF High', series=tf_counter >= shift ? na : tf_high, style=circles, color=black, linewidth=1)
tf_lp = plot(title='TF Low', series=tf_counter >= shift ? na : tf_low, style=circles, color=black, linewidth=1)
fill(title='Time Box', plot1=tf_hp, plot2=tf_lp, color=blue, transp=90)
//hl = high >= tf_high ? high : low <= tf_low ? low : na
//plot(hl)
hh = tf_counter == 1 ? high : high >= hh[1] ? high : hh[1]
ll = tf_counter == 1 ? low : low <= ll[1] ? low : ll[1]
//plot(hh, color=black)
//plot(ll, color=black)
hhc = change(hh)>0 ? n : hhc[1]
llc = change(ll)<0 ? n : llc[1]


direction = tf_counter == 1 ? hhc[1] < llc[1] ? hh[1] : ll[1] : tf_counter == shift ? hhc[shift] < llc[shift] ? ll[shift+1] : hh[shift+1] : na
plot(title='Wave', series=direction, color=direction>fixnan(direction[1])?green:maroon, linewidth=2, offset=-shift)

Comments

Great!
Wave charts without so much hassle. It's pretty great, shame it can't be done 100% correctly.
+2 Reply
Nice one! Reading from their site (http://www.neowave.com/info-difference.asp) it reads that they make heavy use of "golden-ratio" constant. Im currently making experimentation with this kind of "morphic numbers" with lot of attention more over the "padovan sequence" rather than the fibonacci one. For them, they tend to use the "Plastic Number" constant. Here you could find some great information about the logic behind this "morphic numbers" and their relation to -Fractal Nature- http://www.infovis.net/printMag.php?num=145&%3Blang=2
Here is the two algebraic constant calculations that I'm using in order to experiment with my own algo's if you like to play with them:

// PHI Constant with Negative
_PHI = (1+sqrt(5))/2 // Phi Number (Fibonacci Seq.)
_NegPHI = (1-sqrt(5))/2

// Plastic Number with Negative
nroot(index,number) =>
cond_r = index == 0 or number == 0 or number < 0
If_True = 0
If_False = (exp((1/index) * log(number)))
iff(cond_r, If_True, If_False)
_PN = (nroot(3,(108 + 12*sqrt(69))) + nroot(3,(108 - 12*sqrt(69))))/6 // Plastic Number (Podovan Seq.)
_NegPN = (nroot(3,(108 + 12*sqrt(69))) - nroot(3,(108 - 12*sqrt(69))))/6
+1 Reply
@RicardoSantos are you still active? Are you able to elaborate on "note: some issues arent possible to work around/fix due to limitations in pinescript."

Thank you Noel
Reply
RicardoSantos kitdoctor
@kitdoctor, my guess would have been to do with repaint issues, just take consideration that this is a 5y old script >.<
Reply
kitdoctor RicardoSantos
@RicardoSantos, thanks for responding. Would you be able to elaborate on "...repaint issues.."? I know very little about pinescript. Do you happen to know if your script is the script referred to in this article on NEoWave chart construction https://www.liteforex.com/blog/for-professionals/neo-wave-theory-part-1-rules-of-creating-charts/ In this article it says "There's even a simpler way to construct the chart using the NeoWave V0 indicator, which can be easily found in the Trading View library."
Reply
RicardoSantos kitdoctor
@kitdoctor,
1: use of security to draw time box,
2: looks like it, only one in the library listed under neo wave tag
Reply
Can you make volume wave indicator based on this?
Reply
Home Stock Screener Forex Screener Crypto Screener Economic Calendar How It Works Chart Features Pricing Refer a friend House Rules Help Center Website & Broker Solutions Widgets Charting Solutions Lightweight Charting Library Blog & News Twitter
Profile Profile Settings Account and Billing Referred friends Coins My Support Tickets Help Center Ideas Published Followers Following Private Messages Chat Sign Out