
Chiến lược đường phân giới tương lai của Herst là một chiến lược giao dịch dựa trên khái niệm đường phân giới tương lai (Future Line of Demarcation, FLD) do J.M. Herst đưa ra vào những năm 1970. Chiến lược này dự đoán xu hướng giá trong tương lai bằng cách vẽ một đường đơn giản nhưng có ý nghĩa sâu sắc trên biểu đồ tài chính, tức là dịch chuyển dữ liệu giá lên phía trước một nửa chu kỳ trên đường thời gian.
Cốt lõi của chiến lược đường phân chia tương lai của Herst là chuyển dữ liệu giá sang phía trước một nửa chu kỳ trên đường thời gian để xây dựng đường phân chia tương lai (FLD). Ví dụ, trong trường hợp chu kỳ 40 ngày, FLD sẽ được thể hiện bằng cách chuyển dữ liệu giá hiện tại sang phía trước 20 ngày trên biểu đồ. Chiến lược này tập trung chủ yếu vào ba chu kỳ Herst: chu kỳ tín hiệu (20 ngày mặc định), chu kỳ giao dịch (20 ngày mặc định) và chu kỳ xu hướng (80 ngày mặc định).
Những ưu điểm chính của chiến lược phân chia trong tương lai của Hurst là:
Mặc dù có những lợi thế của chiến lược phân chia trong tương lai của Hurst, nhưng cũng có một số rủi ro tiềm ẩn:
Để giảm thiểu những rủi ro này, các nhà giao dịch có thể xem xét tối ưu hóa các tham số, điều chỉnh chiến lược cho các điều kiện thị trường khác nhau và thiết lập các biện pháp quản lý rủi ro và dừng lỗ thích hợp.
Chiến lược phân chia của Hurst trong tương lai có thể được tối ưu hóa trong các lĩnh vực sau:
Thông qua các biện pháp tối ưu hóa này, chiến lược phân chia của Hearst trong tương lai có thể thích ứng tốt hơn với các môi trường thị trường khác nhau, tăng sự ổn định và lợi nhuận của nó.
Chiến lược đường phân giới tương lai của Herst là một chiến lược giao dịch sáng tạo dựa trên khái niệm đường phân giới tương lai của J.M. Herst. Chiến lược này cung cấp dự đoán về xu hướng giá trong tương lai bằng cách đưa dữ liệu giá về phía trước một nửa chu kỳ, xây dựng đường phân giới tương lai, và kết hợp ba chu kỳ Herst khác nhau: chu kỳ tín hiệu, chu kỳ giao dịch và chu kỳ xu hướng. Chiến lược này cung cấp cho các nhà giao dịch các cơ hội và công cụ độc đáo để nắm bắt thị trường và thị trường.
/*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 ✌💗📈