Strategi perdagangan bayangan dengan mengidentifikasi garis K yang muncul garis bawah atau garis atas yang panjang, untuk menilai kapan pasar mungkin berbalik. Ketika mengidentifikasi garis bawah yang panjang, lakukan lebih banyak; Ketika mengidentifikasi garis atas yang panjang, lakukan kosong. Strategi ini terutama menggunakan hukum umum pembalikan garis panjang untuk berdagang.
Logika inti dari strategi perdagangan bayangan adalah mengidentifikasi garis atas dan bawah yang muncul di garis K. Strategi ini dilakukan dengan menghitung ukuran entitas garis K.corpo
dan ukuran garis bayanganpinnaL
、pinnaS
Strategi ini terdiri dari langkah-langkah berikut: 1. Menghitung jumlah waktu yang dibutuhkan untuk membalikkan garis bayangan. 2. Menghitung waktu yang dibutuhkan untuk membalikkan garis bayangan.
corpo
, yaitu nilai mutlak dari selisih antara harga buka dan harga tutup.pinnaL
, yaitu nilai mutlak dari perbedaan antara harga tertinggi dan harga penutupan.pinnaS
, yaitu nilai mutlak dari perbedaan antara harga minimum dan harga penutupan.pinnaL > (corpo*size)
,size
adalah parameter yang dapat disesuaikanpinnaS > (corpo*size)
。Selain itu, strategi ini juga menilai besarnya fluktuasi garis K.dim
Apakah lebih besar dari minimummin
Setelah masuk, setel stop loss dan stop stop untuk keluar.
Strategi trading bayangan adalah strategi trading garis pendek yang relatif sederhana dan praktis. Strategi ini menghasilkan sinyal perdagangan dengan memanfaatkan hukum umum dari pembalikan garis panjang. Logika strategi ini sederhana, mudah diterapkan, dan dapat disesuaikan dan dioptimalkan sesuai dengan perbedaan varietas.
/*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)