Стратегия линии разграничения будущего Херста

SMA
Дата создания: 2024-04-29 13:58:06 Последнее изменение: 2024-04-29 13:58:06
Копировать: 2 Количество просмотров: 903
1
Подписаться
1617
Подписчики

Стратегия линии разграничения будущего Херста

Обзор

Фьючерсная линия демаркации (англ. Future Line of Demarcation, FLD) - торговая стратегия, основанная на концепции будущей линии демаркации (англ. Future Line of Demarcation, FLD), выдвинутой в 1970-х годах Дж. М. Херстом. Эта стратегия позволяет прогнозировать будущее движение цены путем нанесения на финансовые графики простой, но весьма значимой линии, то есть переноса ценных данных на полцикла вперед по временной шкале.

Стратегический принцип

В основе стратегии фьючерсной демаркации Херста лежит смещение ценных данных вперед по временной шкале на полгода и построение будущих демаркационных линий (FLD). Например, в случае 40-дневного цикла ФЛД будет представлено на графике с перемещением текущих ценных данных вперед на 20 дней. Стратегия в основном фокусируется на трех циклах Херста: сигнальном цикле (20 дней), торговом цикле (20 дней) и трендовом цикле (80 дней).

Стратегические преимущества

Основными преимуществами стратегии Херста в отношении будущей линии разграничения являются:

  1. Простая и понятная: стратегия основана на простой концепции ФЛД, которую легко понять и применить.
  2. Прогнозируемость: ФЛД обеспечивает прогноз будущих ценовых движений, смещая данные о ценах вперед.
  3. Многоциклический анализ: стратегия объединяет три различных цикла Херста, чтобы обеспечить более полный анализ рынка.
  4. Идентификация трендов и сборов: наблюдая за тем, как цена взаимодействует с линиями FLD, трейдер может судить о тенденциях рынка или сборах.
  5. Настраиваемость: Стратегия предоставляет настраиваемый триггер для выравнивания позиции, и трейдер может установить точку выхода в соответствии со своими предпочтениями.

Стратегический риск

Несмотря на преимущества стратегии будущей линии разграничения, существуют некоторые потенциальные риски:

  1. Чувствительность к параметрам: эффективность стратегии может зависеть от параметров, таких как длина цикла, и различные параметры могут привести к различным результатам.
  2. Рыночная адаптивность: стратегия может плохо работать в определенных рыночных условиях, таких как неочевидные тенденции или резко колеблющиеся рынки.
  3. Задержка: поскольку ФЛД рассчитывается на основе исторических данных, может быть определенная задержка.
  4. Слишком большие сделки: если триггер для выравнивания позиций установлен неправильно, это может привести к чрезмерным сделкам и высоким ценам.

Чтобы смягчить эти риски, трейдер может рассмотреть возможность оптимизации параметров, адаптации стратегии к различным рыночным условиям и установки соответствующих мер по сдерживанию убытков и управлению рисками.

Направление оптимизации стратегии

Будущая стратегия демаркации Херста может быть оптимизирована в следующих аспектах:

  1. Оптимизация параметров: оптимизация параметров, таких как длина цикла, триггеры плавных позиций, для улучшения эффективности стратегии.
  2. Анализ нескольких временных рамок: применение стратегии в разных временных рамках для получения более полного представления о рынке.
  3. Комбинирование с другими показателями: объединение FLD с другими техническими показателями (например, с подвижными средними, колебателями и т. д.) для повышения надежности сигнала.
  4. Управление рисками: внедрение механизмов управления потерями и позициями для контроля рисков и оптимизации доходов.
  5. Рыночная адаптивность: разработка целевых оптимизированных программ для различных рыночных условий (например, тенденции, потрясения и т. д.).

Благодаря этим оптимизационным мерам, будущая стратегия демаркации 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 ✌💗📈