
Résumé: La stratégie est basée sur des moyennes mobiles de trois périodes différentes pour réaliser des transactions en forfait. Faites plus lorsque vous traversez la moyenne des longues périodes sur la moyenne des courtes périodes et faites moins lorsque vous traversez la moyenne des longues périodes sous la moyenne des courtes périodes.
Le principe de la stratégie:
On définit trois moyennes mobiles: la moyenne à court terme, la moyenne à long terme et la moyenne tendancielle. La moyenne à court terme est de 20, la moyenne à long terme est de 200 et la moyenne tendancielle est de 50.
Il y a un signal d’achat plus élevé lorsque la courte moyenne est traversée par la moyenne longue et un signal de vente vide lorsque la courte moyenne est traversée par la moyenne longue.
En même temps, vérifiez si la moyenne à court terme et la moyenne à long terme sont au-dessus de la moyenne de tendance et filtrez le signal s’il n’est pas satisfait. Cela permet d’éviter les opérations de revers.
Le stop loss et le stop stop stop sont définis comme un certain pourcentage du prix d’entrée, les paramètres peuvent être optimisés en fonction de la situation réelle.
Tracez les points de croisement de la même ligne pour aider à observer l’heure d’entrée.
Analyse des avantages:
Les stratégies sont simples, intuitives, faciles à comprendre et à mettre en œuvre.
Il est possible de capturer efficacement les tendances à court et à moyen terme, en fonction de la situation.
Le filtrage des signaux en combinaison avec une ligne de tendance uniforme permet d’éviter les opérations de contre-courant.
Les paramètres des trois lignes peuvent être adaptés aux caractéristiques des différents marchés.
Des paramètres de stop-loss personnalisables permettent de contrôler le risque.
Analyse des risques:
Si le marché se déplace brusquement, cela peut entraîner un arrêt des pertes.
Si la tendance change, les pertes pourraient être plus importantes.
Une mauvaise configuration des paramètres peut entraîner des transactions fréquentes ou des opportunités manquées.
Il est nécessaire de s’intéresser aux conséquences des coûts de transaction.
Les directions d’optimisation
Les signaux de filtrage peuvent être combinés avec des indicateurs d’oscillation, tels que ATR.
Des algorithmes d’apprentissage automatique peuvent être introduits pour optimiser dynamiquement les paramètres.
Il est possible d’intégrer plus d’indicateurs pour juger des tendances, comme le MACD.
Il est possible de définir un stop loss mobile pour bloquer les bénéfices.
Les paramètres d’arrêt de perte peuvent être optimisés par des mesures de retour.
Résumé:
L’idée générale de la stratégie est claire et facile à exécuter, en capturant systématiquement les tendances par des fourches dorées. La stratégie est optimisée en fonction des conditions spécifiques du marché.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("XAU M15", overlay=true)
// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")
// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)
// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")
// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma
if (enterLong)
strategy.entry("Long", strategy.long)
if (enterShort)
strategy.entry("Short", strategy.short)
// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)
if (exitLong)
strategy.close("Long")
if (exitShort)
strategy.close("Short")
// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100
short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100
strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))
plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)