L'entropie de Shannon V2

Auteur:ChaoZhang est là., Date: le 23 mai 2022 à 15h07:54
Les étiquettes:détectionLa WMA

La deuxième version, l'entropie Shannon Cette mise à jour comprend à la fois une bande morte (Plotting Optional) et PercentRank Indicating.

Voici une façon unique d'examiner vos informations sur le prix et le volume. Utilisez la valeur calculée de l'entropie de Shannon. Il s'agit d'une mesure de la surprise dans les données, plus le mouvement ou l'écart par rapport à la valeur la plus probable est grand, plus le nouveau gain d'information est élevé. Ce que je trouve si intéressant à propos de cette valeur, c'est la douceur avec laquelle elle affiche les informations sans utiliser de moyennes mobiles. Il y a beaucoup de viande sur cet os à incorporer dans d'autres scripts.

H = -sum (prob) i * log (base) 2 (prob) i)

J'ai inclus la façon typique que j'ai expérimenté avec cela, qui est la différence entre l'information de volume et l'information de prix. J'ai inclus l'option de désactiver les données de prix ou de volume pour voir la valeur de l'entropie de Shannon de l'une ou l'autre valeur. Il y a une tonne de scripts complexes qui essaient de faire ce que ce calcul fait en 3 lignes. Comme pour tout, il n'y a pas de déjeuners gratuits, donc vous pouvez bien voir que lorsque vous abaissez les longueurs, vous apprendrez rapidement où se trouvent vos fréquences nyquist, vous voudrez travailler à environ le double de la valeur bruyante au minimum.

L'utilisation de ce script est basée sur Information et il met en évidence les endroits qui ont besoin de votre attention, soit parce qu'il y a une grande quantité de changement (nouvelle information) ou il y a un minimum de nouvelles informations (complaisance, mouvements institutionnels).test de retour

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)

Relationnée

Plus de