
허스트 미래 경계선 전략은 J.M. 허스트가 1970년대에 제안한 미래 경계선 (Future Line of Demarcation, FLD) 개념을 기반으로 한 거래 전략이다. 이 전략은 금융 차트에서 간단하지만 의미있는 선을 그리는 것으로, 즉 가격 데이터를 시간 축에서 반주기를 앞으로 이동시키는 것으로 미래의 가격 움직임을 예측한다. 구체적으로 이 전략은 주로 세 개의 허스트 주기의 상호 작용을 고려한다. 신호 주기, 거래 주기 및 트렌드 주기.
허스트의 미래 분계선 전략의 핵심은 가격 데이터를 시간축에서 반주기를 전진시켜 미래 분계선을 구축하는 것이다. 예를 들어, 40 일 주기에서, FLD는 현재 가격 데이터를 차트에 20 일 전진하여 나타낸다. 이 전략은 주로 세 개의 허스트 주기에 초점을 맞추고 있다. 신호주기 (20 일), 거래주기 (20 일) 및 트렌드주기 (80 일). 가격과 이 세 가지 FLD 선의 교차 및 반향 모형을 관찰함으로써 거래자는 시장의 추세를 판단하거나 정리할 수 있다.
허스트의 미래 경계선 전략의 주요 장점은 다음과 같습니다.
허스트의 미래 경계선 전략에는 장점이 있지만, 몇 가지 잠재적인 위험도 있습니다.
이러한 위험을 완화하기 위해, 거래자는 변수 최적화를 고려할 수 있으며, 다양한 시장 조건에 맞게 전략을 조정하고, 적절한 스톱 로즈 및 위험 관리 조치를 설정할 수 있습니다.
허스트의 미래 경계선 전략은 다음과 같은 부분에서 최적화 될 수 있습니다.
이러한 최적화를 통해, 허스트의 미래 분계선 전략은 다양한 시장 환경에 더 잘 적응할 수 있으며, 안정성과 수익성을 향상시킬 수 있습니다.
허스트 미래 경계선 전략은 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 ✌💗📈