
Фьючерсная линия демаркации (англ. Future Line of Demarcation, FLD) - торговая стратегия, основанная на концепции будущей линии демаркации (англ. Future Line of Demarcation, FLD), выдвинутой в 1970-х годах Дж. М. Херстом. Эта стратегия позволяет прогнозировать будущее движение цены путем нанесения на финансовые графики простой, но весьма значимой линии, то есть переноса ценных данных на полцикла вперед по временной шкале.
В основе стратегии фьючерсной демаркации Херста лежит смещение ценных данных вперед по временной шкале на полгода и построение будущих демаркационных линий (FLD). Например, в случае 40-дневного цикла ФЛД будет представлено на графике с перемещением текущих ценных данных вперед на 20 дней. Стратегия в основном фокусируется на трех циклах Херста: сигнальном цикле (20 дней), торговом цикле (20 дней) и трендовом цикле (80 дней).
Основными преимуществами стратегии Херста в отношении будущей линии разграничения являются:
Несмотря на преимущества стратегии будущей линии разграничения, существуют некоторые потенциальные риски:
Чтобы смягчить эти риски, трейдер может рассмотреть возможность оптимизации параметров, адаптации стратегии к различным рыночным условиям и установки соответствующих мер по сдерживанию убытков и управлению рисками.
Будущая стратегия демаркации Херста может быть оптимизирована в следующих аспектах:
Благодаря этим оптимизационным мерам, будущая стратегия демаркации Hearst может лучше адаптироваться к различным рыночным условиям, повышая ее стабильность и прибыльность.
Фьючерсная линия Хёрста - инновационная торговая стратегия, основанная на концепции будущих линий Хёрста. Построение будущих линий Хёрста обеспечивает прогноз будущего ценового движения путем переноса данных о ценах вперед на половину цикла и объединения трех различных циклов Хёрста (сигнальный цикл, торговый цикл и цикл тренда). Трейдер может определить рыночную тенденцию или замыкание и определить выходную точку, наблюдая за тем, как цены пересекаются и отклоняются от линии 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 ✌💗📈