
Cette stratégie est une stratégie de trading de crypto-monnaie basée sur une combinaison d’indicateurs MACD et d’indicateurs aléatoires. Elle génère des signaux de trading pour capturer les changements de tendance du marché de la crypto-monnaie en calculant les indicateurs MACD du prix de Bitcoin et en leur appliquant des indicateurs aléatoires.
La stratégie commence par calculer l’indicateur MACD. Le MACD représente la convergence de la divergence des moyennes mobiles, un indicateur de suivi des tendances. Il est composé d’une ligne rapide et d’une ligne lente, la ligne rapide étant la moyenne mobile de l’indicateur à plus court terme et la ligne lente étant la moyenne mobile de l’indicateur à plus long terme.
Après avoir calculé l’indicateur MACD, la stratégie impose l’indicateur aléatoire %K sur l’indicateur MACD lui-même. La formule de calcul de l’indicateur aléatoire %K est:
%K = (prix de clôture actuel - prix le plus bas de N jours) / (prix le plus haut de N jours - prix le plus bas de N jours) * 100
L’indicateur aléatoire reflète la variation du cours de l’action hors de la fourchette la plus proche. Une fluctuation de la valeur de %K entre 20 et 80 représente la tendance du cours de l’action dans la fourchette de la convergence.
Cette stratégie combine les signaux de négociation de l’indicateur MACD et de l’indicateur aléatoire %K pour effectuer des transactions sur le marché des crypto-monnaies. Elle génère un signal d’achat lorsque l’indicateur aléatoire %K traverse 20 vers le haut et un signal de vente lorsque l’indicateur aléatoire %K traverse 80 vers le bas.
Cette stratégie, combinée à l’analyse de tendance et à l’indicateur de survente, permet d’identifier efficacement les points de basculement importants du marché. Par rapport à l’utilisation d’indicateurs MACD ou aléatoires, l’utilisation combinée de%K et MACD peut augmenter la fiabilité du signal et réduire les faux signaux.
De plus, cette stratégie applique les indicateurs techniques couramment utilisés dans les marchés boursiers aux transactions en crypto-monnaie, ce qui est une utilisation intermarché. Cet indicateur est également applicable dans le marché des monnaies numériques, et peut même être plus efficace en raison de la forte volatilité des monnaies numériques.
Le plus grand risque de cette stratégie réside dans la forte volatilité du marché de la crypto-monnaie, qui est susceptible de générer de faux signaux entraînant des pertes de transactions. De plus, les indicateurs techniques peuvent avoir déjà généré une certaine variation des prix au moment de l’émission d’un signal, et il existe un risque de ne pas pouvoir bien saisir les premières tendances.
Pour contrôler ces risques, il est recommandé d’utiliser des stop-loss mobiles pour bloquer les bénéfices et éviter que les pertes ne s’étendent davantage. En même temps, il est également possible d’ajuster les paramètres de manière appropriée, en utilisant différentes longueurs de cycle pour explorer plus d’opportunités potentielles.
Premièrement, la stratégie peut essayer de combiner les moyennes mobiles avec des indicateurs de volatilité, tels que les bandes de Brin, et de définir des paramètres de volatilité pour identifier l’efficacité de la rupture et éviter les faux signaux.
Deuxièmement, il est possible d’introduire des modèles d’apprentissage automatique pour la formation des données historiques, de créer des forêts aléatoires ou des modèles de réseaux neuronaux LSTM pour aider à juger de l’efficacité des signaux de mesure.
Troisièmement, l’ajout d’un mécanisme de stop-loss. Lorsque le prix se déplace dans une direction défavorable au-delà d’une certaine amplitude, un stop-loss est automatiquement exécuté pour contrôler le risque.
Cette stratégie, combinant l’indicateur MACD et l’indicateur aléatoire %K, utilise la méthode selon laquelle les deux indicateurs vérifient les signaux les uns des autres pour élaborer une stratégie de négociation de crypto-monnaie. Cette stratégie d’indicateur combiné peut améliorer la précision du signal dans une certaine mesure. Mais nous devons également nous méfier des effets de bruit et de retard que peuvent entraîner des combinaisons d’indicateurs trop complexes.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Schaff Trend Cycle Strategy", shorttitle="STC Backtest", overlay=true)
fastLength = input(title="MACD Fast Length", defval=23)
slowLength = input(title="MACD Slow Length", defval=50)
cycleLength = input(title="Cycle Length", defval=10)
d1Length = input(title="1st %D Length", defval=3)
d2Length = input(title="2nd %D Length", defval=3)
src = input(title="Source", defval=close)
highlightBreakouts = input(title="Highlight Breakouts ?", type=bool, defval=true)
macd = ema(src, fastLength) - ema(src, slowLength)
k = nz(fixnan(stoch(macd, macd, macd, cycleLength)))
d = ema(k, d1Length)
kd = nz(fixnan(stoch(d, d, d, cycleLength)))
stc = ema(kd, d2Length)
stc := stc > 100 ? 100 : stc < 0 ? 0 : stc
upper = input(75, defval=75)
lower = input(25, defval=25)
long = crossover(stc, lower) ? lower : na
short = crossunder(stc, upper) ? upper : na
long_filt = long and not short
short_filt = short and not long
prev = 0
prev := long_filt ? 1 : short_filt ? -1 : prev[1]
long_final = long_filt and prev[1] == -1
short_final = short_filt and prev[1] == 1
//alertcondition(long_final, "Long", message="Long")
//alertcondition(short_final,"Short", message="Short")
//plotshape(long_final, style=shape.arrowup, text="Long", color=green, location=location.belowbar)
//plotshape(short_final, style=shape.arrowdown, text="Short", color=red, location=location.abovebar)
strategy.entry("long", strategy.long, when = long )
strategy.entry("short", strategy.short, when = short)