
La estrategia de comercio de la sombra para determinar el momento en que el mercado puede revertir, mediante la identificación de la línea K en la que aparece una línea de sombra larga o una línea de sombra larga. Cuando se identifica una línea de sombra larga, haga más; cuando se identifica una línea de sombra larga, haga un vacío.
La lógica central de la estrategia de comercio de sombras es identificar las sombras superiores y inferiores que aparecen en las líneas K. La estrategia calcula el tamaño de la entidad de la línea K.corpoy el tamaño de la línea de sombrapinnaL、pinnaSCuando el tamaño de la línea de sombra es mayor que un cierto número de veces el tamaño de la entidad, se considera que puede haber una oportunidad de reversión. En concreto, la estrategia incluye los siguientes pasos:
corpo, es el valor absoluto de la diferencia entre el precio de apertura y el precio de cierre.pinnaL, es decir, el valor absoluto de la diferencia entre el precio máximo y el precio de cierre.pinnaS, es decir, el valor absoluto de la diferencia entre el precio mínimo y el precio de cierre.pinnaL > (corpo*size),sizeEs un parámetro ajustable.pinnaS > (corpo*size)。Además, la estrategia determina el tamaño de la oscilación de la línea K.dimSi es mayor que el mínimominPara evitar que el filtro elimine las líneas K poco interesantes, que son demasiado pequeñas para las fluctuaciones.
La estrategia de negociación en la sombra es una estrategia de negociación de líneas cortas más sencilla y práctica. Utiliza la ley universal de la inversión de líneas largas para generar señales de negociación. La lógica de la estrategia es simple, fácil de implementar y se puede ajustar y optimizar según las diferencias de variedad.
/*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)