Strategi Reversal Dual Shadow adalah strategi trading jangka pendek yang didasarkan pada pola lilin. Strategi ini mengidentifikasi peluang reversal potensial dengan mendeteksi pola lilin khusus di mana dua lilin berturut-turut tidak memiliki bayangan.
Logika inti dari strategi ini adalah untuk mengidentifikasi pola
Menurut teori analisis teknis, pola bayangan ganda ini sering menunjukkan pembalikan tren yang akan datang. Harga berfluktuasi dalam kisaran yang sangat sempit pada dua lilin berturut-turut menunjukkan penyeimbangan kekuatan beli dan jual, yang mengisyaratkan pembalikan yang mungkin.
Setelah mendeteksi pola double shadow, strategi akan masuk panjang atau pendek pada candles berikutnya dibuka berdasarkan penutupan sebelumnya.
Logika strategi adalah sederhana dan mudah dipahami, dengan pengenalan pola sederhana yang mudah diterapkan.
Ini memanfaatkan pola pembalikan bayangan ganda klasik yang memiliki beberapa rasional analisis teknis.
Perdagangan yang jarang membantu mengurangi biaya dan risiko.
Mudah untuk menambahkan fitur backtesting dan mengoptimalkan parameter.
Perdagangan pola bergantung pada statistik grafik historis dan probabilitas, dan penyimpangan dapat terjadi.
Meskipun bayangan ganda menunjukkan pembalikan, pembalikan sebenarnya mungkin tidak terjadi atau bertahan.
Zona keuntungan tetap mungkin tidak dapat mengatasi pasar yang bergerak cepat.
Melihat informasi lilin yang terbatas dapat menyebabkan entri yang terlalu bersemangat.
Masukkan indikator tren untuk menghindari perdagangan kontra-tren.
Gunakan entri menunggu konfirmasi untuk mengkonfirmasi pembalikan yang sebenarnya.
Tetapkan stop loss dinamis berdasarkan ATR bukan durasi tetap.
Gunakan pembelajaran mesin untuk menentukan pola bayangan ganda mana yang lebih dapat diandalkan.
Strategi pembalikan bayangan ganda memanfaatkan konsep klasik perdagangan pola dengan cara yang sederhana dan intuitif, cocok untuk pemula sementara juga berfungsi sebagai komponen modular untuk algos.
/*backtest start: 2023-10-30 00:00:00 end: 2023-11-06 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("No Shadow Candles", overlay=true) //set inputs bars_until_close_trade = input(1,"Bars Until Close", minval = 1) backtest_option = input(true,"Backtest on Twice alert?", bool) //set conditions up = close > close[1] and low >= open and high <= close down = close < close[1] and low >= close and high <= open up2 = (close > close[1] and low >= open and high <= close) and (close[1] > close[2] and low[1] >= open[1] and high[1] <= close[1]) down2 = (close < close[1] and low >= close and high <= open) and (close[1] < close[2] and low[1] >= close[1] and high[1] <= open[1]) close_trade = barssince(up or down) == bars_until_close_trade close_trade2 = barssince(up2 or down2) == bars_until_close_trade //plot indicators plotshape(up,"Up Marker", shape.triangleup, location.belowbar, color = olive, size = size.tiny, transp = 50) plotshape(down,"Down Marker", shape.triangledown, location.abovebar, color = orange, size = size.tiny, transp = 50) plotshape(up2,"Up Twice Marker", shape.triangleup, location.belowbar, color = white, size = size.small) plotshape(down2,"Down Twice Marker", shape.triangledown, location.abovebar, color = white, size = size.small) plotshape(close_trade,"Close Trigger", shape.circle, location.belowbar, color = fuchsia, size = size.tiny, transp = 50) plotshape(close_trade2,"Close Trigger2 (After Twice Alert)", shape.circle, location.belowbar, color = red, size = size.small) //Strategy Testing // Component Code Start // Example usage: // if testPeriod() // strategy.entry("LE", strategy.long) testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(01, "Backtest Start Month") testStartDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "Backtest Stop Year") testStopMonth = input(7, "Backtest Stop Month") testStopDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => true // Component Code Stop //Entry and Close settings if testPeriod() and backtest_option == true strategy.entry("up2", true, when = up2, limit = close) strategy.close("up2", when = close_trade) if testPeriod() and backtest_option == false strategy.entry("up", true, when = up, limit = close) strategy.close("up", when = close_trade)