Strategi pembelian kembali yang dinamis


Tanggal Pembuatan: 2023-12-19 13:56:55 Akhirnya memodifikasi: 2023-12-19 13:56:55
menyalin: 0 Jumlah klik: 643
1
fokus pada
1621
Pengikut

Strategi pembelian kembali yang dinamis

Ringkasan

Strategi ini adalah sistem perdagangan yang hanya membeli, menghasilkan sinyal beli berdasarkan crossover rata-rata bergerak dan indeks saluran komoditas berkala (CCI) atau indeks arah rata-rata berkala (ADX). Sinyal beli dihasilkan ketika rata-rata bergerak bergerak melintasi rata-rata bergerak lambat pada rata-rata bergerak cepat dan CCI berkala dan / atau ADX berkala memenuhi kondisi tertentu.

Strategi ini juga memungkinkan re-entry yang dinamis, yang berarti bahwa posisi multihead baru dapat dibuka jika harga melewati tiga rata-rata bergerak lagi. Namun, strategi ini akan meratakan posisi multihead jika harga menutup di bawah rata-rata bergerak ketiga.

Prinsip Strategi

Skripsi mendefinisikan kondisi untuk menghasilkan sinyal beli. Skripsi memeriksa dua kondisi untuk menentukan sinyal beli yang valid:

  • Rata-rata bergerak cepat melewati rata-rata bergerak lambat
  • Pengguna dapat memilih untuk menggunakan filter: siklus CCI atau siklus ADX

“Saya tidak tahu apa yang terjadi.Jika tidak ada posisi multiples yang belum dipadamkan dan harganya lebih tinggi dari tiga rata-rata bergerak, bukalah posisi multiples baru.

Kondisi untuk keluar:Jika harga penutupan jatuh di bawah Moving Average ketiga, strategi ini akan melunasi posisi overhead.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Ada beberapa teknik untuk memfilter sinyal indikator yang dapat mengurangi sinyal yang salah.
  2. Mekanisme masuk kembali yang dinamis dapat menangkap tren maksimal
  3. Hanya Lakukan Lebih Banyak, Hindari Resiko Kurang Kerja

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Akan ada beberapa risiko yang bisa terjadi.
  2. “Mungkin terlalu lama untuk memegang posisi, perlu pengaturan stop loss”.
  3. Setting parameter yang tidak tepat dapat menyebabkan terlalu sering perdagangan

Solusi yang sesuai:

  1. Filter gelombang dengan kombinasi parameter dan indikator teknis yang lebih baik
  2. Tetapkan Stop Loss yang Rasional
  3. Menyesuaikan parameter untuk memastikan parameter stabil

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Tes lebih banyak kombinasi indikator teknologi untuk mencari waktu yang lebih baik untuk membeli
  2. Optimalkan parameter untuk menemukan kombinasi optimal
  3. Meningkatkan mekanisme penghentian kerugian, mengendalikan kerugian tunggal
  4. Meningkatkan manajemen posisi, meningkatkan atau mengurangi posisi sesuai dengan kondisi pasar

Meringkaskan

Strategi pembelian kembali masuk dinamis ini mengintegrasikan beberapa indikator teknis untuk menentukan waktu pembelian, dan menggunakan desain masuk kembali dinamis, dapat melacak tren secara real time; dan hanya melakukan lebih banyak untuk menghindari risiko tambahan yang dibawa oleh shorting. Dengan pengoptimalan parameter, pengaturan stop loss, dan manajemen posisi, strategi ini dapat digunakan dalam perdagangan real-time untuk mendapatkan keuntungan tambahan sambil mengendalikan risiko.

Kode Sumber Strategi
/*backtest
start: 2022-12-12 00:00:00
end: 2023-12-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy Only Strategy with Dynamic Re-Entry and Exit", overlay=true)

// Input Parameters
fast_length = input(20, title="Fast Moving Average Length")
slow_length = input(30, title="Slow Moving Average Length")
third_ma_length = input(100, title="Third Moving Average Length")
cci_period = input(14, title="CCI Period for Weekly CCI")
use_cci = input(true, title="Use CCI for Entry")
use_adx = input(true, title="Use ADX for Entry")
adx_length = input(14, title="ADX Length")
adx_threshold = input(25, title="ADX Threshold")

// Calculate Moving Averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)
third_ma = ta.sma(close, third_ma_length)

// Weekly Commodity Channel Index (CCI) with user-defined period
weekly_cci = request.security(syminfo.tickerid, "W", ta.cci(close,  cci_period))

// Weekly Average Directional Index (ADX)
dirmov = hlc3
plus = ta.change(dirmov) > 0 ? ta.change(dirmov) : 0
minus = ta.change(dirmov) < 0 ? -ta.change(dirmov) : 0
trur = ta.rma(ta.tr, adx_length)
plusDI = ta.rma(plus, adx_length) / trur * 100
minusDI = ta.rma(minus, adx_length) / trur * 100
sum = plusDI + minusDI
DX = sum == 0 ? 0 : math.abs(plusDI - minusDI) / sum * 100
ADX = ta.rma(DX, adx_length)

// Entry Conditions (Buy Only and Weekly CCI > 100 and/or Weekly ADX > 25)
cci_condition = use_cci ? (weekly_cci > 100) : false
adx_condition = use_adx ? (ADX > adx_threshold) : false
long_condition = ta.crossover(fast_ma, slow_ma) and (cci_condition or adx_condition)

// Exit Condition and Dynamic Re-Entry
exit_condition = close < third_ma
re_entry_condition = close > fast_ma and close > slow_ma and close > third_ma and weekly_cci > 100

// Entry and Exit Signals
strategy.entry("Long", strategy.long, when=long_condition)
strategy.close("Long", when=exit_condition)

// Dynamic Re-Entry and Exit
if strategy.position_size == 0 and re_entry_condition
    strategy.entry("Long", strategy.long)

if strategy.position_size > 0 and close < third_ma
    strategy.close("Long")

// Plot Weekly CCI and ADX for reference
plot(weekly_cci, title="Weekly CCI", color=color.orange)
plot(ADX, title="Weekly ADX", color=color.blue)