Dual Indikator Strategi Beli Bawah

Penulis:ChaoZhang, Tarikh: 2024-01-04 17:39:13
Tag:

img

Ringkasan

Strategi ini mengenal pasti peluang pembelian dengan menggabungkan jumlah dagangan dan penunjuk RSI. Ia menguruskan kedudukan menggunakan sasaran keuntungan yang ditingkatkan untuk mengunci keuntungan secara beransur-ansur. Strategi ini berfungsi dengan baik semasa pasaran terikat julat dan dapat menangkap isyarat pembelian berulang dalam perubahan harga yang kecil.

Logika Strategi

Strategi ini menggunakan dua penunjuk untuk mengenal pasti isyarat beli - jumlah dagangan dan RSI. Khususnya, ia menjadi panjang apabila jumlah melebihi 2.5 kali jumlah purata 70 hari, bersama dengan RSI jatuh di bawah 30 (tingkat oversold).

Apabila kedudukan panjang ditubuhkan, strategi menetapkan 5 sasaran keuntungan mengambil pada 0.4%, 0.6%, 0.8%, 1.0% dan 1.2%. Ia menutup kedudukan secara beransur-ansur berdasarkan nisbah kedudukan (20%, 40%, 60%, 80% dan 100%) sehingga keluar sepenuhnya. Stop loss 5% juga ditetapkan.

Dengan mengambil keuntungan secara berperingkat, ia bertujuan untuk mengunci keuntungan di tengah-tengah pergerakan menaik kecil, dan bukannya menunggu berjalan lebih besar yang mungkin tidak terwujud.

Analisis Kelebihan

Kelebihan utama strategi ini ialah:

  1. Menggunakan penunjuk dua mengelakkan pecah palsu. Volume yang tinggi mengesahkan keyakinan bawah manakala isyarat RSI yang terlalu banyak bermakna peluang pembalikan.

  2. Mengambil keuntungan dalam kumpulan membolehkan memaksimumkan tangkapan upside kecil dalam julat.

  3. Menonjol dalam pasaran yang terhad, terutamanya yang terjebak di sekitar kawasan institusi yang belum selesai.

  4. Stop loss lebar membolehkan pasaran ruang untuk whipsaws sebelum berhenti keluar.

Analisis Risiko

Risiko utama ialah:

  1. Salah tafsiran isyarat berganda yang membawa kepada entri palsu.

  2. Mengambil keuntungan bertahap risiko kehilangan pergerakan trend besar kerana saiz kedudukan yang kecil.

  3. Stop lebar membawa kepada kerugian tunggal yang berpotensi besar. saiz kedudukan adalah kunci untuk menguruskan risiko.

  4. Pasaran tren yang kuat menimbulkan risiko kecenderungan arah. Perhatikan struktur jangka masa yang lebih besar.

  5. Frekuensi perdagangan yang tinggi meningkatkan kos transaksi. Menggunakan broker komisen rendah lebih disukai.

Arahan pengoptimuman

Arah pengoptimuman yang mungkin termasuk:

  1. Mengoptimumkan gabungan jumlah dan RSI untuk mengurangkan isyarat palsu.

  2. Uji tahap keuntungan yang berbeza dan nisbah kedudukan untuk konfigurasi ideal, berpotensi dengan mekanisme dinamik.

  3. Memperkenalkan peraturan saiz kedudukan untuk mengurangkan risiko maksimum setiap perdagangan melalui sistem pengurusan risiko.

  4. Menggabungkan metrik trend untuk mengesan pembalikan untuk menghentikan kerugian tepat pada masanya.

  5. Memanfaatkan pengujian balik algoritma untuk mengulangi parameter dengan cepat untuk konfigurasi terbaik.

  6. Belajar daripada model kawalan pelaburan tinggi institusi untuk meningkatkan kecekapan walaupun peredaran yang tinggi.

Kesimpulan

Strategi pembalikan purata penunjuk berganda ini mengenal pasti isyarat bawah dengan lonjakan jumlah dan RSI terlampau dijual untuk membeli, mengambil keuntungan secara beransur-ansur di tengah julat melalui keluar bertahap. Ia mendapat keuntungan dengan kerap tanpa memerlukan berjalan besar. Kelemahan termasuk risiko salah tafsiran isyarat dan perolehan yang tinggi. Pengoptimuman pengesahan dan kawalan risiko / kos meningkatkan ketahanan. Sangat baik untuk menuai keuntungan jangka pendek di pasaran yang berbelit-belit.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef


Lebih lanjut