Эта стратегия сочетает в себе три технических показателя: простую скользящую среднюю (SMA), уровни поддержки и сопротивления и увеличение объема торговли для построения всеобъемлющей торговой стратегии.
Эта стратегия сочетает в себе SMA, уровни поддержки и сопротивления и показатели объема торговли для построения всеобъемлющей торговой стратегии. Преимущество стратегии заключается в ее способности захватывать трендовые возможности при одновременном контроле торгового риска. Однако стратегия также имеет определенные ограничения, такие как ее адаптируемость к экстремальным рыночным ситуациям. В будущем стратегия может быть улучшена путем внедрения других технических индикаторов, оптимизации метода расчета уровней поддержки и сопротивления, сглаживания индикатора объема торговли и оптимизации условий стоп-лосса для повышения его стабильности и прибыльности.
/*backtest start: 2023-06-08 00:00:00 end: 2024-06-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Advanced Entry Conditions with Support/Resistance, SMA, and Volume", overlay=true) // Inputs length = input(20, title="SMA Length") stopLossPerc = input(1, title="Stop Loss Percentage", type=input.float) / 100 leftBars = input(15, title="Left Bars") rightBars = input(15, title="Right Bars") distanceThresh = input(1, title="Distance Threshold from Support/Resistance", type=input.float) / 100 // Calculations smaValue = sma(close, length) highUsePivot = fixnan(pivothigh(leftBars, rightBars)[1]) lowUsePivot = fixnan(pivotlow(leftBars, rightBars)[1]) // Volume Calculation volumeIncrease = volume > volume[1] // Entry Conditions longEntryCondition = close[0] > close[1] and close[1] > smaValue and close[0] > smaValue and close[0] > lowUsePivot and close[1] > lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease shortEntryCondition = close[0] < close[1] and close[1] < smaValue and close[0] < smaValue and close[0] < lowUsePivot and close[1] < lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease // Calculate stop loss levels longStopLoss = close * (1 - stopLossPerc) shortStopLoss = close * (1 + stopLossPerc) // Strategy Logic strategy.entry("Long", strategy.long, when=longEntryCondition) strategy.exit("Exit Long", "Long", stop=longStopLoss) strategy.entry("Short", strategy.short, when=shortEntryCondition) strategy.exit("Exit Short", "Short", stop=shortStopLoss) // Plotting plot(smaValue, color=color.blue, title="SMA") plot(highUsePivot, color=color.red, linewidth=2, title="Resistance") plot(lowUsePivot, color=color.green, linewidth=2, title="Support") plotshape(series=longEntryCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Entry") plotshape(series=shortEntryCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Entry") // Background Color bgcolor(longEntryCondition ? color.new(color.green, 90) : shortEntryCondition ? color.new(color.red, 90) : na)