Stratégie de négociation de moyenne mobile hebdomadaire

Auteur:ChaoZhang est là., Date: 18 janvier 2024 à 11 h 47 min 25.
Les étiquettes:

img

Résumé

Cette stratégie se base sur le prix de clôture hebdomadaire du Bitcoin et la moyenne mobile simple de 8 semaines. Elle va long lorsque le prix de clôture hebdomadaire dépasse la ligne de 8 semaines et ferme la position lorsque le prix de clôture hebdomadaire dépasse la ligne de 8 semaines. Elle définit également des ratios stop loss et take profit pour contrôler les risques.

La logique de la stratégie

Cette stratégie analyse l'action hebdomadaire du prix du Bitcoin et la moyenne mobile simple de 8 semaines pour juger si le marché est dans une tendance haussière ou une tendance baissière. Lorsque le prix de clôture hebdomadaire dépasse la ligne de 8 semaines, il indique que le marché est entré dans un canal de tendance haussière et qu'une position longue pourrait profiter. Lorsque le prix de clôture hebdomadaire dépasse la ligne de 8 semaines, il indique que le graphique hebdomadaire du Bitcoin est entré dans un canal de tendance baissière et que les positions longues existantes doivent être arrêtées.

Plus précisément, les conditions de négociation suivantes sont fixées dans la stratégie:

buy_condition = crossover(btc,ma) #weekly closing price breaks above 8-week line, go long
sell_condition = crossunder(btc,ma) #weekly closing price breaks below 8-week line, close position

Lorsque la condition d'achat est remplie, la stratégie est longue.

En outre, les ratios stop loss et take profit sont configurés:

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY") 

Le ratio de stop loss par défaut est de 1 et le ratio de profit par défaut est de 3. Cela signifie que lorsque le signal de sortie arrive, si vous êtes actuellement rentable, sortez avec 3 fois le profit. Si vous êtes actuellement en perte, sortez avec 1 fois la perte.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Temps hebdomadaire, moins utilisation, adapté à la détention à long terme
  2. L'AM de 8 semaines filtre le bruit et identifie les principales tendances
  3. Résultats des opérations de gestion des risques

Analyse des risques

Il y a aussi des risques:

  1. Impossible d'ajuster la position en fonction de l'action des prix à court terme
  2. Les signaux de rupture peuvent avoir de faux signaux.
  3. Le risque de défaillance de l'opération Stop Loss/Take Profit lors d'événements de marché extrêmes

Les contre-mesures:

  1. Combiner avec d'autres indicateurs à court terme pour saisir les opportunités à court terme
  2. Ajouter des filtres pour éviter les faux signaux
  3. Ajuster les ratios stop loss/take profit en fonction des conditions du marché afin de limiter les pertes

Directions d'optimisation

Certaines façons d'améliorer cette stratégie:

  1. Ajouter des filtres supplémentaires pour assurer des signaux de rupture valides
  2. Optimiser les taux de stop-loss et de prise de profit
  3. Incorporer des indicateurs à court terme pour l'analyse sur plusieurs délais
  4. Utiliser l'apprentissage automatique pour optimiser automatiquement les paramètres

Conclusion

En résumé, il s'agit d'une stratégie simple et directe qui juge la tendance en fonction des événements hebdomadaires et de la moyenne mobile. Elle contrôle également le risque via le stop loss et le take profit. Elle peut servir de système de référence pour les détentions à long terme de Bitcoin.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 3m
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/
// © taberandwords
//developer: taberandwords
//author: taberandwords
//@version=4

strategy("WEEKLY BTC TRADING SCRYPT","WBTS",overlay=false,default_qty_type=strategy.fixed)

source=input(defval=close,title="source",group="STRATEGY")

btc=security('BTCUSDT','1W', source)
ma=sma(btc,8)

buy_condition= crossover(btc,ma) 
sell_condition= crossunder(btc,ma)

ma_color=input(defval=#FF3232,title="COLOR",group="MA")
ma_linewidth=input(defval=2,title="LINE WIDTH",group="MA")
graphic_color=input(defval=#6666FF,title="COLOR",group="GRAPHIC")
graphic_linewidth=input(defval=2,title="LINE WIDTH",group="GRAPHIC")

start_date=input(defval=2020,title="YEAR",group="STRATEGY EXECUTION YEAR")

loss_ratio=input(defval=1,title="LOSS RATIO", group="STRATEGY")
reward_ratio=input(defval=3,title="REWARD RATIO", group="STRATEGY")

if(year>=start_date)
    strategy.entry('BUY',long=true,when=buy_condition,alert_message='Price came to buying value!')

    if(strategy.long)
        alert('BTC buy order trigerred!',alert.freq_once_per_bar)
    strategy.exit(id="SELL",loss=loss_ratio,profit=reward_ratio,when=sell_condition,alert_message='Price came to position closing value!')
    if(sell_condition)
        alert('BTC sell order trigerred!',alert.freq_once_per_bar)
plot(series=source,title="WEEKLY CLOSE",color=graphic_color,linewidth=graphic_linewidth)
plot(ma,title="SMA8 WEEKLY",color=ma_color,linewidth=ma_linewidth)
plot(strategy.equity,display=0)


Plus de