
Cette stratégie est basée sur la moyenne EMA. Elle utilise deux moyennes EMA de longueurs différentes pour déterminer la relation de position de la moyenne EMA pour déterminer la tendance à la hausse pendant la période de consolidation et pour émettre un signal d’achat pendant la période de rupture en déterminant le croisement du prix avec la moyenne EMA.
La stratégie utilise deux moyennes EMA de 30 et 60 cycles. La moyenne EMA est une moyenne mobile lisse qui donne un poids plus élevé aux prix les plus récents afin que la moyenne EMA réponde plus rapidement aux changements de prix.
Un signal d’achat est généré lorsque la courte EMA moyenne traverse la longue EMA moyenne, ce qui indique qu’elle est actuellement dans une tendance à la hausse. Lorsqu’un prix franchit la courte EMA moyenne de bas en haut, le prix continuera à monter, soutenu par la tendance à long terme.
La stratégie impose également un point d’arrêt. Le point d’arrêt est le plus élevé des 10 derniers prix les plus élevés de la ligne K, afin de bloquer le profit maximal. Le point d’arrêt est la moyenne des EMA à long terme, afin de contrôler le risque.
Les principaux avantages de cette stratégie sont:
Les principaux risques de cette stratégie sont:
La réponse:
Les principaux axes d’optimisation de la stratégie sont les suivants:
Cette stratégie est généralement basée sur la moyenne EMA pour déterminer la direction d’une tendance et la transmission de signaux de croisement binaire. Elle utilise la moyenne EMA pour déterminer la tendance majeure et la croisement binaire pour améliorer la précision du signal. Cependant, le retard de réponse de l’EMA à un renversement de tendance et la possibilité d’erreurs de croisement binaire sont les principaux risques de cette stratégie.
/*backtest
start: 2023-12-23 00:00:00
end: 2024-01-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Cross Strategy", overlay=true)
// 输入设置
ema30_length = input.int(30, title="EMA 30 Length", minval=1)
ema60_length = input.int(60, title="EMA 60 Length", minval=1)
// 计算EMA
ema30 = ta.ema(close, ema30_length)
ema60 = ta.ema(close, ema60_length)
// 绘制EMA
plot(ema30, title="EMA 30", color=color.blue, linewidth=2)
plot(ema60, title="EMA 60", color=color.red, linewidth=2)
// 判断上升趋势
uptrend = close > ema30 and ema30 > ema60
// 买入条件
buy_signal = ta.crossover(close, ema30) and close[1] < ema30[1] and close[1] > ema60[1] and uptrend
// 止盈止损
take_profit_level = ta.highest(high, 10)
stop_loss_level = ema60
// 执行交易
if (buy_signal)
strategy.entry("Long", strategy.long)
strategy.exit("Exit", "Long", stop=stop_loss_level, limit=take_profit_level)