
Стратегия двойных индикаторов (англ. Dual Indicator Strategy) - это количественная торговая стратегия, которая одновременно сочетает в себе простые движущиеся средние (англ. Simple Moving Averages, SMA) и движущиеся средние сверхурочные сверхурочные индикаторы (англ. Moving Average Convergence Scatter Indicators, MACD). Стратегия использует несколько технических индикаторов для подтверждения торгового сигнала и направлена на повышение точности торгового решения.
Стратегия двойных показателей основана на двух технических показателях: SMA и MACD. Стратегия использует SMA на 7, 15 и 60 K-линий, а также MACD в стандартной параметровой настройке 12/26/9.
Когда 7 SMA выше 15 и 60 SMA, а 15 SMA также выше 60 SMA, рассматривается как прогнозный сигнал, данный SMA-индикатором, вероятность которого равна 0.5.
В то же время, когда MACD-индикатор проходит по линии MACD, он также рассматривается как прогнозный сигнал MACD-индикататора с вероятностью 0,5 ◦.
Позиция открывается, когда вероятность положительного сигнала обоих индикаторов составляет 1.
Наоборот, когда 7 SMA ниже 15 и 60 SMA, а 15 SMA также ниже 60 SMA, считается понижающим сигналом, данным индикатором SMA, с вероятностью 0,5 .
В то же время, когда MACD-индикатор MACD пересекает сигнальную линию, это также считается понижающим сигналом MACD-индикатора, вероятность которого составляет 0,5.
Продажа открывается, когда вероятность потери обоих показателей достигает 1.
Кроме того, в стратегии используются две различные точки остановки: 50% позиций, когда цена повышается или падает на 9%, и все остальные позиции, когда цена повышается или падает на 21%.
Если появляется сигнал, противоположный направлению текущего позиционирования, то сначала ликвидируется предыдущая позиция, а затем открывается позиция в соответствии с новым сигналом.
Наибольшим преимуществом стратегии двойного индикатора является возможность одновременного использования двух индикаторов: SMA может эффективно отслеживать изменения ценовых тенденций, фильтровать рыночный шум, а MACD может обнаруживать кратковременные временные перемены тенденций. В сочетании с этим можно повысить надежность торговых сигналов.
Кроме того, использование нескольких групп SMA с различными параметрами помогает идентифицировать среднесрочные и долгосрочные тенденции; в то время как стоп-стратегия может блокировать часть прибыли и контролировать риск.
Существуют также некоторые потенциальные риски, которые необходимо учитывать при использовании стратегии двойных показателей. Из-за того, что вы полагаетесь только на технические показатели, могут возникнуть ситуации, когда показатели посылают ошибочный сигнал. Кроме того, неправильная установка тормоза может привести к преждевременному выходу из игры и неудачному падению.
Стратегию можно оптимизировать путем корректировки параметров SMA-циклов или добавления других рыночных показателей, чтобы обеспечить более надежный торговый сигнал. В то же время, уровень остановок также должен быть динамически скорректирован в зависимости от степени волатильности рынка, чтобы гарантировать, что можно постоянно улавливать тенденцию.
Есть еще несколько возможностей для оптимизации стратегии двойных показателей:
Тест включает в себя добавление других технических показателей, таких как RSI, BRI и т. д., в результате чего образуется фильтр с несколькими показателями;
Попытки создания моделей определения торговых сигналов с использованием алгоритмов машинного обучения с использованием нескольких переменных;
Применение стратегии корректировки в зависимости от разных сортов и циклических параметров;
Увеличение стратегий по сдерживанию убытков и строгий контроль за единичными убытками;
Оптимизация стратегий сдерживания, чтобы сохранить прибыль в тренде.
Системы обратной связи и оптимизации позволяют постоянно повышать стабильность и прибыльность стратегий.
Стратегия двойного индикатора использует преимущества обоих показателей, SMA и MACD, чтобы эффективно контролировать торговые риски, повышая при этом точность сигнала. Эта стратегия имеет хорошее пространство для оптимизации и масштабируемость, является надежной, адаптивной стратегией количественного трейдинга.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("SMA & MACD Dual Direction Strategy", shorttitle="SMDDS", overlay=true, initial_capital=1000)
// SMA settings
sma7_length = input.int(7, title="7 Candle SMA Length")
sma15_length = input.int(15, title="15 Candle SMA Length")
sma60_length = input.int(60, title="60 Candle SMA Length")
// MACD settings
fast_length = input.int(12, title="Fast Length")
slow_length = input.int(26, title="Slow Length")
signal_length = input.int(9, title="Signal Length")
// Leverage
leverage = 10
// Calculate the SMAs
sma7 = ta.sma(close, sma7_length)
sma15 = ta.sma(close, sma15_length)
sma60 = ta.sma(close, sma60_length)
// Calculate the MACD line and Signal line
[macdLine, signalLine, _] = ta.macd(close, fast_length, slow_length, signal_length)
// SMA-based Probabilities
smaBullishProb = (sma7 > sma15 and sma7 > sma60 and sma15 > sma60) ? 0.5 : 0.0
smaBearishProb = (sma7 < sma15 and sma7 < sma60 and sma15 < sma60) ? 0.5 : 0.0
// MACD-based Probabilities
macdBullishProb = ta.crossover(macdLine, signalLine) ? 0.5 : 0.0
macdBearishProb = ta.crossunder(macdLine, signalLine) ? 0.5 : 0.0
// Combined Probabilities
combinedBullishProb = smaBullishProb + macdBullishProb
combinedBearishProb = smaBearishProb + macdBearishProb
// Trade logic using `if` conditions
if combinedBullishProb == 1.0
strategy.close("Short")
strategy.entry("Long", strategy.long, qty=leverage)
if combinedBearishProb == 1.0
strategy.close("Long")
strategy.entry("Short", strategy.short, qty=leverage)
// Exit conditions based on profit points
longTargetProfit1 = close * 1.09
longTargetProfit2 = close * 1.21
shortTargetProfit1 = close * 0.91
shortTargetProfit2 = close * 0.79
strategy.exit("Long TP1", from_entry="Long", limit=longTargetProfit1, qty_percent=0.5)
strategy.exit("Long TP2", from_entry="Long", limit=longTargetProfit2)
strategy.exit("Short TP1", from_entry="Short", limit=shortTargetProfit1, qty_percent=0.5)
strategy.exit("Short TP2", from_entry="Short", limit=shortTargetProfit2)
// Visualization (optional)
plot(sma7, color=color.green, title="7 Candle SMA")
plot(sma15, color=color.blue, title="15 Candle SMA")
plot(sma60, color=color.red, title="60 Candle SMA")
hline(0, "Zero Line", color=color.gray)
plot(macdLine - signalLine, color=color.blue, title="MACD Histogram")