Stratégie de trading crossover quotidienne HMA


Date de création: 2023-09-22 17:07:15 Dernière modification: 2023-09-22 17:07:15
Copier: 1 Nombre de clics: 813
1
Suivre
1617
Abonnés

Aperçu

La stratégie s’ouvre par un signal croisé de la ligne moyenne HMA et de la ligne solaire et utilise une logique de stop-loss pour gérer la position. La stratégie est combinée à différents indicateurs de périodes de temps et s’applique à la négociation de tendances sur les lignes moyennes et longues.

Principe de stratégie

La stratégie est principalement basée sur les indicateurs et les règles suivants pour juger des signaux de trading:

  • Ligne moyenne HMA: Calcule la moyenne mobile de Hull du prix pour déterminer la direction de la tendance de la ligne moyenne longue.

  • La clôture de la ligne du jour: pour juger de la tendance des prix sur des périodes plus courtes

  • Signaux d’entrée: les HMA qui ont franchi la clôture de la journée précédente et dont le prix de la courte période est supérieur au prix de la journée précédente sont considérés comme des signaux d’entrée plus élevés; le contraire est un signal de sortie.

  • Stop Loss: paramétrage d’un stop loss fixe, qui se ferme lorsque le prix atteint le stop loss ou le stop loss.

Avantages stratégiques

  • Les paramètres de l’indicateur HMA sont réglables et adaptatifs.

  • La qualité du signal est améliorée en tenant compte des différents indicateurs de la période.

  • La logique d’arrêt des pertes est mise en place pour faciliter le contrôle des risques.

  • Des règles d’entrée claires et une stratégie de gestion des positions.

  • Les paramètres de rétroaction peuvent être optimisés pour s’adapter à différents environnements de marché.

Analyse des risques

  • Le retard de l’HMA pourrait avoir manqué le meilleur moment pour l’entrée.

  • Les paramètres de l’arrêt de perte fixe peuvent être trop radicaux ou conservateurs.

  • Le manque de tendance à la forte ou à la faible évaluation peut entraîner un retour en arrière.

  • Les règles de négociation simples peuvent générer de faux signaux.

Les mesures suivantes peuvent être envisagées pour réduire les risques:

  1. Optimiser les paramètres HMA pour équilibrer le retard.

  2. Réglez le suivi des pertes et ajustez la position des pertes en temps réel.

  3. La tendance à l’augmentation des prix est jugée faible.

  4. Ajout de signaux de transaction validés par des indicateurs tels que MACD.

Orientation de l’optimisation de la stratégie

La stratégie peut être optimisée:

  1. Optimiser les paramètres HMA pour trouver la meilleure combinaison de paramètres

  2. Il est important d’ajouter des indicateurs de tendance et de faiblesse et d’éviter les transactions à contre-courant.

  3. L’arrêt de perte est effectué à l’aide d’une suspension dynamique, et non d’un point fixe.

  4. L’introduction d’algorithmes d’apprentissage automatique pour optimiser automatiquement les paramètres à l’aide de données volumineuses.

  5. Ajout de fonctionnalités de livraison simulée pour tester les performances du disque dur.

Résumer

L’idée générale de la stratégie est claire, mais il y a encore de la place pour l’optimisation. L’ajout d’indicateurs de jugement de tendance, de stop-loss dynamiques, etc. peut améliorer la stabilité de la stratégie.

Code source de la stratégie
/*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)