Esta estrategia se basa en el cuerpo de la vela, combinado con el indicador EMA para juzgar la dirección de la tendencia del mercado, para lograr el efecto ORIGINAL PRIMITIVO TREND TRACKING.
Esta estrategia tiene las siguientes ventajas:
Esta estrategia también tiene algunos riesgos:
Los riesgos pueden reducirse:
Esta estrategia puede optimizarse en los siguientes aspectos:
Esta estrategia pertenece a la estrategia original de seguimiento de tendencias simple. Al juzgar las estructuras de las velas, puede rastrear efectivamente las direcciones de la tendencia. Al mismo tiempo, establecer un mecanismo de stop loss rápido puede bloquear las ganancias. Esta estrategia puede complementar la cartera de seguimiento de tendencias, pero aún necesita ser optimizada para reducir los riesgos. Vale la pena investigar más el efecto de combinar con otros indicadores en el futuro.
/*backtest start: 2023-10-23 00:00:00 end: 2023-11-22 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's Primitive Strategy v1.0", shorttitle = "Primitive str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 10) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") usebody = input(true, defval = true, title = "Use body") useus = input(true, defval = true, title = "Use UUP") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(01, defval = 01, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Logic body = abs(close - open) sbody = ema(body, 30) / 2 bar = close > open ? 1 : close < open ? -1 : 0 //Signals up = bar == -1 and (body > sbody or usebody == false) and (close < strategy.position_avg_price or strategy.position_size <= 0 or useus == false) dn = bar == 1 and (body > sbody or usebody == false) and (close > strategy.position_avg_price or strategy.position_size >= 0 or useus == false) //Trading if up strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))) if time > timestamp(toyear, tomonth, today, 00, 00) strategy.close_all()