
Обзор
Стратегия использует перекрестный сигнал случайного индикатора Stochastic Oscillator для инициирования покупки и продажи. Когда линия%K в случайном индикаторе пересекает линию%D снизу вверх, а значение%K ниже 20, открывается позиция; когда линия%K пересекает линию%D снизу вверх, а значение%K выше 80, открывается позиция. В то же время, стратегия устанавливает дистанцию между остановкой (Take Profit) и остановкой (Stop Loss) для управления позициями, чтобы избежать увеличения убытков.
Стратегический принцип
- Вычислить %K и %D значений из 14 циклов случайных показателей и сгладить их с помощью простой скользящей средней.
- Определить, пересекаются ли линии %K и %D:
- Когда линия %K пересекает линию %D снизу вверх, и значение %K ниже 20, запускается сигнал “купить”, открывается позиция “больше”.
- Когда %K-линия пересекает %D-линию сверху вниз, и %K-значение выше 80, то срабатывает сигнал продажи, открывается позиция и делается пустота.
- Настройка стоп-стоп и стоп-стоп-дистанции (в единицах Ticks) для управления открытыми позициями:
- Для многоочередных позиций, установить стоп-цену как TP Ticks выше цены открытия позиции, и стоп-цену как SL Ticks ниже цены открытия позиции.
- Для пустых позиций, установить стоп-цену как TP Ticks ниже цены открытия позиции, и стоп-цену как SL Ticks выше цены открытия позиции.
- Когда цена достигнет стоп-стопа или стоп-лосса, ликвидируйте соответствующую позицию.
- Установка логических условий равновесия:
- Если %K пересекает %D сверху вниз, а %K меньше или равен 80, выровняйте все многоголовые позиции.
- Если %K пересекает %D снизу вверх, и %K больше или равно 20, выровняем все пустые позиции.
Анализ преимуществ
- Эта стратегия использует случайные индикаторы в качестве основных торговых сигналов, которые широко используются в количественных сделках, чтобы лучше улавливать состояние перекупа и перепродажи на рынке.
- Стратегия одновременно устанавливает стоп-стоп и логические условия плавных позиций, что позволяет в определенной степени контролировать риск и избегать расширения убытков.
- Логика стратегии ясна, легко понятна и реализуема, подходит для изучения и использования новичками.
Анализ рисков
- Случайные индикаторы могут вызывать большие погрешности на рынке, что приводит к чрезмерной частоте торговли и увеличивает стоимость торговли.
- Стратегия не проводит динамической корректировки позиций, и фиксированные стоп-стоп-лосс могут не эффективно контролировать риск в условиях резкой волатильности рынка.
- Параметры в стратегии (например, периодичность случайных индикаторов, стоп-стоп-стап и т. д.) являются фиксированными и не оптимизированы для различных рыночных условий, что может повлиять на адаптивность стратегии.
Направление оптимизации
- Можно рассмотреть вопрос о введении других технических индикаторов или индикаторов рыночных настроений, которые могут использоваться в сочетании с случайными индикаторами, повышая надежность торговых сигналов и уменьшая ошибочные сигналы.
- Оптимизация управления позициями, адаптация стоп-стоп-лосс в зависимости от динамики рыночных колебаний или использование более продвинутых методов управления капиталом, таких как формула Келли.
- Оптимизация параметров стратегии с использованием генетических алгоритмов, сетевого поиска и других методов оптимизации, чтобы найти оптимальное сочетание параметров для различных рыночных условий.
- С учетом фильтрационных условий, таких как период торгов, волатильность торговых сортов и т. д., можно сократить торговлю в неблагоприятных рыночных условиях.
Подвести итог
Двусторонняя стоп-стоп стратегия, основанная на перекрестке случайных индикаторов, является простой и понятной количественной торговой стратегией, которая запускает операции по покупке и продаже с помощью перекрестных сигналов случайных индикаторов и устанавливает стоп-стоп и логические условия для управления риском. Преимущество этой стратегии заключается в логической ясности, подходящей для изучения и использования новичками; но в то же время существуют некоторые риски, такие как случайные индикаторы, которые могут выпускать больше ошибочных сигналов на колеблющихся рынках, и фиксированные методы управления позициями, которые не могут быть адаптированы к различным рыночным условиям.
Исходный код стратегии
/*backtest
start: 2024-02-29 00:00:00
end: 2024-03-07 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("How to force strategies fire exit alerts not reversals", initial_capital = 1000, slippage=1, commission_type = strategy.commission.cash_per_contract, commission_value = 0.0001, overlay=true)
// disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker
// Entries logic: based on Stochastic crossover
k = ta.sma(ta.stoch(close, high, low, 14), 3)
d = ta.sma(k, 3)
crossover = ta.crossover(k,d)
crossunder = ta.crossunder(k,d)
if (crossover and k < 20)
strategy.entry("Buy", strategy.long, alert_message="buy")
if (crossunder and k > 80)
strategy.entry("Sell", strategy.short, alert_message="sell")
// StopLoss / TakeProfit exits:
SL = input.int(600, title="StopLoss Distance from entry price (in Ticks)")
TP = input.int(1200, title="TakeProfit Distance from entry price (in Ticks)")
strategy.exit("xl", from_entry="Buy", loss=SL, profit=TP, alert_message="closebuy")
strategy.exit("xs", from_entry="Sell", loss=SL, profit=TP, alert_message="closesell")
// logical conditions exits:
if (crossunder and k <= 80)
strategy.close("Buy", alert_message="closebuy")
if (crossover and k >= 20)
strategy.close("Sell", alert_message="closesell")