Strategi ini adalah berdasarkan badan lilin, digabungkan dengan penunjuk EMA untuk menilai arah trend pasaran, untuk mencapai kesan TRACKING TREND PRIMITIVE ORIGINAL.
Strategi ini mempunyai kelebihan berikut:
Strategi ini juga mempunyai beberapa risiko:
Risiko boleh dikurangkan dengan:
Strategi ini boleh dioptimumkan dalam aspek berikut:
Strategi ini tergolong dalam strategi pengesanan trend asal yang mudah. Dengan menilai struktur lilin, ia dapat dengan berkesan mengesan arah trend. Pada masa yang sama, menetapkan mekanisme stop loss yang cepat dapat mengunci keuntungan. Strategi ini dapat melengkapkan portfolio pengesanan trend, tetapi masih perlu dioptimumkan untuk mengurangkan risiko. Adalah bernilai meneliti lebih lanjut kesan menggabungkan dengan penunjuk lain pada masa akan datang.
/*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()