Стратегия теневой торговли

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

img

Обзор

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

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

Основная логика стратегии теневой торговли заключается в определении длинных верхних и нижних теней в K-линиях.corpoи тенями,pinnaLиpinnaSКогда размер тени больше размера тела на определенный мультипликатор, он считает, что могут быть возможности для обратного движения.

  1. Вычислить размер тела K-линииcorpo, что является абсолютным значением разницы между ценой открытия и ценой закрытия.
  2. Расчет верхней тениpinnaL, что является абсолютным значением разницы между самой высокой ценой и ценой закрытия.
  3. Расчет нижней тениpinnaS, что является абсолютным значением разницы между самой низкой ценой и ценой закрытия.
  4. Проверьте, если верхняя тень больше, чем размер тела на множитель, черезpinnaL > (corpo*size), гдеsizeявляется регулируемым параметром.
  5. Проверьте, если нижняя тень больше, чем размер тела на множитель, черезpinnaS > (corpo*size).
  6. Если выполнены вышеперечисленные условия, на конце линии K с тенью следует идти коротко (длинная верхняя тень) или длинно (длинная нижняя тень).

Кроме того, стратегия также проверяет, если диапазон K-линииdimпревышает минимальное значениеminДля выхода используются стоп-лосс и прибыль.

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

  • Использует общий принцип смены тени, который является относительно надежным торговым сигналом.
  • Простая и понятная логика стратегии, интуитивно понятные параметры
  • Гибкий контроль рисков путем корректировки параметров для изменения частоты входа
  • Может быть дополнительно оптимизирован путем сочетания тренда, поддержки/сопротивления и т.д.

Риски и решения

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

Руководство по оптимизации

  • Оптимизировать параметры по продуктам для улучшения стабильности
  • Добавьте суждение о тренде с помощью скользящих средних и т. д. чтобы избежать контртенда.
  • Добавить проверки на прорыв недавних высоких/низких точек для повышения эффективности
  • Оптимизировать стоп-лосс и получать прибыль, чтобы максимизировать прибыль и минимизировать убытки
  • Оптимизировать размеров позиции, может варьироваться в разных продуктах

Заключение

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


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-11 23:59:59
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Shadow Trading", overlay=true)

size = input(1,type=float)
pinnaL = abs(high - close) 
pinnaS = abs(low-close)
scarto = input(title="Tail Tollerance", type=float, defval=0.0018)
corpo = abs(close - open)
dim = abs(high-low)
min = input(0.001)
shortE = (open + dim)

longE = (open - dim)
barcolor(dim > min and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) ? navy : na)

longcond = (dim > min) and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto)
minimo=low+scarto
massimo=high+scarto
barcolor( dim > min and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) ? orange: na)
shortcond = (dim > min) and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
//plot(shortE)
//plot(longE)
//plot(open)
ss= shortcond ? close : na
ll=longcond ? close : na
offset= input(0.00000)

DayClose = 2
closup = barssince(change(strategy.opentrades)>0)  >= DayClose 

longCondition = (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) 

crossFlag = longcond ? 1 : 0
monthBegin = input(1,maxval = 12)
yearBegin = input(2013, maxval= 2015, minval=2000)

if(month(time)>monthBegin and year(time) >yearBegin)
    if (longcond)
        strategy.entry("short", strategy.short, stop = low - offset)   
//strategy.close("short", when = closup)
shortCondition = (close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
if(month(time)>monthBegin and year(time) >yearBegin)
    if (shortcond)
        strategy.entry("long", strategy.long, stop = high + offset)
//strategy.close("long", when = closup)

Target =  input(20) 
Stop = input(70) //- 2
Trailing = input(0) 
CQ = 100

TPP = (Target > 0) ? Target*10: na
SLP = (Stop > 0) ? Stop*10 : na
TSP = (Trailing > 0) ? Trailing : na

strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)

Больше