Strategi titik beli pembalikan dua penunjuk


Tarikh penciptaan: 2024-01-04 17:39:13 Akhirnya diubah suai: 2024-01-04 17:39:13
Salin: 1 Bilangan klik: 531
1
fokus pada
1621
Pengikut

Strategi titik beli pembalikan dua penunjuk

Gambaran keseluruhan

Strategi ini menggunakan jumlah dagangan dan RSI untuk menentukan masa pembelian, dengan menetapkan sasaran stop loss secara berturut-turut. Strategi ini sesuai untuk keadaan gegaran, yang dapat mengunci pembelian yang berulang dalam gegaran penurunan kecil secara berkesan.

Prinsip Strategi

Strategi ini menggunakan dua petunjuk untuk mengenal pasti masa pembelian: jumlah dagangan dan RSI. Logiknya, isyarat pembelian dikeluarkan apabila jumlah dagangan melebihi 2.5 kali jumlah purata dagangan dalam 70 hari terakhir dan RSI adalah di bawah 30 (tahap oversold).

Setelah membeli kedudukan yang ditubuhkan, strategi ini akan menetapkan lima sasaran berhenti yang berbeza ((0.4%, 0.6%, 0.8%, 1.0% dan 1.2%), dan berhenti secara beransur-ansur mengikut perkadaran kedudukan ((20%, 40%, 60%, 80% dan 100%), sehingga semua kedudukan kosong.

Dengan cara ini, dengan menetapkan stop loss secara berturut-turut, anda dapat mengunci kenaikan kecil dan mengelakkan kehilangan keuntungan dengan menunggu kenaikan yang lebih besar.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Menggunakan indikator ganda untuk mengenal pasti titik beli, mengelakkan pecah palsu. Memperbesar perdagangan dapat mengesahkan tekanan bawah, dan RSI oversell dapat menentukan kebarangkalian rebound Addon.

  2. Dengan menggunakan strategi penghentian saham secara berturut-turut, peluang keuntungan dalam kejutan kecil dapat dikunci dengan maksimum, tanpa perlu menunggu kenaikan harga yang besar.

  3. Ia digunakan untuk keadaan yang bergolak, terutamanya di pasaran di mana harga berulang kali melompat di kawasan yang tidak selesai di institusi. Strategi ini sering menguntungkan kerana ia sukar untuk menentukan arah dalam jangka pendek.

  4. Titik hentian lebih luas, memberikan ruang keputusan yang mencukupi kepada pasaran.

Analisis risiko

Risiko utama strategi ini ialah:

  1. Indeks ganda mengesahkan bahawa isyarat mempunyai risiko kesalahan penilaian, dan mungkin membeli titik penembusan palsu. Risiko boleh dikurangkan dengan mengoptimumkan parameter.

  2. Blok penghentian mungkin terlepas peluang besar kerana terlalu kecil memegang kedudukan. Ia boleh dioptimumkan dengan menyesuaikan titik penghentian dan nisbah kedudukan.

  3. Stop loss lebih besar, kerugian tunggal mungkin lebih besar. Dapat mengurangkan risiko pengurusan jumlah kedudukan.

  4. Untuk pasaran yang bergolak, pasaran yang kuat mempunyai risiko arah yang lebih besar. Perlu memperhatikan struktur pasaran peringkat besar.

  5. Frekuensi dagangan yang lebih tinggi membawa kepada peningkatan kos dagangan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan:

  1. Mengoptimumkan jumlah perdagangan dan kombinasi parameter RSI, mengurangkan kadar kesalahan. Ia juga boleh diperkenalkan sebagai penunjuk lain seperti MACD, KDJ dan sebagainya untuk pengesahan.

  2. Uji pelbagai stop loss dan perkadaran kedudukan untuk mencari kombinasi parameter yang optimum. Anda juga boleh memperkenalkan mekanisme stop loss dinamik.

  3. Mengoptimumkan strategi pengurusan kedudukan, mengurangkan kemungkinan kerugian tunggal melalui sistem pengurusan kedudukan risiko.

  4. Tambahan modul penilaian trend, yang dapat mengenal pasti perubahan trend dan menghentikan kerugian tepat pada masanya.

  5. Memperkenalkan sistem perdagangan algoritma dan pengukuran kuantitatif, dengan cepat melalui parameter yang berbeza untuk mencari kombinasi parameter yang optimum.

  6. Model kawalan slippage dan kawalan kos strategi perdagangan frekuensi tinggi di peringkat institusi, mengurangkan jumlah transaksi dan memastikan kadar keuntungan.

ringkaskan

Strategi titik beli terbalik dengan indikator ganda, dengan mempertimbangkan jumlah perdagangan ditambah penilaian RSI oversold di bahagian bawah, menggunakan kaedah faedah berganda untuk mengunci keuntungan kecil dalam keadaan gegaran. Kelebihannya adalah keuntungan yang kerap, tidak perlu menunggu pergerakan yang besar; Kelemahannya adalah isyarat yang mudah disalahpahami dan frekuensi perdagangan yang tinggi.

Kod sumber strategi
/*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