Cette stratégie combine l'indicateur WaveTrend et l'indicateur Chaikin Money Flow (CMF) pour identifier la direction de la tendance et suivre les tendances.
L'indicateur WaveTrend peut identifier efficacement la direction de tendance des prix. Il se compose de la ligne médiane du canal, de la moyenne du canal et de l'indice du canal. La ligne médiane du canal est une moyenne mobile exponentielle du prix, reflétant la tendance du prix.
L'indicateur CMF peut juger de l'afflux et de la sortie de fonds et confirmer les tendances. Cet indicateur est basé sur la ligne d'accumulation/distribution ajustée par volume, reflétant la comparaison du pouvoir d'achat et de vente. Une valeur autour de 0 indique un équilibre entre l'afflux et la sortie de fonds.
Cette stratégie s'exécute sur une période de 15 minutes. Elle utilise d'abord l'indicateur WaveTrend pour déterminer la direction de la tendance des prix, puis utilise l'indicateur CMF pour confirmer, afin de suivre les tendances. Plus précisément, lorsque l'indice du canal WaveTrend est inférieur à -60 et que le CMF est inférieur à -0,2, elle va long. Lorsque l'indice du canal WaveTrend est supérieur à 60 et que le CMF est supérieur à 0,2, elle va court. Les conditions de sortie sont principalement basées sur l'indicateur CMF - elle ferme la position longue lorsque le CMF est supérieur à 0,18, et ferme la position courte lorsque le CMF est inférieur à -0,18.
Les solutions:
Cette stratégie utilise WaveTrend pour déterminer la tendance et CMF pour confirmer, pour le suivi de tendance à très court terme. Ses avantages résident dans une combinaison raisonnable d'indicateurs et un suivi de tendance efficace, avec un délai de 15 minutes le rendant approprié pour le trading à court terme. Mais il existe des risques tels que des signaux inexacts et une période de détention trop courte.
/*backtest start: 2023-11-08 00:00:00 end: 2023-11-15 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR) //Chaikin Money Flow len = input(20, minval=1, title="Length") mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"]) e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)") p = input(false, title="Show in Percentage") mvs = input(false, "Factor in Price (Money Volume)") src=input(hlc3, title="Source for price factor") trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price wv = pow(volume,e/10.0)*(mvs ? src : 1) ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na cmf_p = if p 50*cmf+50 else cmf b = p ? 50 : 0 //WaveTrend n1 = input(10, "Channel Length") n2 = input(21, "Average Length") obLevel1 = input(60, "Over Bought Level 1") obLevel2 = input(53, "Over Bought Level 2") osLevel1 = input(-60, "Over Sold Level 1") osLevel2 = input(-53, "Over Sold Level 2") ap = hlc3 esa = ema(ap, n1) d = ema(abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ema(ci, n2) wt1 = tci wt2 = sma(wt1,4) // longCondition = wt1 < -60 and cmf < - 0.20 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = wt1 > 60 and cmf > 0.20 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) closeLongCondition = cmf_p > 0.18 ? true : false closeShortCondition = cmf_p < -0.18 ? true : false strategy.close("My Long Entry Id", when=(closeLongCondition == true)) strategy.close("My Short Entry Id", when=(closeShortCondition == true))