Стратегия трейдинга на выбытие

Автор:Чао Чжан, Дата: 2023-11-02 16:40:26
Тэги:

img

Обзор

Эта стратегия основана на теории прорыва, сравнивая скользящие средние самых высоких и самых низких цен, чтобы определить, изменяется ли тенденция, чтобы найти потенциальные точки прорыва и торговать, когда произойдет прорыв.

Логика стратегии

Эта стратегия сначала рассчитывает скользящие средние самых высоких и самых низких цен в пределах определенного пользователем периода. Наиболее высокая скользящая средняя цена представляет верхнюю полосу, а самая низкая скользящая средняя цена представляет нижнюю полосу. Когда цена проходит через верхнюю полосу, это сигнализирует о восходящем тренде, и стратегия откроет длинную позицию. Когда цена проходит через нижнюю полосу, это сигнализирует о нисходящем тренде, и стратегия откроет короткую позицию. Пользователи могут настроить только длинную или только короткую.

Стратегия также предоставляет опциональные параметры остановки потери и получения прибыли. Когда длинный, остановка потери устанавливается в верхней полосе; когда короткий, остановка потери устанавливается в нижней полосе. Это уменьшает потери. Пользователи также могут выбрать, чтобы установить остановку потери в точке прорыва, то есть когда длинный, остановка потери является нижней полосой, а когда короткий, остановка потери является верхней полосой. Это позволяет увеличить потенциал прибыли.

Преимущества

Преимущества этой стратегии:

  1. Логика проста и понятна, легко понять и реализовать.

  2. Он может быстро определить точки переворота тренда и соответственно корректировать позиции.

  3. Он предоставляет опционные параметры стоп-лосса и прибыли, чтобы соответствовать личным предпочтениям риска.

  4. Торговые сигналы ясны, без слишком много ложных сигналов.

  5. Параметров мало, их легко использовать.

  6. Гибкость настройки только длинной или только короткой.

Риски

Риски этой стратегии включают:

  1. Сигнал прорыва может быть ложным и не поддерживать.

  2. Неправильное установление периода прорыва может привести к пропуску долгосрочных тенденций.

  3. Он не учитывает объем на прорыв, может вызвать преследование максимумов и убийство минимумов.

  4. Есть определенная задержка, может пропустить большую часть движения.

  5. На волатильном рынке, стоп-лосс может быть затронут.

  6. Опирается исключительно на прорыв для торговли, прибыль неопределенна.

Усовершенствования

Стратегия может быть улучшена в следующих аспектах:

  1. Включите индикатор объема, чтобы избежать ложных прорывов, например, увеличенный объем на валидность сигналов прорыва.

  2. Оптимизируйте параметр скользящей средней продолжительности, чтобы соответствовать изменениям тренда в разных циклах.

  3. Установите порог отступления после выхода для дальнейшего подтверждения, чтобы избежать ложного выхода.

  4. Добавьте полосы Боллинджера и т.д. к основанию прорыва для более направленного руководства.

  5. Включить другие индикаторы, такие как RSI, MACD для дополнительных торговых сигналов и улучшить точность.

  6. Оптимизировать стоп-лосс и использовать стратегии получения прибыли, чтобы лучше справляться с колебаниями рынка при одновременном контроле риска.

Резюме

Стратегия трейдинга имеет четкую логику отслеживания ценового прорыва верхних и нижних полос для входа и выхода. Есть большое пространство для улучшения, путем включения большей информации о индикаторе и оптимизации параметров для укрепления стратегии. После ознакомления с базовой логикой трейдеры могут настраивать параметры на основе своих потребностей и получать хорошие торговые результаты.


/*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"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Brakeout Strategy v2.0", shorttitle = "Brakeout str 2.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
len = input(4, defval = 4, minval = 1, maxval = 1000, title = "Length")
bod = input(false, defval = false, title = "Body mode")
rev = input(false, defval = false, title = "Revers")
showlines = input(true, defval = true, title = "Show Lines?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Extremums
min = bod ? min(open, close) : low
max = bod ? max(open, close) : high
upex = highest(max, len) + syminfo.mintick * 10
dnex = lowest(min, len) - syminfo.mintick * 10
col = showlines ? blue : na
plot(upex, color = col, linewidth = 2)
plot(dnex, color = col, linewidth = 2)

//Trading
lot = 0.0
lot := strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[len])) and rev == false
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = upex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = dnex)
    
if (not na(close[len])) and rev == true
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, limit = dnex)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, limit = upex)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

Больше