Strategi perdagangan kuantitatif menggabungkan persilangan purata bergerak berganda dan penunjuk RSI


Tarikh penciptaan: 2023-11-21 12:09:50 Akhirnya diubah suai: 2023-11-21 12:09:50
Salin: 0 Bilangan klik: 669
1
fokus pada
1617
Pengikut

Strategi perdagangan kuantitatif menggabungkan persilangan purata bergerak berganda dan penunjuk RSI

Gambaran keseluruhan

Strategi ini bertujuan untuk menggunakan persimpangan garis rata untuk menentukan arah trend, dan menggunakan RSI untuk mengelakkan overdoing di bahagian atas pasaran dan shorting di bahagian bawah pasaran, untuk mendapatkan keuntungan yang lebih baik.

Prinsip Strategi

Apabila garis purata 9 kitaran cepat melintasi garis purata 50 kitaran perlahan, menunjukkan peningkatan trend jangka pendek yang diletakkan di atas peningkatan trend jangka panjang, termasuk dalam isyarat pelbagai tipikal. Pada masa yang sama, jika RSI lebih besar daripada 5 mata pada kitaran sebelumnya dan kurang dari 70, ini menunjukkan berada di kawasan sebelum membeli lebih banyak, ini adalah masa yang lebih baik untuk melakukan lebih banyak.

Apabila laju 9 pusingan purata di bawah garis laju 50 pusingan purata, menunjukkan berada di pasaran kosong, memerlukan kedudukan kosong.

Analisis kelebihan

  • Menggunakan dua garis sejajar untuk menilai trend utama dan mengelakkan tertipu oleh penyebaran palsu
  • Indeks RSI mengelakkan keputusan yang salah pada titik perubahan pasaran
  • Fleksibiliti untuk menyesuaikan kitaran garis rata untuk pelbagai jenis dan dimensi masa
  • Strategi Hentikan Kerosakan yang Boleh Dikendalikan

Analisis risiko

  • Pengambilan keputusan di persimpangan rata-rata kadang-kadang tidak berkesan dan boleh menyebabkan kerugian
  • Setting parameter RSI yang tidak betul boleh menyebabkan kehilangan masa masuk yang terbaik
  • Perhatian perlu diberikan kepada jumlah transaksi yang menyokong harga.
  • Tindakan tidak rasional yang disebabkan oleh kejadian mendadak memerlukan campur tangan tangan

Arah pengoptimuman

  • Mengoptimumkan parameter RSI untuk hasil terbaik
  • Mengelakkan isyarat palsu dengan penunjuk jumlah dagangan
  • Parameter garis purata terbaik untuk ujian mengikut pelbagai jenis dan dimensi masa
  • Melepaskan Stop Loss yang Sesuai untuk Mengelakkan Penjeraman

ringkaskan

Strategi ini dapat memperoleh keuntungan yang stabil dengan menggunakan trend garis tengah dan panjang dengan cara menentukan arah dua persilangan garis rata dan mengelakkan mengejar tinggi dan rendah. Tetapi juga perlu berhati-hati terhadap keterlambatan isyarat persilangan garis rata dan penyesuaian parameter RSI, sambil memperhatikan hubungan harga dan jumlah transaksi. Dengan ujian dan pengoptimuman yang berterusan, strategi ini dijangka dapat mencapai hasil yang lebih baik.

Kod sumber strategi
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © joshuajcoop01

//@version=5
strategy("Bitpanda Coinrule Template",
         overlay=true,
         initial_capital=1000,
         process_orders_on_close=true,
         default_qty_type=strategy.percent_of_equity,
         default_qty_value=30,
         commission_type=strategy.commission.percent,
         commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0


// RSI
length = input(14)
vrsi = ta.rsi(close, length)

// Moving  Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)


increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
    strategy.entry("Long", strategy.long)


// Moving  Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)


condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)

strategy.close('Long', when = condition and timePeriod)