L'idée de base de cette stratégie est de comparer la Hull Moving Average (HMA) avec les valeurs du chandelier pour générer des signaux d'achat et de vente.
Premièrement, la stratégie calcule le HMA d'une certaine période en utilisant la fonction hma (). Ensuite, elle obtient le prix d'ouverture du chandelier précédent comme référence. Si le HMA est supérieur au prix d'ouverture de la bougie précédente, un signal d'achat est généré. Si le HMA est inférieur au prix d'ouverture de la bougie précédente, un signal de vente est généré.
Les conditions d'entrée sont que le prix doit briser HMA dans la direction inverse avant d'entrer sur le marché. Cela signifie qu'il n'achètera que lorsque le prix dépasse HMA par le bas. Il ne vendra que lorsque le prix dépasse HMA par le haut. Cela évite d'être piégé par les marchés oscillants.
Les conditions de sortie sont d'arrêter la perte lorsque le prix retombe de l'autre côté de la HMA. Par exemple, si le prix tombe en dessous de la HMA après l'achat, il arrête la vente à perte.
En résumé, cette stratégie identifie la direction de la tendance principale en utilisant la douceur de HMA pour générer des signaux.
L'utilisation de HMA au lieu de SMA permet de mieux identifier les tendances et de filtrer le bruit.
Le mécanisme de rupture peut réduire la probabilité d'être piégé et d'ouvrir des positions répétitives.
L'adoption du prix précédent de la bougie plutôt que du prix actuel évite l'ajustement de la courbe.
Les règles sont simples et claires, adaptées à l'optimisation des paramètres et au trading des robots.
Peut être appliqué de manière flexible à n'importe quel instrument et à n'importe quel délai, avec une universalité.
Un mauvais réglage des paramètres HMA peut manquer les tendances ou être trop sensible.
Le fait de s'appuyer sur un seul indicateur est susceptible d'être arrêté par des tentatives de rupture, envisagez de combiner d'autres indicateurs pour filtrer les signaux.
Le stop loss est trop proche de la HMA, peut être pris au piège à nouveau par une rupture ultérieure.
Impossible de déterminer la direction et la force de la tendance.
Le stop loss fixe provoque une forte fluctuation du rapport risque/rendement.
Cette stratégie est relativement simple et pratique dans l'ensemble avec une idée de base claire. Elle identifie la tendance majeure avec HMA et filtre les faux signaux avec une rupture. Elle évite d'être étouffée par des marchés tumultueux. Une optimisation correcte des paramètres peut obtenir de bons résultats. Cependant, la fiabilité et le taux de gain sont encore limités en tant qu'une seule stratégie d'indicateur. Il est recommandé de combiner avec d'autres indicateurs techniques ou méthodes de gestion de l'argent pour améliorer considérablement la robustesse.
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 2h basePeriod: 15m 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/ // © SeaSide420. Any timeFrame/pair , Hull Moving Average vs Candle //@version=4 strategy("Hull Moving Average vs Candle",shorttitle="HMA-vs-Candle",overlay=true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.cash_per_order,commission_value=1.00,slippage=1) Period=input(title="Hull MA Period",type=input.integer,defval=50,minval=1) Resolution=input(title="Candle Resolution", type=input.resolution,defval="D") Price=input(title="Source of Price",type=input.source,defval=open) HMA=hma(Price,Period) Candle=security(syminfo.tickerid,Resolution,Price,barmerge.gaps_off,barmerge.lookahead_off) change_color=HMA>Candle?color.green:color.red plot1=plot(Candle,color=change_color,title="Candle Line",linewidth=2,transp=50) plot2=plot(HMA[1],color=change_color,title="Hull MA Line",linewidth=2,transp=50) fill(plot1,plot2,color=change_color,transp=50) strategy.close("BUY",when=Price<HMA and HMA<Candle,comment="close buy entry") strategy.close("SELL",when=Price>HMA and HMA>Candle,comment="close sell entry") if (Price>HMA and HMA>Candle and Price>Price[1]) strategy.entry("BUY",strategy.long) if (Price<HMA and HMA<Candle and Price<Price[1]) strategy.entry("SELL",strategy.short) // /L'-, // ,'-. /MM . . / L '-, // . _,--dMMMM\ /MMM `.. / '-, // : _,--, )MMMMMMMMM),. `QMM ,<> /_ '-,' // ; ___,--. \MM( `-' )M//MM\ ` ,',.; .-'* ; .' // | \MMMMMM) \MM\ ,dM//MMM/ ___ < ,; `. )`--' / // | \MM()M MMM)__ /MM(/MP' ___, \ \ ` `. `. /__, ,' // | MMMM/ MMMMMM( /MMMMP'__, \ | / `. `-,_\ / // | MM /MMM---' `--'_ \ |-' |/ `./ .\----.___ // | /MM' `--' __,- \"" |-' |_, `.__) . .F. )-. // | `--' \ \ |-' |_, _,-/ J . . . J-'-. `-., // | __ \`. | | | \ / _ |. . . . \ `-. F // | ___ / \ | `| ' __ \ | /-' F . . . . \ '` // | \ \ \ / | __ / \ | |,-' __,- J . . . . . \ // | | / |/ __,- \ ) \ / |_,- __,--' |. .__.----,' // | |/ ___ \ |'. |/ __,--' `.-;;;;;;;;;\ // | ___ \ \ | | ` __,--' /;;;;;;;;;;;;. // | \ \ |-'\ ' __,--' /;;;;;;;;;;;;;;\ // \ | | / | __,--' `--;;/ \;-'\ // \ | |/ __,--' / / \ \ // \ | __,--' / / \ \ // \|__,--' _,-;M-K, ,;-;\ // <;;;;;;;; '-;;;; // ~ priceless artwork by SeaSide420