트렌드 추적 시스템 (Trend Following System) 은 이중 상자 시스템을 기반으로 하는 트렌드 추적 전략이다. 장기 상자를 사용하여 전체 트렌드 방향을 결정하고 단기 상자가 트리거될 때 주요 트렌드와 일치하는 신호를 취한다. 이 전략은 위험을 관리하면서 트렌드를 따른다.
전략은 트렌드를 결정하기 위해 두 개의 상자를 사용합니다. 장기 상자는 주요 트렌드 방향을 판단하기 위해 더 긴 기간을 사용하며 단기 상자는 거래 신호를 생성하기 위해 더 짧은 기간을 사용합니다.
우선 전략은 주요 트렌드 방향을 결정하기 위해 장기 상자의 가장 높고 가장 낮은 가격을 계산합니다. 트렌드 방향은 다음과 같습니다.
주요 트렌드를 결정한 후 전략은 단기 상자 신호를 기반으로 포지션을 취하기 시작합니다. 구체적으로:
또한, 스톱 로즈와 영업 취득은 다음과 같이 구성됩니다.
주요 트렌드가 역전되면 모든 포지션을 닫습니다.
이 전략의 장점은 다음과 같습니다.
이 전략의 위험은 다음과 같습니다.
이 전략은 다음과 같이 개선될 수 있습니다.
트렌드 추적 시스템 (Trend Following System) 은 트렌드 결정과 단기 조정을 결합한 실용적인 트렌드 트레이딩 전략이다. 지속적인 최적화로 위험 조절을 통해 트렌드를 추적하는 강력한 자동화 시스템으로 변할 수 있다. 트렌드 트레이딩의 핵심 철학을 포함하고 있으며 심도 있는 연구를 할 가치가 있다.
[/trans]
/*backtest start: 2023-10-25 00:00:00 end: 2023-10-26 07:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © LonesomeTheBlue //@version=4 strategy("Grab Trading System", overlay = true) flb = input(defval = 80, title = "Longterm Period", minval = 1) slb = input(defval = 21, title = "Shortterm Period", minval = 1) showtarget = input(defval = true, title = "Show Target") showtrend = input(defval = true, title = "Show Trend") major_resistance = highest(flb) major_support = lowest(flb) minor_resistance = highest(slb) minor_support = lowest(slb) var int trend = 0 trend := high > major_resistance[1] ? 1 : low < major_support[1] ? -1 : trend strategy.entry("Buy", true, when = trend == 1 and low[1] == minor_support[1] and low > minor_support) strategy.entry("Sell", false, when = trend == -1 and high[1] == minor_resistance[1] and high < minor_resistance) if strategy.position_size > 0 strategy.exit("Buy", stop = major_support, comment = "Stop Buy") if high[1] == minor_resistance[1] and high < minor_resistance strategy.close("Buy", comment ="Close Buy") if strategy.position_size < 0 strategy.exit("Sell", stop = major_resistance, comment = "Stop Sell") if low[1] == minor_support[1] and low > minor_support strategy.close("Sell", comment ="Close Sell") if strategy.position_size != 0 and change(trend) strategy.close_all() majr = plot(major_resistance, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na) majs = plot(major_support, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na) minr = plot(minor_resistance, color = showtarget and trend == 1 and strategy.position_size > 0 ? color.yellow : na, style = plot.style_circles) mins = plot(minor_support, color = showtarget and trend == -1 and strategy.position_size < 0 ? color.yellow : na, style = plot.style_circles) fill(majs, mins, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na, transp = 85) fill(majr, minr, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na, transp = 85)