Chiến lược này dựa trên thân của nến, kết hợp với chỉ số EMA để đánh giá hướng xu hướng thị trường, để đạt được hiệu ứng theo dõi xu hướng nguyên thủy. Đi dài khi có một đường yang lớn, đi ngắn khi có một đường yin lớn, để theo dõi xu hướng thị trường.
Chiến lược này có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Các rủi ro có thể được giảm bằng cách:
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược này thuộc về chiến lược theo dõi xu hướng đơn giản ban đầu. Bằng cách đánh giá cấu trúc nến, nó có thể theo dõi hiệu quả các hướng xu hướng. Đồng thời, thiết lập một cơ chế dừng lỗ nhanh có thể khóa lợi nhuận. Chiến lược này có thể bổ sung vào danh mục đầu tư theo dõi xu hướng, nhưng vẫn cần được tối ưu hóa để giảm rủi ro. Nó đáng để nghiên cứu thêm về tác dụng của việc kết hợp với các chỉ số khác trong tương lai.
/*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()