La stratégie Hurst Future Lines of Demarcation est une stratégie de trading basée sur le concept de Future Line of Demarcation (FLD) introduit par J.M. Hurst dans les années 1970. La stratégie prédit les mouvements de prix futurs en traçant une ligne simple mais profonde sur un graphique financier, qui est construite en compensant les données de prix d'un demi-cycle à l'avant sur l'axe temporel.
Le noyau de la stratégie de démarcation des lignes futures de Hurst est de compenser les données de prix d'un demi-cycle en avance sur l'axe temporel pour construire la ligne de démarcation future (FLD). Par exemple, dans le contexte d'un cycle de 40 jours, la FLD serait représentée en déplaçant les données de prix actuelles de 20 jours en avance sur le graphique. La stratégie se concentre principalement sur trois cycles de Hurst: le cycle du signal (par défaut: 20 jours), le cycle commercial (par défaut: 20 jours) et le cycle de tendance (par défaut: 80 jours). En observant les modèles de croisement et de divergence entre le prix et ces trois lignes FLD, les traders peuvent déterminer les tendances ou les consolidations du marché.
Les principaux avantages de la stratégie Hurst sur les lignes de démarcation futures sont les suivants:
Malgré ses avantages, la stratégie Hurst sur les lignes de démarcation futures comporte également des risques potentiels:
Pour atténuer ces risques, les traders peuvent envisager l'optimisation des paramètres, l'ajustement de la stratégie en fonction des différentes conditions du marché et la définition de mesures appropriées de stop-loss et de gestion des risques.
Les lignes de démarcation futures de Hurst peuvent être optimisées dans les aspects suivants:
Grâce à ces mesures d'optimisation, la stratégie Hurst pour les lignes de démarcation futures peut mieux s'adapter à divers environnements de marché, améliorant ainsi sa stabilité et sa rentabilité.
La stratégie Hurst Future Lines of Demarcation est une stratégie de trading innovante basée sur le concept de J.M. Hurst de Future Line of Demarcation. En compensant les données de prix d'un demi-cycle en avance sur l'axe du temps pour construire la Future Line of Demarcation et en combinant trois cycles Hurst différents (cycle de signal, cycle commercial et cycle de tendance), la stratégie fournit une prévision des mouvements de prix futurs. Les traders peuvent déterminer les tendances ou les consolidations du marché et identifier les points d'entrée et de sortie en observant les modèles de croisement et de divergence entre les lignes de prix et FLD. Bien que la stratégie présente des avantages tels que la simplicité, la nature prospective et l'analyse multi-cycle, elle présente également certains risques potentiels, notamment la paramétrabilité, l'adaptabilité et les opportunités d'adaptation du marché.
/*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 ✌💗📈