Strategi perdagangan bayangan mengidentifikasi garis K dengan bayangan bawah atau atas yang panjang untuk menentukan peluang pembalikan pasar potensial.
Logika inti dari strategi perdagangan bayangan adalah untuk mengidentifikasi bayangan atas dan bawah panjang di K-line.corpo
dan ukuran bayangan-bayangan.pinnaL
danpinnaS
Ketika ukuran bayangan lebih besar dari ukuran tubuh dengan pengganda tertentu, ia menganggap mungkin ada peluang pembalikan. Secara khusus, strategi ini mencakup langkah-langkah berikut:
corpo
, yang merupakan nilai absolut dari perbedaan antara harga buka dan tutup.pinnaL
, yang merupakan nilai absolut dari perbedaan antara harga tertinggi dan harga dekat.pinnaS
, yang merupakan nilai absolut dari perbedaan antara harga terendah dan harga dekat.pinnaL > (corpo*size)
, di manasize
adalah parameter yang dapat disesuaikan.pinnaS > (corpo*size)
.Selain itu, strategi juga memeriksa apakah kisaran garis Kdim
lebih besar dari nilai minimummin
Stop loss dan take profit digunakan untuk keluar.
Strategi shadow trading adalah strategi trading jangka pendek yang sederhana dan praktis. Strategi ini menghasilkan sinyal trading menggunakan prinsip umum pembalikan bayangan. Logika strategi sederhana dan mudah diterapkan, dan dapat disesuaikan dan dioptimalkan sesuai dengan perbedaan produk. Pada saat yang sama, trading shadow juga membawa risiko tertentu.
/*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)