Tags:

This strategy is based on the body of the candle, combined with the EMA indicator to judge the market trend direction, to achieve the ORIGINAL PRIMITIVE TREND TRACKING effect. Go long when there is a large yang line, go short when there is a large yin line, so as to track the market trend.

- Calculate the average body length sbody of the last 30 K-line candles
- When the latest K-line is a yang line and the body length is greater than sbody/2, go long
- When already long, if the latest K-line is a yin line, the body length is greater than sbody/2, and the current position is profitable, then close the long position
- When the latest K-line is a yin line and the body length is greater than sbody/2, go short
- When already short, if the latest K-line is a yang line, the body length is greater than sbody/2, and the current position is profitable, then close the short position

This strategy has the following advantages:

- Original and simple, easy to understand and implement
- Based on candle structure judgment, has some effect on catching breakouts
- Track trends, can capture larger moves
- Fast stop loss when profitable, helps lock in profits

This strategy also has some risks:

- Unable to effectively filter false breakouts, may cause unnecessary losses
- Judging only by candles is susceptible to slippage and gap influence
- Did not consider the problem of excessive trading frequency

Risks can be reduced by:

- Combine with other indicators to filter signals
- Set stop loss strategy
- Optimize parameters to control trade frequency

This strategy can be optimized in the following aspects:

- Add breakout indicators to filter false breakouts
- Add stop loss strategy to reduce single loss
- Incorporate trend indicators to verify trend direction
- Parameter optimization to find the best parameter combination

This strategy belongs to the original simple trend tracking strategy. By judging candle structures, it can effectively track trend directions. At the same time, setting a fast stop loss mechanism can lock in profits. This strategy can supplement the trend tracking portfolio, but still needs to be optimized to reduce risks. It is worth further researching the effect of combining with other indicators in the future.

/*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()

- Multi-Period RSI Grid Trading Strategy
- Dual Exponential Moving Average Crossover Strategy
- Trend Tracking Moving Average RSI Strategy
- Monthly Close Price and Moving Average Crossover Strategy
- Bollinger Bands Breakout short-term trend following Strategy
- Buying dips with take profit and stop loss
- RSI Axial Moving Average Crossover Strategy
- Dual SMA Crossover Strategy
- Dual EMA and RSI Combination Strategy
- Speculation Gulf : Trend Follow Strategy Based on SAR
- The Bollinger Bands Stop Loss Strategy
- Trend Tracking Strategy Based on Multi-indicator
- Multiple Moving Average Dynamic Trend Strategy
- Price-based Stop Loss and Take Profit Strategy
- Timeframe Power Trading Strategy
- Bi-Directional Trend Tracking Moving Average Crossover Strategy
- Personalized Momentum Trading Strategy
- Moving Average Envelop Channel Trend Following Strategy
- Momentum Combined with Trend Judgment Multi-factor Quantitative Trading Strategy
- Momentum Breakout Strategy Based on Internal Amplitude Stop Loss