
A estratégia de linha de demarcação futura de Hearst é uma estratégia de negociação baseada no conceito de linha de demarcação futura (Future Line of Demarcation, FLD) desenvolvido por J. M. Hearst na década de 1970. A estratégia prevê a movimentação de preços futuros, traçando uma linha simples, mas de profundo significado, que desvia os dados de preços para a frente por meio de um ciclo no eixo do tempo. Concretamente, a estratégia se concentra principalmente na interação entre os três períodos de Hearst: o ciclo de sinal, o ciclo de negociação e o ciclo de tendência.
O núcleo da estratégia da linha divisória futura de Hearst é o desvio de dados de preços para a frente em um semicíclo no tempo, construindo uma linha divisória futura (FLD). Por exemplo, no caso de um ciclo de 40 dias, a FLD será representada por 20 dias movendo os dados de preços atuais para a frente no gráfico. A estratégia se concentra principalmente em três ciclos de Hearst: o ciclo de sinal (considerando os 20 dias), o ciclo de negociação (considerando os 20 dias) e o ciclo de tendência (considerando os 80 dias).
Os principais pontos positivos da estratégia futura de divisão de Hearst são:
Embora a estratégia da futura linha divisória de Hearst tenha suas vantagens, há também alguns riscos potenciais:
Para mitigar esses riscos, os comerciantes podem considerar a otimização de parâmetros, adaptar a estratégia para diferentes condições de mercado e definir medidas adequadas de controle de perda e gestão de risco.
A futura estratégia de divisão de fronteiras de Hearst pode ser otimizada nos seguintes aspectos:
Através dessas melhorias, a futura estratégia de divisão da Hearst pode se adaptar melhor a diferentes cenários de mercado, aumentando sua estabilidade e lucratividade.
A estratégia de linha divisória futura de Hurst é uma estratégia de negociação inovadora baseada no conceito de linha divisória futura de J. M. Hurst. Construindo uma linha divisória futura, movendo os dados de preço para a frente por meio de um semicicíclo, e combinando três diferentes ciclos de Hurst: o ciclo de sinal, o ciclo de negociação e o ciclo de tendência, a estratégia fornece uma previsão do movimento de preços futuros.
/*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 ✌💗📈