Esta estrategia combina el indicador WaveTrend y el indicador Chaikin Money Flow (CMF) para identificar la dirección de la tendencia y seguir las tendencias.
El indicador de tendencia de onda puede identificar eficazmente la dirección de tendencia de los precios. Consiste en la línea media del canal, el promedio del canal y el índice del canal. La línea media del canal es un promedio móvil exponencial del precio, que refleja la tendencia del precio.
El indicador CMF puede juzgar la entrada y salida de fondos y confirmar tendencias. Este indicador se basa en la línea de acumulación / distribución ajustada por volumen, reflejando la comparación del poder de compra y venta. Un valor alrededor de 0 indica un equilibrio entre la entrada y salida de fondos. Por debajo de 0 indica la salida de fondos y por encima de 0 indica la entrada de fondos.
Esta estrategia se ejecuta en un marco de tiempo de 15 minutos. Primero utiliza el indicador WaveTrend para determinar la dirección de la tendencia del precio, luego utiliza el indicador CMF para confirmar, para seguir las tendencias. Específicamente, cuando el índice del canal WaveTrend está por debajo de -60 y el CMF es menor que -0.2, va largo. Cuando el índice del canal WaveTrend está por encima de 60 y el CMF es mayor que 0.2, va corto. Las condiciones de salida se basan principalmente en el indicador CMF: cierra la posición larga cuando el CMF es mayor que 0.18, y cierra la posición corta cuando el CMF es menor que -0.18.
Soluciones:
Esta estrategia utiliza WaveTrend para determinar la tendencia y CMF para confirmar, para el seguimiento de tendencias a muy corto plazo. Sus ventajas se encuentran en una combinación razonable de indicadores y un seguimiento de tendencias efectivo, con un marco de tiempo de 15 minutos que lo hace adecuado para el comercio a corto plazo.
/*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))