
La stratégie utilise une combinaison d’indicateurs bi-indicateurs des moyennes mobiles (EMA) et des points de forfait des moyennes mobiles (MACD) pour détecter la surévaluation de la valeur à court terme des actions et effectuer des courts-circuits pour tirer profit de la baisse des cours des actions. La stratégie tire parti des caractéristiques des EMA de réaction rapide aux variations de prix, combinée à l’avantage de la surveillance des courants d’air mobiles du MACD, pour capturer des opportunités de profit à court terme aux points de conversion des taureaux et des ours.
Les EMA de 8 jours et les EMA de 26 jours sont considérés comme des signaux d’achat lorsqu’ils portent une EMA de 26 jours sur une EMA de 8 jours.
Le calcul de l’EMA de 12 jours, de l’EMA de 26 jours et de la différence de la DEA de 9 jours constitue le MACD, considéré comme un signal d’achat lorsque le MACD traverse le DEA.
Les conditions d’achat sont les suivantes: EMA de 8 jours> EMA de 26 jours et MACD sur DEA, faites plus si vous êtes satisfait.
Conditions de sortie: établir un stop-loss flottant de 3% du prix d’entrée, un stop-loss de suivi de 1% du prix d’entrée, et un placement en position libre si l’une des conditions suivantes est remplie.
La stratégie utilise simultanément les caractéristiques de l’EMA de réponse rapide du prix et du MACD pour déterminer la direction de la dynamique et la direction de l’opération aux points critiques de la baisse des cours. L’EMA rapide reflète la correction de la valeur par l’EMA plus lente à court terme, le MACD reflète la prédiction de la direction de la ligne de parité par la variation de l’intensité des transactions, et le double indicateur améliore la précision de la détermination du moment de la transaction.
La combinaison des EMA et du MACD améliore la précision de la détermination des points d’achat et de vente. L’EMA capte la tendance des changements de prix, le MACD juge la direction des changements de dynamique, les deux combinés pour identifier l’extrême à court terme et éviter les fausses ruptures entraînant des pertes.
Le risque de contrôle de la trace des pertes, la mise en jeu de la trace des pertes dans les délais impartis. La mise en place de la trace des pertes de 1% après l’entrée, pour éviter l’expansion des pertes.
La stratégie repose sur un repérage de l’ensemble des marchés baissiers en 2022 et simule l’environnement de négociation réel.
Adaptation flexible des paramètres. Le ratio de stop loss et le ratio de position peuvent être personnalisés en fonction des préférences de risque personnelles.
Les transactions sont fréquentes et doivent être suivies de près. Utilisez des cycles de 5 minutes, sortez et entrez fréquemment et prenez suffisamment de temps pour suivre les transactions.
Le suivi des pertes peut être trop dense. Le suivi des pertes peut être trop petit et le suivi des pertes peut être trop tôt.
L’EMA et le MACD sont mieux adaptés aux marchés à tendance plus prononcée.
Les frais de transaction doivent être pris en compte. Chaque transaction entraîne des frais de traitement, et la fréquence des transactions entraîne une augmentation des coûts.
Ajustez les paramètres des cycles EMA pour optimiser le timing des ventes. Testez pour raccourcir les cycles EMA, élargir les différences entre les EMA et trouver la meilleure combinaison de paramètres.
Optimiser le ratio de stop-loss pour réduire le risque de stop-loss prématuré. Laisser une marge de suivi des stop-loss appropriée et éviter de suivre les stop-loss trop radicalement.
Tester les différentes périodes de détention pour choisir la meilleure période de détention. Évaluer les gains stratégiques sous différentes périodes de détention pour trouver la meilleure période de détention.
Évaluer les signaux de filtrage d’autres indicateurs techniques. Les indicateurs de volatilité peuvent être testés, etc., pour améliorer l’efficacité des décisions de négociation.
Cette stratégie de négociation de l’indicateur EMA et MACD est conçue pour capturer les opportunités de reprise des cours à court terme et de faire des bénéfices de courte durée. Elle tire parti des avantages de la réponse rapide de l’EMA et de la variation du jugement du MACD pour améliorer l’exactitude du moment de la transaction sous double vérification. La stratégie peut être optimisée en termes de paramètres d’ajustement, de contrôle du dérapage et de temps de tenue de position.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
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/
// © Coinrule
//@version=5
// strategy('Fast EMA above Slow EMA with MACD (by Coinrule)',
// overlay=true,
// initial_capital=1000,
// process_orders_on_close=true,
// default_qty_type=strategy.percent_of_equity,
// default_qty_value=30,
// commission_type=strategy.commission.percent,
// commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// EMAs
fastEMA = ta.ema(close, 8)
slowEMA = ta.ema(close, 26)
plot(fastEMA, color = color.blue)
plot(slowEMA, color = color.green)
//buyCondition1 = ta.crossover(fastEMA, slowEMA)
buyCondition1 = fastEMA > slowEMA
// DMI and MACD inputs and calculations
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)
buyCondition2 = ta.crossover(macd, macd_signal)
// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01
// Determine trail stop loss prices
longStopPrice = 0.0
shortStopPrice = 0.0
longStopPrice := if strategy.position_size > 0
stopValue = close * (1 - longTrailPerc)
math.max(stopValue, longStopPrice[1])
else
0
shortStopPrice := if strategy.position_size < 0
stopValue = close * (1 + shortTrailPerc)
math.min(stopValue, shortStopPrice[1])
else
999999
if (buyCondition1 and buyCondition2 and notInTrade and timePeriod)
strategy.entry(id="Long", direction = strategy.long)
strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice)
//if (sellCondition1 and sellCondition2 and notInTrade and timePeriod)
//strategy.close(id="Close", when = sellCondition1 or sellCondition2)