Strategi Penembusan Lilin Kana Berdasarkan Rata-rata Gerak dan Rintangan Dukungan

Penulis:ChaoZhang, Tanggal: 2023-12-27 15:27:45
Tag:

img

Gambaran umum

Ini adalah strategi breakout cepat berdasarkan analisis teknis candlestick Jepang, dikombinasikan dengan indikator rata-rata bergerak dan indikator resistensi pendukung untuk menentukan tren dan posisi.

Logika Strategi

Strategi ini menggunakan rata-rata bergerak sederhana 20 periode (SMA) dan rata-rata bergerak eksponensial 200 periode (EMA) untuk menentukan arah tren. Ketika harga berada dalam tren naik (SMA di atas EMA), dan benda candlestick Jepang saat ini ditutup di atas terbuka (tubuh putih), ini menunjukkan kekuatan pembelian yang diperkuat. Ketika harga berada dalam tren menurun (SMA di bawah EMA), dan benda candlestick Jepang saat ini ditutup di bawah terbuka (tubuh hitam), ini menunjukkan tekanan penjualan yang diperkuat.

Dengan konfirmasi tren dan momentum, strategi menunggu untuk price breakout yang cepat dan memasuki pasar. Yang disebut breakout berarti harga melintasi garis saluran pertama dari tiga saluran ATR yang telah ditetapkan sebelumnya (dihitung berdasarkan ATR 200 hari dan koefisien) dan memasuki garis saluran kedua. Ini adalah sinyal breakout probabilitas tinggi.

Setelah memasuki pasar, aturan profit taking dan stop loss sangat sederhana. selama harga menyentuh batas luar saluran (seperti take profit line atau stop loss line), maka akan mengambil profit atau stop loss segera. hal ini memastikan keuntungan cepat dari strategi.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah mengambil keuntungan dengan cepat dengan risiko yang relatif kecil. Dengan memasuki pasar dengan cepat setelah breakout, ia menghindari beberapa penyesuaian posisi. Dan efek percepatan yang dibawa oleh channel breakout memungkinkan keuntungan besar dalam waktu singkat.

Dibandingkan dengan kepemilikan jangka panjang, mekanisme pembukaan dan penutupan yang efisien dapat secara signifikan mengurangi tingkat jalan kosong strategi dan lebih meningkatkan efisiensi modal. Pada saat yang sama, mekanisme pengambilan keuntungan dan stop-loss yang cepat juga dapat secara efektif mengendalikan kerugian tunggal.

Analisis Risiko

Strategi ini terutama bergantung pada indikator rata-rata bergerak untuk menentukan arah tren, dengan risiko penurunan dan konsolidasi.

Selain itu, strategi terlalu bergantung pada indikator teknis tanpa menggabungkan analisis peristiwa fundamental dan signifikan.

Untuk mengendalikan risiko, kita dapat memperluas rentang saluran dengan tepat untuk mengurangi frekuensi pembukaan; atau menambahkan modul manajemen posisi untuk menyesuaikan posisi tunggal secara dinamis berdasarkan total modal.

Optimalisasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan modul manajemen posisi. Sesuaikan posisi pembukaan tunggal secara dinamis berdasarkan ukuran akun untuk mengontrol persentase kerugian tunggal.

  2. Tambahkan penyaringan fundamental. Ketika indikator teknis memicu sinyal pembukaan, periksa fundamental perusahaan dan peristiwa penting untuk menghindari kelainan.

  3. Menggabungkan manajemen stok. Menetapkan aturan untuk menyesuaikan stok secara dinamis. Memilih stok optimal di berbagai tahap untuk meningkatkan stabilitas.

  4. Menggabungkan model pembelajaran mesin. Gunakan AI untuk memprediksi tren dan tingkat harga utama, membantu dalam menentukan rentang saluran dan waktu masuk.

Kesimpulan

Strategi ini memiliki fitur kesederhanaan dan efisiensi. Ini menentukan tren utama dengan moving average, arah momentum dengan lilin Jepang, masuk dengan cepat keluar, dan keluar dengan cepat mengambil keuntungan dan stop loss. Ini memungkinkan keuntungan jangka pendek yang cocok untuk perdagangan frekuensi tinggi.


/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Kana with S/R Strategy", title = "KANA with S/R", overlay=true)

len = input(20, minval=1, title="Length")
multiplier1 = input(1, minval=1, title="multiplier1")
multiplier2 = input(2, minval=1, title="multiplier2")
multiplier3 = input(3, minval=1, title="multiplier3") 
srTimeFrame = input(240, minval=1, title="Support Resistance TimeFrame")
useSR = input(true, type = bool, title="Use Support/Resistance")
tpPercent = input(0.5, type=float, title = "Take Profit Percent")
useTP = input(false, type=bool, title = "Use Take Profit")
tp = (close * tpPercent / 100) / syminfo.mintick

src = input(close, title="Source")
mid = sma(src, len)
plot(mid, title="SMA", color=blue)

trend = ema(close, 200)
plot(trend, title="Trend", color=green)


upper1 = mid + atr(200) * multiplier1
upper2 = mid + atr(200) * multiplier2
upper3 = mid + atr(200) * multiplier3

lower1 = mid - atr(200) * multiplier1
lower2 = mid - atr(200) * multiplier2
lower3 = mid - atr(200) * multiplier3

plot(upper1, color = orange)
plot(upper3, color = red)

plot(lower1, color = orange)
plot(lower3, color = red)

haClose = request.security(heikinashi(syminfo.tickerid), timeframe.period, close)
haOpen = request.security(heikinashi(syminfo.tickerid), timeframe.period, open)

resistance = request.security(syminfo.tickerid,tostring(srTimeFrame), high)
support  = request.security(syminfo.tickerid,tostring(srTimeFrame), low)
rsPos = (close - support[srTimeFrame]) / (resistance[srTimeFrame] - support[srTimeFrame])

MACD = ema(close, 120) - ema(close, 260)
aMACD = ema(MACD, 90)
hisline = MACD - aMACD

longCondition = (mid > trend) and (haOpen[1] < haClose[1]) and (mid > mid[1]) and (close < upper1) and hisline > 0 and (useSR == true ? (rsPos > 100) : true)
shortCondition = (mid < trend) and (haOpen[1] > haClose[1]) and (mid < mid[1]) and (close > lower1) and hisline < 0 and (useSR == true ? (rsPos < 0) : true)

longExit = (close > upper3 ) or (close < lower2)
shortExit = (close < lower3) or (close > upper2)

if (longCondition)
    strategy.entry("Long", strategy.long)
    if (useTP)
        strategy.exit("Exit Long", "Long", profit = tp)
        
if (longExit)
    strategy.close("Long")
    
if (shortCondition)
    strategy.entry("Short", strategy.short)
    if (useTP)
        strategy.exit("Exit Short", "Short", profit = tp)
    
if (shortExit)
    strategy.close("Short")

Lebih banyak