
Strategi perdagangan bayangan dengan mengenal pasti garis K yang muncul garis panjang bawah atau garis K yang panjang atas, untuk menilai masa pasaran mungkin berbalik. Apabila mengenal pasti garis panjang bawah, lakukan lebih banyak; apabila mengenal pasti garis panjang atas, lakukan kosong. Strategi ini menggunakan undang-undang umum berbalik garis panjang untuk berdagang.
Logik teras strategi perdagangan bayangan adalah untuk mengenal pasti garis-garis panjang dan garis-garis panjang yang muncul dalam K-garis. Strategi ini dilakukan dengan mengira saiz entiti K-garis.corpodan saiz garis bayanganpinnaL、pinnaSApabila saiz garis bayangan lebih besar daripada beberapa kali saiz entiti, dianggap mungkin terdapat peluang untuk membalikkannya. Secara khusus, strategi ini mengandungi langkah-langkah berikut:
corpo, iaitu nilai mutlak perbezaan harga pembukaan dan harga penutupan.pinnaL, iaitu nilai mutlak perbezaan antara harga tertinggi dan harga penutupan.pinnaS, iaitu nilai mutlak perbezaan antara harga minimum dan harga penutupan.pinnaL > (corpo*size),sizeadalah parameter yang boleh disesuaikan.pinnaS > (corpo*size)。Selain itu, strategi ini juga menilai saiz perubahan garis K.dimAdakah lebih besar daripada nilai minimumminUntuk menghapuskan K-line yang tidak menarik yang bergelombang terlalu kecil, anda perlu menetapkan Stop Loss dan Stop Stop Exit.
Strategi perdagangan bayangan adalah strategi perdagangan garis pendek yang lebih mudah dan praktikal. Ia menggunakan undang-undang umum pembalikan garis panjang untuk menghasilkan isyarat perdagangan. Logiknya mudah, mudah dilaksanakan, dan boleh disesuaikan dan dioptimumkan mengikut perbezaan varieti.
/*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)