
Эта стратегия представляет собой интеллектуальную торговую систему, основанную на нескольких технических индикаторах, объединяющую рыночные сигналы из трех измерений: скользящая средняя (MA), объем (Volume) и волатильность (ATR). Комплексный анализ волатильности для использования рыночных возможностей. Стратегия использует систему двойной скользящей средней в качестве основной основы для оценки трендов и вводит объем торговли и волатильность в качестве условий торгового фильтра, тем самым достигая множественных проверок торговых сигналов.
Основная логика стратегии основана на следующих трех измерениях:
Стратегия выдаст торговый сигнал только тогда, когда условия этих трех измерений будут выполнены одновременно. Этот механизм множественной фильтрации эффективно повышает точность транзакций.
Эта стратегия создает полноценную систему принятия торговых решений посредством совместного анализа множества технических индикаторов. Разработка стратегии полностью учитывает такие характеристики рынка, как тенденции, ликвидность и волатильность, и является весьма практичной и надежной. Ожидается, что благодаря постоянной оптимизации и совершенствованию данная стратегия будет поддерживать стабильную эффективность в различных рыночных условиях. Модульная конструкция стратегии также обеспечивает хорошую основу для последующего расширения и может гибко корректироваться и оптимизироваться в соответствии с фактическими потребностями.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Advanced Trading Strategy", overlay=true)
// Parâmetros de entrada
shortPeriod = input.int(9, title="Short Period", minval=1)
longPeriod = input.int(21, title="Long Period", minval=1)
volumeThreshold = input.float(1.5, title="Volume Threshold Multiplier", minval=0.1)
volatilityPeriod = input.int(14, title="Volatility Period", minval=1)
// Cálculo das médias móveis
shortSMA = ta.sma(close, shortPeriod)
longSMA = ta.sma(close, longPeriod)
// Cálculo do volume médio
averageVolume = ta.sma(volume, longPeriod)
// Cálculo da volatilidade (ATR - Average True Range)
volatility = ta.atr(volatilityPeriod)
// Condições de compra e venda baseadas em médias móveis
maBuyCondition = ta.crossover(shortSMA, longSMA)
maSellCondition = ta.crossunder(shortSMA, longSMA)
// Verificação do volume
volumeCondition = volume > averageVolume * volumeThreshold
// Condição de volatilidade (volatilidade acima de um certo nível)
volatilityCondition = volatility > ta.sma(volatility, volatilityPeriod)
// Condições finais de compra e venda
buyCondition = maBuyCondition and volumeCondition and volatilityCondition
sellCondition = maSellCondition and volumeCondition and volatilityCondition
// Plotando as médias móveis
plot(shortSMA, title="Short SMA", color=color.red)
plot(longSMA, title="Long SMA", color=color.blue)
// Sinal de compra
if (buyCondition)
strategy.entry("Buy", strategy.long)
// Sinal de venda
if (sellCondition)
strategy.close("Buy")
// Plotando sinais no gráfico
plotshape(series=buyCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// Configurando alertas
alertcondition(buyCondition, title="Buy Alert", message="Buy Signal Triggered")
alertcondition(sellCondition, title="Sell Alert", message="Sell Signal Triggered")