
Двухсторонняя обратная стратегия - это простая стратегия торговли биткойном, в которой в зависимости от торгового диапазона предыдущего дня устанавливается ордер на покупку-убыток в тот же день. Основная идея этой стратегии заключается в том, что если цена открытия в тот же день выросла по сравнению с ценой закрытия в предыдущий день, устанавливается покупка-убыток в районе высоты; если цена открытия в тот же день упала по сравнению с ценой закрытия в предыдущий день, устанавливается покупка-убыток в районе низкой.
Стратегия сначала рассчитывает торговый диапазон за предыдущий день, то есть наивысшую цену за вычетом наименьшей цены. Затем, после открытия дня, она определяет, выросла ли цена по сравнению с закрывающей ценой предыдущего дня.
В частности, стратегия включает в себя два правила входа:
Если цена открытия дня выше, чем цена закрытия предыдущего дня ((longCond1 удовлетворен), и в течение обратного измерения времени окна ((window( удовлетворен), то на цене открытия плюс 0.6 раза предыдущего дня диапазона купить ((strategy.long1) }}.
Если цена открытия дня ниже, чем цена закрытия дня (longCond2) и в течение времени обратного отсчета, то при покупке (strategy.long2) следует купить убыток в 1,8 раза больше, чем в предыдущем дне.
Стратегия открывает позиции после двух вышеперечисленных остановок, а затем закрывает позиции до закрытия дня с помощью strategy.close_all.
Стратегия двухстороннего обращения имеет следующие преимущества:
Захватывает обратные тенденции, без предвзятости. Эта стратегия учитывает одновременно рост и падение цены, чтобы запечатлеть прорывные обратные тенденции в разных направлениях.
Контролируемый риск, защита от остановки. Стратегия предусматривает предварительную установку цены остановки, что позволяет эффективно контролировать максимальные потери от одной сделки.
Каждый день ликвидируйте, избегайте риска на ночь. Стратегия, чтобы ликвидировать позиции до закрытия в тот же день, не держать позиции на ночь, может уменьшить риск значительных колебаний на ночь.
Высокая частота торгов, подходящая для коротких операций. Только один торговый день в день может обеспечить высокую частоту торгов.
Стратегическая концепция проста и понятна, легко понятна и реализуема.
В то же время есть некоторые риски, о которых следует помнить при использовании стратегии двустороннего обращения:
Неправильно выбранная стоп-дальность может привести к тому, что стоп-дальность будет пробита. Если стоп-дальность установлена слишком маленькой, в крайних случаях может быть прямой прорыв, что приведет к убыткам.
Слишком высокая частота торговли может привести к давлению на торговые сборы. Высокая частота торговли с ежедневным открытием позиции может привести к увеличению комиссионных сборов.
В случае сильных толчков они могут быть легко остановлены. В случае толчков они могут быть легко активированы и привести к убыткам.
Эта стратегия более подходит для реверсивных рынков, где нет возможности постоянно ловить трендовые прибыли после прорыва тренда.
Эта стратегия может быть оптимизирована в следующих аспектах:
Оптимизировать стоп-дистанцию. Можно тестировать различные стоп-позиции, чтобы найти оптимальную стоп-дистанцию. Можно также динамически регулировать стоп-дистанцию в зависимости от степени волатильности рынка.
Добавление фильтров трендов. До входа можно определить направление тренда на более крупном уровне, чтобы избежать обратной торговли.
Оптимизация правил открытия позиций. Можно рассмотреть возможность добавления дореволюционного графического формообразования до прорыва, или увеличения количественного логического суждения для повышения точности открытия позиций.
Добавление оптимизации позиции. Можно тестировать добавление мобильных стопов или трендового отслеживания EXIT для постоянной прибыли.
Тестирование различных торговых сортов. Эта стратегия может быть более подходящей для более волатильных сортов. Можно тестировать данные различных сортов, чтобы найти оптимальный вариант.
В сочетании с технологиями машинного обучения. Можно рассмотреть возможность использования машинного обучения для оптимизации параметров, таких как стоп-дистанция, правила открытия позиции.
Двухсторонняя обратная стратегия в целом является очень простой и практичной стратегией короткой линии. Она одновременно подходит для повышения и снижения цены, что позволяет эффективно улавливать возможности для обратного обмена. Но в этой стратегии также есть некоторые риски, требующие оптимизации для снижения риска и повышения стабильности стратегии, такие как стоп-дистанция, правила открытия позиции.
/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("Simple strat", shorttitle="Simple Strat", overlay=true)
// X001TK R1 strategy
//
//
// This strategy combines the special approach in previous daily range trading
//
// This strategy goes long on stop buy order which is calculated as previous day range
// multiplied by special number.
//
// This pure strategy does not have any
// stop loss or take profit money management logic.
//
// Exit rule is simple. We close the position on market close or next day open
//
//
//
//
// Input
length = input(10, minval=1)
stopLossPercent=input(1.1,"Stop Loss Percent")
profitPercent=input(9,"Profit Percent")
// === INPUT BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2000)
ToMonth = input(defval = 3, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2029, title = "To Year", minval = 2017)
ses_cls = input(defval=true, title="End of Session Close Out?")
// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY ===
// conditions
longCond1 = close>close[1]
longCond2 = close<close[1]
strategy.entry("long1", strategy.long, when=longCond1==true and window()==true, stop=close+(high - low)*0.6)
strategy.entry("long2", strategy.long, when=longCond2==true and window()==true, stop=close+(high - low)*1.8)
strategy.close_all(when=ses_cls)
// === /STRATEGY ===