RicardoSantos

[RS]Neo Wave V0

8036 lượt xem
611
EXPERIMENTAL: Request for IvanLabrie.
Method for reading Neo Wave's.
note: some issues arent possible to work around/fix due to limitations in pinescript.
Mã nguồn mở

Với tinh thần của TradingView, tác giả đã xuất bản tập lệnh theo mã nguồn mở, vì thế trader có thể dễ dàng hiểu và tùy chỉnh được. Bạn có thể sử dụng miễn phí, hoặc tùy chỉnh lại mã đã được cấp phép bởi Quy tắc Chung. Bạn có thể sử dụng nó trên biểu đồ.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?
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)

Bình luận

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
+3 Phản hồi
Great!
Wave charts without so much hassle. It's pretty great, shame it can't be done 100% correctly.
+3 Phản hồi
@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
+1 Phản hồi
RicardoSantos kitdoctor
@kitdoctor, my guess would have been to do with repaint issues, just take consideration that this is a 5y old script >.<
Phản hồi
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."
Phản hồi
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
Phản hồi
Hello. Do you have such expertise for MetaTrader, if you have, thank you for sharing it with me, thanks
Phản hồi
Can you make volume wave indicator based on this?
Phản hồi
Hi every one , how to make this indicator to my diagramm?
Phản hồi