리소스 로딩... 로딩...

허스트 미래 경계선 전략

저자:차오장, 날짜: 2024-04-29 13:58:06
태그:SMA

img

전반적인 설명

허스트 미래 경계선 전략 (Hurst Future Lines of Demarcation Strategy) 은 1970년대에 J.M. 허스트가 도입한 미래 경계선 (FLD) 개념에 기반한 거래 전략이다. 이 전략은 금융 차트에 간단한 그러나 깊은 선을 그어 미래의 가격 움직임을 예측하며, 이는 시간 축에 절반 주기를 앞둔 가격 데이터를 교차하여 구성된다. 구체적으로, 이 전략은 세 개의 허스트 사이클: 신호 사이클, 무역 사이클, 트렌드 사이클 사이의 상호 작용에 초점을 맞추고 있다. 가격과 FLD 라인 사이의 교차 및 분차 패턴을 관찰함으로써, 거래자는 시장 추세 또는 통합을 측정하고 진입 및 출구 지점을 결정할 수 있다.

전략 원칙

허스트 미래 분계 라인 전략의 핵심은 미래 분계 라인 (FLD) 을 구성하기 위해 시간 축에 절반의 시기를 앞두고 가격 데이터를 상쇄하는 것입니다. 예를 들어, 40 일 주기의 맥락에서 FLD는 현재 가격 데이터를 차트에서 20 일 앞당겨 표시됩니다. 전략은 주로 세 개의 허스트 사이클에 초점을 맞추고 있습니다: 신호 사이클 (전환: 20 일), 무역 사이클 (전환: 20 일), 트렌드 사이클 (전환: 80 일). 가격과 이 세 가지 FLD 패턴 사이의 교차 및 오차 패턴을 관찰함으로써 거래자는 시장 추세 또는 통합을 결정할 수 있습니다. 가격이 FLD 신호 위에있을 때, 신호는 FLD 위에 있으며, FLD는 트렌드 라인 위에 있으며, 신호는 거래 단계 (전환: 20 일), FLD 시그널 (전환: 20 일), FLD 시그널 (전환: 80 일) 또는 FLD 시그널 (전환: FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FLD, FL

전략적 장점

허스트 미래 경계선 전략의 주요 장점은 다음과 같습니다.

  1. 단순성: 전략은 FLD의 간단한 개념에 기초하고 있으며 이해하기 쉽고 적용하기 쉽습니다.
  2. 전향적: FLD는 가격 데이터를 전향적으로 교차함으로써 미래의 가격 움직임을 예측합니다.
  3. 다주기 분석: 전략은 세 가지 다른 허스트 주기를 결합하여 보다 포괄적인 시장 분석을 제공합니다.
  4. 트렌드 및 통합 식별: 가격 및 FLD 라인 사이의 상호 작용 패턴을 관찰함으로써 거래자는 시장 트렌드 또는 통합을 결정할 수 있습니다.
  5. 사용자 정의 가능성: 전략은 조정 가능한 Closing the Trade 트리거를 제공하여 거래자가 선호도에 따라 출구 지점을 설정할 수 있습니다.

전략 위험

허스트의 미래 경계선 전략은 장점에도 불구하고 몇 가지 잠재적인 위험을 가지고 있습니다.

  1. 매개 변수 감수성: 전략의 성능은 사이클 길이와 같은 매개 변수에 민감할 수 있으며, 다른 매개 변수 설정이 다른 결과를 초래할 수 있습니다.
  2. 시장 적응력: 전략은 불확실한 추세 또는 높은 변동성 같은 특정 시장 조건에서 낮은 성과를 낼 수 있습니다.
  3. 지연: FLD는 역사적 데이터에 기초하여 계산되기 때문에 어느 정도의 지연이 있을 수 있습니다.
  4. 오버 트레이딩: 트레이드 종료 트리거가 제대로 설정되지 않으면 오버 트레이딩과 높은 거래 비용을 초래할 수 있습니다.

이러한 위험을 완화하기 위해 거래자는 매개 변수 최적화를 고려하고 다른 시장 조건에 대한 전략을 조정하고 적절한 스톱 로스 및 리스크 관리 조치를 설정할 수 있습니다.

전략 최적화 방향

허스트 미래 경계선 전략은 다음 측면으로 최적화 될 수 있습니다.

  1. 매개 변수 최적화: 전략의 성능을 향상시키기 위해 사이클 길이 및 Close the Trade 트리거와 같은 매개 변수를 최적화합니다.
  2. 다중 시간 프레임 분석: 더 포괄적인 시장 관점을 얻기 위해 다른 시간 프레임에 전략을 적용하십시오.
  3. 다른 지표와 결합: 신호 신뢰성을 높이기 위해 FLD를 다른 기술적 지표 (예를 들어, 이동 평균, 오시레이터) 와 결합합니다.
  4. 리스크 관리: 리스크를 통제하고 수익을 최적화하기 위해 스톱 로스 및 포지션 사이즈 메커니즘을 도입합니다.
  5. 시장 적응력: 다른 시장 조건 (예: 트렌드, 오스실레이션) 에 대한 타겟 최적화 접근 방식을 개발하십시오.

이러한 최적화 조치로 Hurst Future Lines of Demarcation 전략은 다양한 시장 환경에 더 잘 적응하여 안정성과 수익성을 향상시킬 수 있습니다.

결론

허스트 미래 경계선 전략 (Hurst Future Lines of Demarcation Strategy) 은 J.M. 허스트의 미래 경계선 개념에 기반한 혁신적인 거래 전략이다. 미래 경계선의 시간 축에 가격 데이터를 반 주기로 앞당기고 세 가지 다른 허스트 주기를 (신호 주기, 무역 주기 및 트렌드 주기) 결합함으로써 전략은 미래의 가격 움직임의 예측을 제공합니다. 거래자는 시장 추세 또는 통합을 결정하고 가격과 FLD 라인 사이의 교차 및 분산 패턴을 관찰하여 입점 및 출구 지점을 식별 할 수 있습니다. 전략은 단순성, 미래 지향적 성격 및 다주기 분석과 같은 장점이 있지만 매개 변수 적응성, 적응력 및 잠재 위험도 있습니다. 전략을 최적화하기 위해 거래자는 매개 변수 최적화, 멀티 타임프레임 분석, 다른 위험 지표와의 조합, 전반적인 위험 관리 및 예측을 고려 할 수 있습니다.


/*backtest
start: 2024-04-27 00:00:00
end: 2024-04-28 00:00:00
period: 10m
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/
// © BarefootJoey

//@version=5
strategy("Hurst Future Lines of Demarcation Strategy", overlay=true)

// FLD Settings
source      = input(ohlc4, 'Source')
smoothFLD   = input.bool(false, 'Smooth FLD')
FLDtransp   = input(33, 'FLD transparency')
FLDsmooth   = input.int(5, "FLD Smoothing", minval=1, tooltip="Number of trading days to smooth the FLD")   
FLD_out = ta.sma(source , smoothFLD ? FLDsmooth : 1)

close_buy_in_1 = input.string('Price', 'Input Close Trigger 1', options=['Price', 'Signal', 'Trade', 'Trend', 'None'])
close_buy_in_2 = input.string('Trade', 'Input Close Trigger 2', options=['Price', 'Signal', 'Trade', 'Trend', 'None'])

// Quarter Cycle (Default: 20 day) Length Pivot Cycle
col_q = input.color(#da00ff, "Quarter Cycle Color")
cyc_q = input.int(5, "Signal Cycle Length")
plot(FLD_out, color=color.new(col_q, FLDtransp), title='Signal FLD', offset = math.round(cyc_q/2) )

// Trade Cycle (Default: 20 day) Length Pivot Cycle
col = input.color(#ff9800, "Trade Cycle Color")
cyc = input.int(20, "Trade Cycle Length")
plot(FLD_out, color=color.new(col, FLDtransp), title='Trade FLD', offset = math.round(cyc/2) )

// Double Cycle (Default: 80 day) Length Pivot Cycle
col_d = input.color(color.aqua, "Double Cycle Color")
cyc_d = input.int(80, "Trend Cycle Length")
plot(FLD_out, color=color.new(col_d, FLDtransp), title='Trend FLD', offset = math.round(cyc_d/2) )

// Strategy Plots
price = source
signal = FLD_out[math.round(cyc_q/2)]
trade = FLD_out[math.round(cyc/2)]
trend = FLD_out[math.round(cyc_d/2)]

// Trend State
var state = 0
if signal > trade and trade > trend 
    state := 1 // (A)
    state
if state == 1 and price < signal
    state := 2 // (B)
    state
if signal < trade and trade > trend 
    state := 3 // (C)
    state
if state == 3 and price < signal 
    state := 4 // (D)
    state
if signal < trade and trade < trend 
    state := 5 // (E)
    state
if state == 5 and price < signal
    state := 6 // (F)
    state
if signal > trade and trade < trend
    state := 7 // (G)
    state
if state == 7 and price < signal
    state := 8 // (H)
    state
state := state

// Strategy Definitions
close_buy_out_1 = close_buy_in_1 == 'Price' ? price : close_buy_in_1 == 'Signal' ? signal : close_buy_in_1 == 'Trade' ? trade : close_buy_in_1 == 'Trend' ? trend : na
close_buy_out_2 = close_buy_in_2 == 'Price' ? price : close_buy_in_2 == 'Signal' ? signal : close_buy_in_2 == 'Trade' ? trade : close_buy_in_2 == 'Trend' ? trend : na
buy = ta.crossover(price, signal) and state == 1
close_buy = strategy.position_size>0 and ta.crossunder(close_buy_out_1, close_buy_out_2)
sell = ta.crossunder(price, signal) and state == 6
close_sell = strategy.position_size<0 and ta.crossover(close_buy_out_1, close_buy_out_2)

// FLD Interaction State Background
interaction_color = state == 1 ? color.green : // A
  state == 2 ? color.aqua : // B
  state == 3 ? color.blue : // C
  state == 4 ? color.purple : // D
  state == 5 ? color.white : // E
  state == 6 ? color.red :// F
  state == 7 ? color.orange : // G
  state == 8 ? color.yellow : na // H

bgcolor(color.new(interaction_color, 90), title= "A-H Background")

bar_color = strategy.position_size>0 ? #00ff0a : strategy.position_size<0 ? #FF0000 : na
barcolor(bar_color)

if buy
    strategy.entry("Buy", strategy.long)
if close_buy
    strategy.close("Buy", qty_percent=100)

if sell
    strategy.entry("Sell", strategy.short)
if close_sell
    strategy.close("Sell", qty_percent=100)

// EoS made w/ ❤ by @BarefootJoey ✌💗📈

관련

더 많은