La stratégie de la croix d'or est un indicateur de marché simple qui aide les investisseurs à long terme à déterminer le moment de l'entrée. La stratégie génère des signaux de trading basés sur les croisements des moyennes mobiles à court terme et à long terme.
Cette stratégie utilise la fonction sma pour calculer les moyennes mobiles simples à court et à long terme. La longueur de la MA à court terme est fixée à 50 jours et la longueur de la MA à long terme est fixée à 200 jours. La stratégie détermine si la MA à court terme traverse ou traverse la MA à long terme en utilisant les fonctions de croisement et de croisement, qui génèrent des signaux de trading.
Lorsque le MA à court terme dépasse le MA à long terme, il indique que la tendance est en train de changer de bas en haut, formant une Croix d'or, qui est le signal d'entrée longue. La stratégie ouvrira une position longue en utilisant strategy.entry. Lorsque le MA à court terme dépasse le MA à long terme, il indique que la tendance est en train de changer de haut en bas, formant une Croix de la Mort, qui est le signal de sortie. La stratégie fermera toutes les positions en utilisant strategy.close_all.
En capturant les points d'inversion de tendance marqués par les croix dorées/mortes pour déterminer le moment de l'entrée et de la sortie, la stratégie peut filtrer efficacement le bruit du marché et constitue une stratégie de suivi de tendance simple et pratique.
Les risques peuvent être gérés en ajoutant un stop loss, en optimisant les paramètres MA pour réduire les faux signaux, en les combinant avec d'autres indicateurs pour confirmer les signaux et en développant des mécanismes pour gérer les événements de cygne noir.
La stratégie peut être optimisée dans les aspects suivants:
Optimiser les paramètres d'AM en ajustant les longueurs d'AM à court et à long terme pour mieux s'adapter aux différentes caractéristiques du marché;
Ajouter la condition de volume aux signaux de déclenchement uniquement lorsque le volume augmente;
Incorporer d'autres indicateurs tels que le MACD, le RSI pour confirmer les signaux croisés et éviter les faux signaux;
Ajouter des stratégies de stop-loss comme le stop-loss à la traîne, le stop-loss en pourcentage pour contrôler les pertes uniques;
Ajouter des stratégies de dimensionnement des positions comme la fraction fixe, la dimensionnement exponentiel pour contrôler le risque global;
Optimisez l'entrée en observant pendant un certain temps après le croisement pour filtrer les fausses croix.
Grâce aux optimisations ci-dessus, les paramètres de stratégie peuvent mieux correspondre aux propriétés statistiques du marché, filtrer les faux signaux, contrôler les risques et améliorer encore la stabilité et la rentabilité de la stratégie tout en maintenant la simplicité.
La stratégie de la croix d'or est une stratégie simple mais pratique de suivi des tendances. Elle capture intuitivement les tendances du marché à travers des croix moyennes mobiles et peut identifier efficacement les points d'entrée et de sortie pour les investisseurs à long terme. Facile à mettre en œuvre, adapté aux débutants et adapté à diverses optimisations, la stratégie peut devenir un système de trading flexible et fiable.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Dumb strategy 2 - Golden Cross", shorttitle="Golden Cross", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) lShort = input(50, title="short length") lLong = input(200, title="long length") src = input(close, title="Source") smaShort = sma(src, lShort) smaLong = sma(src, lLong) plot(smaShort, title="SMA Short", style=line, linewidth=3, color=lime) plot(smaLong, title="SMA Long", style=line, linewidth=3, color=red) // //Backtest Time Inputs // testStartYear = input(2009, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(1, "Backtest Stop Month") testStopDay = input(01, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? blue : na bgcolor(testPeriodBackgroundColor, transp=80) testPeriod() => true if testPeriod() longCondition = crossover(smaShort, smaLong) if (longCondition) strategy.entry("Long Entry", strategy.long) shortCondition = crossunder(smaShort, smaLong) if (shortCondition) strategy.close_all(true)