Strategi dorongan ganda berdasarkan tubuh lilin

Penulis:ChaoZhang, Tanggal: 2023-11-16 17:14:48
Tag:

img

Gambaran umum

Strategi ini menggunakan panjang tubuh lilin untuk menentukan arah panjang dan pendek. Ini menghitung panjang tubuh rata-rata dari 30 lilin terbaru. Ketika panjang tubuh lilin bullish lebih besar dari rata-rata, itu akan panjang. Ketika panjang tubuh lilin bearish lebih besar dari rata-rata, itu akan pendek.

Logika Strategi

Strategi ini pertama-tama menghitung panjang tubuh candlestick dan panjang tubuh rata-rata 30 candlestick sbody terbaru.

Ketika candlestick hari ini menurun (bar==-1) dan panjang tubuh lebih besar dari panjang tubuh rata-rata, ia membuka posisi panjang (ke atas1).

Ketika candlestick hari ini bullish (bar==1) dan panjang tubuh lebih besar dari panjang tubuh rata-rata, ia membuka posisi short (dn1).

Setelah membuka long, jika candlestick hari ini bullish (bar==1) dan posisi saat ini menguntungkan, ia menutup posisi long.

Setelah membuka short, jika candlestick hari ini bearish (bar==-1) dan posisi saat ini menguntungkan, ia menutup posisi short.

Strategi ini dengan mudah dan efektif menggunakan panjang tubuh candlestick untuk menentukan tren pasar. semakin panjang tubuh, semakin kuat tren. jadi menggunakan panjang tubuh sebagai kriteria untuk panjang dan pendek.

Analisis Keuntungan

Keuntungan dari strategi ini:

  1. Logikanya sederhana dan jelas, mudah dimengerti dan diterapkan.

  2. Menggunakan panjang tubuh candlestick untuk menentukan tren, menghindari gangguan suara.

  3. Mengadopsi perhitungan rata-rata dinamis, dapat beradaptasi dengan perubahan pasar.

  4. Tetapkan kondisi keluar yang menguntungkan untuk meningkatkan profitabilitas.

  5. Parameter yang dapat dikonfigurasi, dapat disesuaikan dengan lingkungan pasar yang berbeda.

Analisis Risiko

Risiko dari strategi ini:

  1. Tubuh panjang tidak selalu menunjukkan tren yang kuat, bisa jadi fluktuasi normal.

  2. Jendela waktu panjang tubuh rata-rata yang tidak tepat dapat kehilangan peluang perdagangan.

  3. Black Swan Event bisa menyebabkan kerugian.

  4. Memegang posisi terlalu lama dapat memperkuat kerugian.

Solusi:

  1. Gabungkan dengan indikator lain untuk menentukan tren, hindari perdagangan yang salah.

  2. Uji nilai parameter yang berbeda, optimalkan perhitungan panjang tubuh rata-rata.

  3. Atur stop loss untuk mengontrol single loss.

  4. Optimalkan masuk dan keluar logika untuk menghindari menahan terlalu lama.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Menggabungkan MACD, RSI untuk menentukan tren, menghindari sinyal yang salah dari fluktuasi normal.

  2. Uji parameter jendela waktu panjang tubuh rata-rata yang berbeda untuk menemukan set parameter optimal.

  3. Tambahkan ukuran posisi kontrol logika, secara bertahap mengurangi ukuran posisi ketika mengalami kerugian.

  4. Atur target stop loss atau target keuntungan untuk mengontrol persentase kerugian tunggal.

  5. Optimalkan kondisi masuk dan keluar untuk menghindari perdagangan yang tidak efektif. Misalnya, tunggu 3 lilin panjang berturut-turut sebelum masuk.

  6. Hindari perdagangan pada periode tertentu atau sekitar rilis data penting untuk mengendalikan kerugian akibat volatilitas.

Kesimpulan

Strategi ini memiliki logika yang jelas dan mudah dimengerti untuk membandingkan tubuh lilin dengan panjang rata-rata untuk waktu masuk. Ruang yang luas untuk optimasi dari beberapa dimensi untuk menyesuaikan dengan lingkungan pasar yang berbeda. Secara keseluruhan strategi perdagangan kuantitas pendahuluan yang sederhana dan andal yang cocok untuk digunakan dan dipelajari oleh pedagang pemula. Lebih lanjut menggabungkan lebih banyak indikator dan mengoptimalkan untuk meningkatkan profitabilitas dan ketahanan.


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

//Noro
//2018

//@version=3
strategy(title = "Noro's ColorBar Strategy v1.0", shorttitle = "ColorBar str v1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usebody = input(true, defval = true, title = "Use body")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Signals
bar = close > open ? 1 : close < open ? - 1 : 0
body = abs(close - open)
sbody = ema(body, 30)

up1 = bar == -1 and (body > sbody or usebody == false)
dn1 = bar == 1 and (body > sbody or usebody == false)

plus = (close > strategy.position_avg_price and strategy.position_size > 0) or (close < strategy.position_avg_price and strategy.position_size < 0)
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and plus

if up1
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))

if dn1
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
    
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
    strategy.close_all()

Lebih banyak