Cette stratégie mesure le temps de séjour des prix dans différentes zones afin d'identifier les zones à faible friction et les écarts de transactions dans ces zones.
Calculer le ratio de maintien des prix autour des niveaux actuels au cours des N dernières périodes en tant que friction des prix.
Identifier si le prix entre récemment dans des zones de faible friction avec un temps de séjour minimal.
Utilisez une moyenne pondérée rapide pour déterminer la direction de la tendance récente.
Profitez lorsque le prix rentre dans des zones de haute friction en anticipant un renversement de tendance.
Paramètres personnalisables, y compris le retour de frottement, la zone de rupture, etc.
Les frictions de prix évitent les marchés variés et trouvent les zones d'éclatement de la tendance.
Le MA rapide se combine avec le frottement pour déterminer la direction.
Des visuels intuitifs montrant les niveaux de friction des prix.
Paramètres par défaut optimisés pour le trading de crypto haute fréquence.
Une logique simple et claire, facile à comprendre et à personnaliser.
La friction des prix est incapable de prédire pleinement les mouvements futurs.
Une MA rapide peut entraîner un timing inexact.
Légalisation inefficace des entrées et des sorties.
L'optimisation risque d'être trop adaptée.
Les paramètres fixes peuvent être moins performants sur les marchés volatils.
Testez différentes périodes pour calculer le frottement des prix.
Évaluer les différents types d'AM pour déterminer la tendance récente.
Optimisez les paramètres de la zone de rupture pour une plus grande stabilité.
Ajoutez le stop loss et le take profit pour la gestion des risques.
Considérer les paramètres dynamiques pour s'adapter à l'évolution des marchés.
Reprise des tests sur plus de symboles et de délais.
Cette stratégie négocie des zones de frottement des prix avec un potentiel de rupture à forte probabilité, avec des avantages et des inconvénients.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //made for 30m chart with BTCUSD or other cryptocurrency strategy("LUBE",overlay=false ) friction=0.0 barsback=input(500,"bars back to measure friction",step=100) flevel=input(50,"0-100 friction level to stop trade",step=2) tlevel=input(-10,"pic lower than 0 to number selected above to initiate trade",step=2) fl=flevel/100 tl=tlevel/100 for i = 1 to barsback friction := if high[i] >= close and low[i] <= close friction+(1+barsback)/(i+barsback) else friction range=input(100,"bars back to measure lowest friction",step=10) lowf = lowest(friction,range) highf = highest(friction,range) midf = (lowf*(1-fl)+highf*fl) lowf2 = (lowf*(1-tl)+highf*tl) plot(friction) m=plot(midf[5],color=color.red) l=plot(lowf2[5],color=color.white) h=plot(highf[5],color=color.white) fill(l,h,color.white) src = input(title="Source", type=input.source, defval=close) //FIR Filter _fir(src) => (4 * src + 3 * nz(src[1]) + 2 * nz(src[2]) + nz(src[3])) / 10 fir = _fir(src) trend = fir > fir[1]? 1:-1 //bgcolor(trend==1?color.lime:color.red,transp=50) long=friction<lowf2[5] and trend == 1 short=friction<lowf2[5] and trend == -1 end=friction > midf[5] keeplong=0 keeplong:=long?1:nz(keeplong[1]) keeplong:=short or end?0:keeplong keepshort=0 keepshort:=short?1:nz(keepshort[1]) keepshort:=long or end?0:keepshort bgcolor(keeplong==1?color.lime:keepshort==1?color.red:na,transp=50) leverage=input(2,"leverage",step=.5) enableshort=input(true,"enable shorts?") barcount=0 barcount:=nz(barcount[1])+1 contracts=min(max(.000001,(strategy.equity/close)*leverage),50000) strategy.entry("Long",strategy.long,when=long and barcount>20, qty=contracts) strategy.close("Long",when=short or end ) strategy.entry("Short",strategy.short,when=short and enableshort==true and barcount>20, qty=contracts) strategy.close("Short",when=(long or end) and enableshort==true) alertcondition(keeplong==1 and keeplong[1]==0,"LONG") alertcondition(keepshort==1 and keepshort[1]==0,"SHORT") alertcondition((keeplong[1]==1 or keepshort[1]==1) and (keeplong==0 and keepshort==0),"CLOSE TRADE")