RicardoSantos

[RS]Neo Wave V0

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)
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&lang=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
Reply
Great!
Wave charts without so much hassle. It's pretty great, shame it can't be done 100% correctly.
Reply
EN English
EN English (UK)
EN English (IN)
DE Deutsch
FR Français
ES Español
IT Italiano
PL Polski
TR Türkçe
RU Русский
PT Português
ID Bahasa Indonesia
MS Bahasa Melayu
TH ภาษาไทย
VI Tiếng Việt
JA 日本語
KO 한국어
ZH 简体中文
ZH 繁體中文
AR العربية
Home Stock Screener Forex Signal Finder Cryptocurrency Signal Finder Economic Calendar How It Works Chart Features House Rules Moderators Website & Broker Solutions Widgets Stock Charting Library Feature Request Blog & News FAQ Help & Wiki Twitter
Profile Profile Settings Account and Billing My Support Tickets Contact Support Ideas Published Followers Following Private Messages Chat Sign Out