Stratégie de négociation croisée quotidienne de HMA

Auteur:ChaoZhang est là., Date: 22 septembre 2023 à 17h07h15
Les étiquettes:

Résumé

Cette stratégie entre dans les transactions basées sur la ligne HMA et les croisements quotidiens des bougies et gère les positions en utilisant la logique stop loss et take profit.

La logique de la stratégie

Les principaux signaux et règles:

  • Ligne HMA: Calcule la moyenne mobile de Hull pour déterminer la tendance à moyen et long terme.

  • Prix de clôture quotidien: juge l'action des prix à court terme.

  • Signal d'entrée: HMA dépasse la clôture quotidienne précédente, avec un cours supérieur au cours de la journée précédente pour long. Inverse pour court.

  • Stop-loss/take profit: Niveaux fixes pour fermer les positions lorsqu'elles sont touchées.

Les avantages

  • Paramètres HMA réglables pour une adaptabilité.

  • Considère des indicateurs multi-temporels pour des signaux de meilleure qualité.

  • Le stop loss/take profit facilite la gestion des risques.

  • Des règles d'entrée claires et une gestion des positions.

  • Les paramètres de backtest peuvent être optimisés pour différents marchés.

Les risques

  • HMA retard peut manquer le meilleur moment d'entrée.

  • Le système de stop loss/take profit fixe peut être trop agressif ou trop conservateur.

  • Il manque un filtre de force de tendance, ce qui risque des transactions contre-tendance.

  • Des règles simples qui sont sujettes à de faux signaux.

Améliorations:

  1. Optimisez les paramètres HMA pour le retard.

  2. Utilisez le stop loss à l'arrière au lieu du fixe.

  3. Ajoutez des indicateurs de volume ou d'élan pour juger de la force de la tendance.

  4. Incorporer d'autres indicateurs comme le MACD pour la confirmation du signal.

Optimisation

Des moyens potentiels d'optimiser la stratégie:

  1. Optimisez les paramètres HMA pour une combinaison idéale.

  2. Ajoutez un filtre de force de tendance pour éviter les contre-tendances.

  3. Utilisez des arrêts dynamiques au lieu de niveaux fixes.

  4. Incorporer l'apprentissage automatique pour l'optimisation automatique des paramètres.

  5. Ajoutez un trading simulé pour tester les performances dans le monde réel.

Résumé

La logique de la stratégie est claire, mais il y a place à l'amélioration. L'ajout de filtres de tendance, les arrêts dynamiques peuvent améliorer la stabilité.


/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by SeaSide420       Enters on crossovers, exits Basket when profit $ = TP
// strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1)
SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01)
TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01)
price=input(title="Source",type=input.source,defval=open)
Period=input(14, minval=1)
hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period)))
s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off)
s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off)
cp=s2<price?color.lime:color.red
cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0)
cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0)
cp3=plot(hma,title="HMA",color=color.black)
fill(cp1,cp2,color=cp,transp=1)
fill(cp1,cp3,color=cp,transp=75)
closeall=strategy.openprofit<SL or strategy.openprofit>TP
if closeall
    strategy.close_all(comment = "Close All")
if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1])
    strategy.order("Buy", strategy.long)
if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1])
    strategy.order("Sell", strategy.short)

Plus de