Стратегии за пределами облаков


Дата создания: 2023-11-03 16:10:33 Последнее изменение: 2023-11-03 16:10:33
Копировать: 2 Количество просмотров: 638
1
Подписаться
1617
Подписчики

Стратегии за пределами облаков

Обзор

Эта стратегия использует супер трендовые индикаторы для поддержания ордера и фильтрации в сочетании с облаками и цветом K-линии, чтобы увеличить вероятность получения прибыли. Целью является быстрое захват тренда после начала тренда и снижение риска потерь в промежутках свертывания.

Стратегический принцип

  1. Среднее значение наивысшей и наименьшей цены в течение цикла ATR рассчитывается как эталон.

  2. Вычисление верхней и нижней полос в зависимости от множества факторов.

  3. Когда цена закрытия больше, чем вверх, она отмечается как 1, когда она меньше, чем вниз, она отмечается как -1, в остальное время сохраняет текущее состояние.

  4. В зависимости от взаимосвязи между ценой закрытия и положением вверх и вниз, в реальном времени корректируйте линию стоп-лосса.

  5. Облачный диапазон рассчитывается исходя из определенного процента расстояния между верхней и нижней орбитами.

  6. Когда супертенденция равна 1, при увеличении нужно закрыть цену ниже открытой цены, а при уменьшении - закрыть цену выше открытой цены.

  7. При увеличении, вывешивайте лимит на покупку и продажу по цене, равняющейся цене закрытия предыдущей K-линии. При освобождении, вывешивайте лимит на продажу и продажу по цене, равняющейся цене закрытия предыдущей K-линии.

  8. Фильтрационный период, когда все позиции могут быть закрыты.

Анализ преимуществ

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

  1. Индекс сверхтенденции имеет высокую чувствительность и способность отслеживать тенденции.

  2. Фильтрация концепции облака снижает убытки, связанные с ложными взломами.

  3. Цвета K-линии помогают судить, избегая переворота.

  4. Ограничительные цены уменьшают эффект от скольжения и повышают вероятность получения прибыли.

  5. Настраиваемые временные промежутки и управление позициями, адаптированные к различным торговым потребностям.

Анализ рисков

В этой стратегии также есть некоторые риски, о которых следует помнить:

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

  2. Если облака будут слишком большими, то они могут отфильтровывать обычные прорывные сигналы, что может повлиять на прибыль.

  3. При значительных колебаниях цены на лимитированные акции могут оказаться невыгодными для торговли.

  4. Никакое отслеживание потерь не может полностью избежать системного риска больших потерь.

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

Направление оптимизации

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

  1. Испытание различных рынков и разновидностей, чтобы найти оптимальное сочетание параметров супер-трендов.

  2. Установка стоп-лосса динамически корректируется в зависимости от степени волатильности рынка.

  3. Оптимизация облачного диапазона, достижение баланса между устранением шума и сохранением сигнала.

  4. Добавить модуль оптимизации позиций, чтобы размер позиций динамично следовал за изменениями рынка.

  5. Используйте различные комбинации параметров в разные периоды времени, чтобы соответствовать ритму рынка.

  6. Результаты тестирования в сочетании с другими показателями.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-10-03 00:00:00
end: 2023-11-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy("Noro's SuperTrend Strategy v2.0 Limit", shorttitle = "STL str", 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 = "Lot, %")
cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR")
Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100)
ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100)
centr = input(true, defval = true, title = "need center of ATR?")
border = input(false, defval = false, title = "need border?")
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")

//Super Trend ATR 1
src = close
Up=hl2-(Factor*atr(ATR))
Dn=hl2+(Factor*atr(ATR))
TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up
TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn
Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1)
Tsl1 = Trend==1? TUp: TDown
Tsl2 = Trend==1? TDown: TUp
limit = (Tsl1 - Tsl2) / 100 * cloud
upcloud = Tsl1 - limit
dncloud = Tsl2 + limit

//Cloud
linecolor = Trend == 1 ? green : red
centercolor = centr == true ? blue : na
cloudcolor = Trend == 1 ? green : red
cline = (Tsl1 + Tsl2) / 2
P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1")
P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2")
P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center")
P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1")
P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1")
fill(P1, P4, color = linecolor == red ? red : lime, transp = 50)
fill(P2, P5, color = linecolor == red ? red : lime, transp = 50)

//Signals
up = 0.0
dn = 0.0
up := Trend != 1 ? 0 : Trend == 1 and close < open ? close : up[1]
dn := Trend != -1 ? close * 1000 : Trend == -1 and close > open ? close : dn[1]

//Trading
size = strategy.position_size
lot = 0.0
lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1]
if true
    strategy.entry("Long", strategy.long, needlong ? lot : 0, limit = up, when = (Trend == 1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    strategy.entry("Short", strategy.short, needshort ? lot : 0, limit = dn, when = (Trend == -1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

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