
La stratégie de démarcation future de Hearst est une stratégie de négociation basée sur le concept de ligne de démarcation future (FLD) développé par J. M. Hearst dans les années 1970. Cette stratégie consiste à tracer une ligne simple mais profonde sur un graphique financier, en déplaçant les données de prix d’un demi-cycle vers l’avant sur l’axe du temps, afin de prédire les mouvements de prix futurs. Plus précisément, la stratégie se concentre principalement sur l’interaction entre trois cycles de Hearst: le cycle de signal, le cycle de transaction et le cycle de tendance.
Le cœur de la stratégie de délimitation future de Hurst est de déplacer les données de prix d’un demi-cycle vers l’avant sur l’axe du temps pour construire la délimitation future (FLD). Par exemple, dans le cas d’un cycle de 40 jours, le FLD sera représenté par le déplacement des données de prix actuelles de 20 jours vers l’avant sur le graphique. La stratégie se concentre principalement sur les trois cycles de Hurst: le cycle de signal (20 jours par défaut), le cycle de négociation (20 jours par défaut) et le cycle de tendance (80 jours par défaut).
Les principaux avantages de la future stratégie de délimitation de Hearst sont les suivants:
Bien que la stratégie de délimitation future de Hearst ait ses avantages, elle comporte aussi des risques potentiels:
Afin d’atténuer ces risques, les traders peuvent envisager d’optimiser les paramètres, d’adapter leur stratégie aux différentes conditions du marché et de mettre en place des mesures appropriées de gestion des pertes et des risques.
La future stratégie de délimitation de Hearst pourrait être optimisée dans les domaines suivants:
Grâce à ces mesures d’optimisation, la future stratégie de délimitation de Hearst peut mieux s’adapter aux différents environnements de marché et améliorer sa stabilité et sa rentabilité.
La stratégie de délimitation future de Hurst est une stratégie de négociation innovante basée sur le concept de délimitation future de J.M. Hurst. En déplaçant les données de prix d’un demi-cycle vers l’avant, en construisant une délimitation future et en combinant trois cycles de Hurst différents (cycle de signal, cycle de transaction et cycle de tendance), la stratégie fournit une prévision de la direction future des prix.
/*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 ✌💗📈