
Stratégie de négociation de l’ombre pour déterminer le moment où le marché pourrait se retourner en identifiant une ligne K avec une ligne K descendante ou supérieure. Lorsque vous identifiez une ligne K descendante, faites plus; lorsque vous identifiez une ligne K supérieure, faites moins.
La logique centrale de la stratégie de trading de l’ombre est d’identifier les longueurs d’ombre supérieures et inférieures qui apparaissent dans les lignes K. La stratégie consiste à calculer la taille des entités de la ligne K.corpoet la taille de la ligne d’ombrepinnaL、pinnaSLa stratégie consiste en une série d’étapes: 1) La stratégie consiste à faire apparaître une ligne d’ombre qui est plus grande qu’un certain nombre de fois la taille de l’objet; 2) La stratégie consiste à faire apparaître une ligne d’ombre qui est plus grande qu’un certain nombre de fois la taille de l’objet.
corpo, qui est la valeur absolue de la différence entre le prix d’ouverture et le prix de clôture.pinnaL, soit la valeur absolue de la différence entre le prix de clôture et le prix de clôture.pinnaS, soit la valeur absolue de la différence entre le prix minimum et le prix de clôture.pinnaL > (corpo*size),sizeest un paramètre modifiable.pinnaS > (corpo*size)。En outre, la stratégie détermine la taille des fluctuations de la ligne K.dimEst-ce plus grand que le minimumminLe filtrage supprime les K-lignes inintéressantes avec des fluctuations trop petites.
La stratégie de négociation en ombre est une stratégie de négociation de ligne courte qui est simple et pratique. Elle utilise la loi universelle de l’inversion des lignes longues pour générer des signaux de négociation. La logique de la stratégie est simple, facile à mettre en œuvre et peut être adaptée et optimisée en fonction des variétés.
/*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)