Shannon Entropy V2

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

Versi 2, Entropi Shannon Kemas kini ini merangkumi kedua-dua deadband (Plotting Optional) dan PercentRank Indicating.

Berikut adalah cara unik untuk melihat maklumat harga & jumlah anda. Gunakan nilai dikira Shannon Entropy. Ini adalah ukuran kejutan dalam data, semakin besar pergerakan atau penyimpangan dari nilai yang paling mungkin, semakin tinggi keuntungan maklumat baru. Apa yang saya fikir sangat menarik tentang nilai ini, adalah kelancaran yang memaparkan maklumat tanpa menggunakan purata bergerak. Terdapat banyak daging pada tulang ini untuk dimasukkan ke dalam skrip lain.

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

Saya telah memasukkan cara biasa yang saya telah bereksperimen dengan ini, yang merupakan perbezaan antara maklumat jumlah dan maklumat harga. Saya telah termasuk pilihan untuk mematikan data harga atau jumlah untuk melihat nilai Entropi Shannon dari kedua-dua nilai. Terdapat banyak skrip yang rumit di luar sana yang cuba melakukan apa yang dikira ini dalam 3 baris. Seperti apa pun, tidak ada makan tengah hari percuma, jadi anda boleh melihat dengan baik apabila anda menurunkan panjang anda akan dengan cepat belajar di mana frekuensi nyquist anda, anda akan mahu bekerja pada kira-kira dua kali ganda nilai bising sekurang-kurangnya.

Menggunakan skrip ini adalah berdasarkan Information dan ia menyerlahkan tempat-tempat yang memerlukan perhatian anda, sama ada kerana terdapat banyak perubahan (maklumat baru) atau terdapat maklumat baru yang minimum (kepuasan diri, pergerakan institusi).Ujian belakang

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 lanjut