
Это количественная торговая стратегия, основанная на показателях EMA, для принятия торговых решений с помощью расчета перекрестных сигналов движущихся средних индексов краткосрочного ((9 циклов) и долгосрочного ((21 циклов) индекса. Стратегия устанавливает условия стоп-стоп на 2% и 4% соответственно для контроля риска и блокировки прибыли.
Стратегия использует два различных цикла индексных движущихся средних ((EMA), 9 и 21 циклов соответственно. Когда краткосрочная ЭМА вверх пересекает долгосрочную ЭМА, создается сигнал покупки; когда краткосрочная ЭМА вниз пересекает долгосрочную ЭМА, создается сигнал продажи. Стратегия также включает в себя механизм управления рисками, чтобы защитить безопасность средств и блокировать прибыль, установив 2% стоп-стоп и 4% стоп-стоп.
Эта стратегия является классической стратегией отслеживания тенденций, которая захватывает изменения в рыночных тенденциях с помощью равнолинейного перекрестка. Хотя дизайн стратегии относительно прост, она включает в себя полную логику торговли и механизм контроля риска. Стабильность и доходность стратегии могут быть дополнительно улучшены путем добавления оптимизационных мер, таких как динамическая корректировка параметров и оценка рыночной среды.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ancour
//@version=5
strategy("Moving Average Crossover", overlay=true)
// Define the length for short-term and long-term EMAs
shortEmaLength = 9
longEmaLength = 21
// Calculate EMAs
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
// Plot EMAs on the chart
plot(shortEma, title="Short-term EMA", color=color.green, linewidth=2)
plot(longEma, title="Long-term EMA", color=color.red, linewidth=2)
// Strategy conditions for crossovers
longCondition = ta.crossover(shortEma, longEma)
shortCondition = ta.crossunder(shortEma, longEma)
// Enter long when short EMA crosses above long EMA
if (longCondition)
strategy.entry("Buy", strategy.long)
// Exit long or enter short when short EMA crosses below long EMA
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Optional: Add stop-loss and take-profit levels for risk management
stopLossPercent = 2
takeProfitPercent = 4
strategy.exit("Sell TP/SL", "Buy", stop=low * (1 - stopLossPercent/100), limit=high * (1 + takeProfitPercent/100))