Entropi Shannon V2

Penulis:ChaoZhang, Tanggal: 2022-05-23 15:07:54
Tag:stdevWMA

Versi 2, Entropi Shannon Pembaruan ini mencakup baik deadband (Plotting Optional) dan PercentRank Indicating.

Berikut adalah cara unik untuk melihat informasi harga & volume Anda. Gunakan nilai yang dihitung dari Shannon Entropy. Ini adalah ukuran kejutan dalam data, semakin besar pergerakan atau penyimpangan dari nilai yang paling mungkin, semakin tinggi keuntungan informasi baru. Apa yang saya pikir sangat menarik tentang nilai ini, adalah kelancaran yang menampilkan informasi tanpa menggunakan moving average. Ada banyak daging pada tulang ini untuk dimasukkan ke dalam skrip lain.

H = -sum(prob(i) * log_base2(prob(i)))

Saya telah menyertakan cara khas yang saya telah bereksperimen dengan ini, yaitu perbedaan antara informasi volume dan informasi harga. Saya telah menyertakan opsi untuk mematikan data harga atau volume untuk melihat nilai Entropi Shannon dari salah satu nilai. Ada banyak skrip kompleks di luar sana yang mencoba melakukan perhitungan ini dalam 3 baris. Seperti halnya apa pun, tidak ada makan siang gratis, jadi Anda dapat melihat dengan baik ketika Anda menurunkan panjang Anda akan dengan cepat belajar di mana frekuensi nyquist Anda, Anda akan ingin bekerja pada sekitar dua kali nilai bising minimal.

Menggunakan skrip ini didasarkan pada Information dan menyoroti tempat-tempat yang membutuhkan perhatian Anda, baik karena ada banyak perubahan (informasi baru) atau ada informasi baru minimal (kepuasan diri, gerakan institusional).backtest

img


/*backtest
start: 2022-04-22 00:00:00
end: 2022-05-21 23:59:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © kocurekc

//@version=4
//
// @author Kocurekc
// Rev-3, Added STDev bands and Precent Rank
// Rev-2, Shannon entropy
// Rev-1, new picture for moderators
// Rev-0, added colors, flipped delta to clean up view
//
// Live a little, publish your scripts...be a John Elhers
//

study(title="Shannon Entropy V2", shorttitle="Info-S", precision=2)
src = input(close, title="source", type=input.source)
len = input(9, title="Entropy Length", type=input.integer)
range = input(0.025, title="color level", type=input.float)
avg = input(44, title="Averaging Length", type=input.integer)
vPR = input(2, title="Percent Rank Limit", type=input.integer)
bc = input(true, title="Include Source", type=input.bool)
vc = input(true, title="Include Volume", type=input.bool)
pb = input(true, title="Print Bands", type=input.bool)

//Shannon Entropy, for source (close) or for Volume or both
cr = src/sum(src,len)
vr = log(volume)/sum(log(volume),len)
info = ((vc ? sum(vr*log10(vr)/log10(2),len) : 0) - (bc ? vc ? sum(cr*log10(cr)/log10(2),len) : sum(cr*log10(cr)/log10(2),len) : 0))

//coloring for Shannon Entropy using both source and volume
hc1 = info > range ? #4caf50 : info > range * -1 ? #ffeb3b : info <= range * -1 ? #f44336 : na

//Plotting 
plot(info, style=(bc and vc ? plot.style_columns :plot.style_line ), color=hc1 )
plot((bc and vc ? 0 : na), color=color.gray)


//Top/Bottom STDev
value = wma(info,avg)
top = value+stdev(info,len)
btm = value-stdev(info,len)
plot(pb ? top:na)
plot(pb ? btm:na)

//Percent Rank and ploting
hvp = percentrank(info,avg)
plotshape(hvp>(100-vPR) ? info : na, location=location.absolute, style=shape.triangledown, color=color.red, size=size.tiny, transp=30, offset=0)
plotshape(hvp<vPR ? info : na, location=location.absolute, style=shape.triangleup, color=color.green, size=size.tiny, transp=30, offset=0)

if hvp<vPR
    strategy.entry("Enter Long", strategy.long)
else if hvp>(100-vPR)
    strategy.entry("Enter Short", strategy.short)

Berkaitan

Lebih banyak