
L’idée centrale de cette stratégie est d’utiliser les moyennes mobiles rapides et les moyennes mobiles lentes pour juger de la tendance du marché et réaliser des transactions à faible risque. Lorsque le marché peut entrer dans une tendance à la hausse en traversant la moyenne mobile lente au-dessus de la moyenne mobile rapide, faites plus; lorsque le marché peut entrer dans une tendance à la baisse en traversant la moyenne mobile lente au-dessous de la moyenne mobile rapide, faites plus.
Cette stratégie utilise les moyennes mobiles indicielles des prix. Les moyennes mobiles sont un indicateur d’analyse de la tendance qui permet d’aplanir les données de prix pour déterminer les mouvements des prix. Les moyennes mobiles rapides ont de plus petits paramètres, ce qui permet de répondre plus rapidement aux changements de prix. Les moyennes mobiles lentes ont de plus grands paramètres, ce qui permet de répondre plus lentement aux changements de prix.
Plus précisément, la stratégie définit deux moyennes mobiles indexées, avec une moyenne mobile rapide de 21 cycles et une moyenne mobile lente de 55 cycles. La stratégie décide de l’entrée en jeu en jugant les deux moyennes mobiles. Lorsque vous traversez la moyenne mobile lente sur la moyenne mobile rapide, faites plus; lorsque vous traversez la moyenne mobile lente sous la moyenne mobile rapide, faites vide.
En outre, la stratégie utilise également l’indicateur de volatilité ATR pour définir les arrêts et les arrêts. L’ATR permet d’évaluer efficacement la volatilité du marché. L’arrêt est fixé à 1,5 fois le prix de l’ATR. L’arrêt est fixé à 1 fois le prix de l’ATR.
Cette stratégie présente les avantages suivants:
Cette stratégie comporte aussi des risques:
Nous pouvons optimiser pour ces risques de plusieurs façons:
Cette stratégie peut être optimisée en profondeur dans les domaines suivants:
L’optimisation automatique des paramètres des moyennes mobiles par des méthodes d’apprentissage automatique rend les stratégies plus adaptables.
Ajouter des facteurs fondamentaux comme conditions de filtrage, pour éviter de faire aveuglément plus de blanchiment lorsque des informations importantes sur les profits et les pertes arrivent. Par exemple, la résolution des taux d’intérêt de la Réserve fédérale américaine, la publication de données macro importantes, etc.
Il est recommandé de fixer des limites à la volatilité et de suspendre la négociation lorsque l’ATR est trop élevé ou trop faible, afin d’éviter les pertes dans des conditions de marché extrêmes.
Le stop-loss dynamique est défini en combinant les indicateurs fondamentaux des actions, tels que le taux d’intérêt du marché des actions, l’effet d’amplification du volume des transactions, etc.
Augmentation des mécanismes de gestion des positions, réduction progressive des positions lorsque le taux de profit atteint un certain niveau; suspension de la négociation pendant un certain temps en cas de pertes importantes, etc.
L’approche globale de cette stratégie est simple et claire. Elle juge les tendances du marché par la croisée de deux moyennes mobiles. C’est une stratégie de suivi de tendance typique.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="No-Nonsense Strategy Template [WM]", overlay = true)
price = close
//
// ATR stuff
//
atrLength = input(14, "ATR Length")
slMultiplier = input(1.5, "SL")
tpMultiplier = input(1, "TP1")
atr = atr(atrLength)
//
// Strategy under test. MA crossover
//
fastInput = input(21)
slowInput = input(55)
fast = ema(price, fastInput)
slow = ema(price, slowInput)
plot(fast, color = red)
plot(slow, color = blue)
goLong = crossover(fast, slow)
goShort = crossunder(fast, slow)
if (goLong)
sl = price - atr * slMultiplier
tp = price + atr * tpMultiplier
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", stop = sl, limit = tp)
if (goShort)
sl = price + atr * slMultiplier
tp = price - atr * tpMultiplier
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", stop = sl, limit = tp)