Purata pindah silang strategi jangka panjang dan kuantitatif


Tarikh penciptaan: 2024-02-20 15:22:12 Akhirnya diubah suai: 2024-02-20 15:22:12
Salin: 0 Bilangan klik: 582
1
fokus pada
1617
Pengikut

Purata pindah silang strategi jangka panjang dan kuantitatif

Gambaran keseluruhan

Strategi ini menggunakan bentuk persilangan rata-rata dalam tempoh yang berbeza dan RSI untuk menentukan masa pembelian dan penjualan pasaran. Strategi ini dapat dioptimumkan secara real-time dengan menyesuaikan parameter.

Prinsip Strategi

Strategi ini digunakan untuk menentukan masa untuk membeli dan menjual dengan menggunakan EMA dan RSI.

Secara khusus, logik penilaian isyarat beli adalah: Beli apabila harga menembusi EMA20 di bawah dan EMA50 di atas membentuk garpu emas, sehingga anda dapat menentukan titik peralihan trend dengan lebih berkesan. Selain itu, anda juga perlu memenuhi syarat bahawa harga penutupan lebih kecil daripada harga pembukaan dan lebih rendah daripada harga terendah hari sebelumnya, yang dapat menghilangkan beberapa terobosan palsu.

Kami meletakkan syarat pembelian di atas dengan parameter yang berbeza, membina 4 peraturan pembelian, masing-masing sesuai dengan kitaran purata yang berbeza dan jumlah water_level.

Untuk menjual dan keluar, syarat penilaian adalah: harga di atas EMA10 membentuk garpu mati dan indikator RSI menunjukkan isyarat overbuy; atau harga di bawah EMA10 membentuk garpu mati dan indikator RSI menunjukkan oversell. Selain itu, syarat untuk memenuhi nisbah keuntungan tertentu juga diperiksa. Ini dapat mengunci keuntungan, sementara gabungan indikator RSI dapat mengurangkan kemungkinan kesalahan penilaian.

Analisis kelebihan strategi

Kelebihan terbesar strategi ini adalah dengan menentukan titik perubahan pasaran melalui bentuk persimpangan garis rata, untuk mengesan trend. Berbanding dengan sistem garis rata tunggal, kaedah persimpangan dua garis rata dapat menyaring beberapa isyarat palsu. Selain itu, strategi ini juga memperkenalkan indikator RSI untuk menentukan kawasan jual beli yang berlebihan, yang juga dapat mengurangkan risiko perdagangan.

Kelebihan lain ialah dengan mengatur parameter untuk membina pegangan berganda, cara penambahan piramid ini membolehkan harga kos terus bergerak ke bawah, mendapatkan keuntungan maksimum apabila trend muncul. Pada masa yang sama, penyebaran kuantiti juga dapat dicapai, mengurangkan risiko jumlah tunggal.

Analisis risiko strategi

Risiko utama strategi ini ialah:

  1. Sistem garis rata itu sendiri sensitif terhadap keterlambatan dan tidak dapat bertindak balas tepat pada masanya terhadap kejadian mendadak, yang boleh menyebabkan tidak dapat menghentikan kerugian tepat pada masanya. Risiko ini dapat dikurangkan dengan menambahkan titik berhenti.

  2. Strategi ini tidak mengehadkan tempoh masa pembelian, jika konfigurasi yang salah mungkin membeli terlalu awal, sehingga terjebak di kawasan pencatatan. Risiko ini boleh diselesaikan dengan mengehadkan kawasan pembelian.

  3. Kaedah pembinaan kumpulan dalam strategi ini mungkin menyebabkan risiko kedudukan yang terlalu besar dan tidak dapat menanggung penembusan bersatu. Ini dapat mengurangkan sebahagian risiko dengan menyesuaikan parameter paras air dan memasukkan mekanisme kawalan risiko.

Arah pengoptimuman strategi

Strategi ini juga boleh dioptimumkan dengan cara berikut:

  1. Tambah strategi hentikan kerugian, hentikan perdagangan apabila harga jatuh di bawah beberapa tahap sokongan utama, yang dapat mengawal risiko penurunan dengan berkesan.

  2. Tambah modul pengesahan pra-perdagangan untuk menentukan arah trend peringkat besar, dan hanya meletakkan kedudukan apabila trend meningkat, yang dapat mengelakkan risiko perdagangan berlawanan.

  3. Pembatasan pada tempoh pembelian, hanya boleh dilakukan dalam tempoh masa tertentu, untuk mengelakkan kedudukan dibuka terlalu awal.

  4. Menggunakan algoritma pembelajaran mesin yang digabungkan dengan pelbagai faktor untuk menentukan masa pembelian dapat meningkatkan peluang strategi.

ringkaskan

Artikel ini menerangkan secara terperinci strategi kuantitatif garis panjang, yang menggunakan bentuk silang dua garis rata untuk menentukan titik masuk dengan penunjuk RSI, dan mengambil cara membina gudang secara beratur untuk mendapatkan keberkesanan maksimum. Strategi ini boleh digunakan untuk kebanyakan indeks dan saham melalui penyesuaian parameter, merupakan strategi pengesanan garis panjang yang lebih umum.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA_zorba1", shorttitle="3 NIFTY RSI EMA", overlay=true)

// Input parameters
qt1 = input.int(1, title="Quantity 1", minval=1)
qt2 = input.int(2, title="Quantity 2", minval=1)
qt3 = input.int(3, title="Quantity 3", minval=1)
qt4 = input.int(4, title="Quantity 4", minval=1)
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// RSI(14) condition
rsi_threshold = 65
rsi_crossed_above_70 = ta.rsi(close, 14) > rsi_threshold
rsi_crossed_above_70_two_days_ago = ta.rsi(close[5], 14) > rsi_threshold or ta.rsi(close[4], 14) > rsi_threshold or ta.rsi(close[3], 14) > rsi_threshold
rsi_crossed_above_70_yesterday = ta.rsi(close[1], 14) > rsi_threshold

// Date range filter
start_date = timestamp(year=2021, month=1, day=1)
end_date = timestamp(year=2024, month=1, day=1)
in_date_range = true

// Profit condition
profit_percentage = input(1, title="Profit Percentage")  // Adjust this value as needed

// Pyramiding setting
pyramiding = input.int(1, title="Pyramiding", minval=1, maxval=10)

// Buy conditions
buy_condition_1 = in_date_range and close < ema20 and close > ema50 and close < open and close < low[1]
buy_condition_2 = in_date_range and close < ema50 and close > ema100 and close < open and close < low[1]
buy_condition_3 = in_date_range and close < ema100 and close > ema200 and close < open and close < low[1]
buy_condition_4 = in_date_range and close < ema200 and close < open and close < low[1]

// Exit conditions
profit_condition = strategy.position_avg_price * (1 + profit_percentage / 100) <= close
exit_condition_1 = in_date_range and ((close > ema10 and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and rsi_crossed_above_70_two_days_ago) and profit_condition and close < low[1] and close < low[2]
exit_condition_2 = in_date_range and ((close < ema10 and close[1] > ema10 and close < close[1] and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and rsi_crossed_above_70_yesterday) and profit_condition and close < low[1] and close < low[2]

// Strategy logic
strategy.entry("Buy1", strategy.long, qty=qt1 * pyramiding, when=buy_condition_1)
strategy.entry("Buy2", strategy.long, qty=qt2 * pyramiding, when=buy_condition_2)
strategy.entry("Buy3", strategy.long, qty=qt3 * pyramiding, when=buy_condition_3)
strategy.entry("Buy4", strategy.long, qty=qt4 * pyramiding, when=buy_condition_4)

strategy.close("Buy1", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy2", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy3", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy4", when=exit_condition_1 or exit_condition_2)