
Целью стратегии является выявление потенциальных поворотных точек тренда с помощью пересечения 20-циклической индикативной подвижной средней (EMA) и 20-циклической простой подвижной средней (SMA). В зависимости от направления пересечения принимается решение о возможности сделать лизинг или лизинг.
Эта стратегия использует функции кроссовера и кроссоундера в ta-архиве для обнаружения пересечения равномерных линий.
Эта стратегия, которая сочетает в себе функцию отслеживания трендов с помощью движущихся средних и генерирование сигналов с пересечением средних линий, имеет следующие преимущества:
Также существуют следующие риски:
Ответ:
Эта стратегия также может быть оптимизирована в следующих областях:
Эта стратегия в целом довольно проста и практична, используя теорию равномерного перекрестного пересечения для выявления потенциальных поворотных точек тренда, является распространенной и эффективной стратегической идеей. Однако есть определенная возможность для улучшения, которая может быть сделана более точной и автоматизированной путем добавления других технических показателей, установки динамических параметров, методов остановки и алгоритмической торговли. В целом, эта стратегия предоставляет хороший образ мысли и шаблон для количественной торговли.
/*backtest
start: 2022-12-28 00:00:00
end: 2024-01-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA-SMA Crossover Strategy", overlay=true)
// Define the length of the moving averages
emaLength = 20
smaLength = 20
// Calculate moving averages
emaValue = ta.ema(close, emaLength)
smaValue = ta.sma(close, smaLength)
// Buy condition
buyCondition = ta.crossover(emaValue, smaValue) and close > emaValue
// Short sell condition
sellCondition = ta.crossunder(emaValue, smaValue) and close < emaValue
// Exit conditions for both Buy and Short sell
exitBuyCondition = ta.crossunder(emaValue, smaValue)
exitSellCondition = ta.crossover(emaValue, smaValue)
// Strategy logic
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.entry("Sell", strategy.short)
if (exitBuyCondition)
strategy.close("Buy")
if (exitSellCondition)
strategy.close("Sell")
// Plot the moving averages
plot(emaValue, color=color.blue, title="20 EMA")
plot(smaValue, color=color.red, title="20 SMA")