
Двухсторонняя стратегия обратного прорыва - это стратегия обратной торговли, основанная на точках цены. Она определяет время возможного обратного прорыва, обнаруживая предельные значения цены в пределах определенного количества бар.
Основная логика двухстороннего прорыва в обратном направлении заключается в следующем:
Использованиеpivothigh() и pivotlow()Функция рассчитывает максимальные и минимальные значения в пределах последних n баров как крайние значения. Здесь n устанавливается на 4
Когда верхняя точка последнего бар превышает предельную точку, стратегия считает, что цена может перевернуться, и делает пробег. Стоп-лосс находится выше предельной точки.
Когда низкая точка последнего бара находится ниже минимальной точки, стратегия считает, что цена может быть обращена вспять. Стоп-лосс находится ниже минимальной точки.
Как только цена перевернулась и превысила критическую точку, предыдущий сигнал был аннулирован, и мы ждали следующей возможности для торговли.
С помощью этого метода стратегия может использовать возможность кратковременного переворота цены при прорыве критической точки. При этом следует установить стоп-лосс, чтобы контролировать риск.
Двухсторонняя стратегия прорыва и обратного пути имеет следующие преимущества:
Определение круглой точки для определения точки переворота.
В этом случае, если криптовалюта будет использоваться в качестве инструмента для борьбы с высокой волатильностью, она сможет воспользоваться возможностью короткой обратной линии.
Правила относительно просты и легко понять.
Отзывчивые люди, которые не знают, что делать, не могут сделать ничего, кроме как отступить.
Прибыль достигает 350%, а коэффициент Sharp превышает 1.
С другой стороны, в случае с двусторонней стратегией прорыва в обратном направлении существуют риски:
Если рынок продолжает развиваться, то возникает множество небольших стоп-лосс.
Крайняя точка не обязательно является точкой отклонения, существует риск ошибочного или недостаточного отклонения.
После прорыва критической точки не может быть гарантирован немедленный обратный ход, существует риск наступления убытков.
Требуются только предельные значения последних 4 бар, пробный диапазон может быть слишком мал.
Большое вхождение в рынок, не учитывая рыночную ликвидность, может оказать влияние на цены.
Промежуток времени отслеживания короткий, долгосрочная эффективность сомнительна.
Двухсторонние стратегии прорыва и обратной связи могут быть оптимизированы в следующих аспектах:
Увеличение временного интервала критических точек, чтобы избежать небольшого количества образцов. Можно установить динамический интервал.
После прорыва критической точки, ждать дополнительного подтверждающего сигнала, чтобы избежать ложного прорыва. Например, добавление большого количества, отклонение MACD и т. д.
Динамически корректируйте входные позиции в зависимости от рыночной ликвидности.
В сочетании с трендовыми показателями, избегайте частого переворота в тренде.
Добавление стратегии перемещения стоп-линий, позволяющей стопам отслеживать прибыль.
Параметры тестирования для разных сортов, установление оптимальных параметров.
Добавление более длительного времени отсчета и данных о фьючерсах, чтобы подтвердить стабильность стратегии.
Двухсторонняя стратегия прорыва в обратном направлении использует критические точки цены, чтобы определить время перехода, и может использоваться для захвата коротких линий на высоко волатильных рынках. Преимущества заключаются в простоте правил, низком отступлении и высокой доходности. Но также существует риск ошибочного поворота и преследования убытков.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50)
//
// author: QuantNomad
// date: 2019-06-01
// Pivot Reversal Strategy - XBTUSD - 1h
// https://www.tradingview.com/u/QuantNomad/
// https://t.me/quantnomad
//
leftBars = input(4)
rightBars = input(4)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le)
strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se)
strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)