Strategi turun naik berdasarkan varians dan purata bergerak


Tarikh penciptaan: 2024-03-28 17:33:08 Akhirnya diubah suai: 2024-03-28 17:33:08
Salin: 0 Bilangan klik: 491
1
fokus pada
1617
Pengikut

Strategi turun naik berdasarkan varians dan purata bergerak

Strategi ini dinamakan “Strategy Amplitude based on Variance and Moving Averages” dan ia menggunakan varian amplitude pada 30 garis K dan tiga purata bergerak ((MA5, MA15 dan MA30) untuk membuat keputusan perdagangan.

Idea utama strategi ini adalah untuk mengukur turun naik pasaran dengan mengira perbezaan kadar turun naik harga, dan menggabungkan purata bergerak dari pelbagai kitaran untuk menilai arah trend. Strategi ini akan melakukan operasi beli apabila turun naiknya rendah dan garis purata jangka pendek berada di atas garis purata jangka panjang.

Prinsip strategi boleh dibahagikan kepada beberapa langkah berikut:

  1. Hitung purata bergerak 5, 15 dan 30 hari (MA5, MA15 dan MA30)
  2. Hitung perbezaan antara kadar turun naik pada 30 garis K yang lalu (perbezaan antara harga tertinggi dan terendah yang dibahagikan dengan harga penutupan) dan kalikan dengan 1,000,000 untuk memudahkan pemerhatian.
  3. Syarat pembelian yang ditakrifkan: Kesenjangan kurang daripada 35 dan MA5 lebih besar daripada MA15, MA15 lebih besar daripada MA30
  4. Syarat Hentian yang ditakrifkan: harga penutupan di bawah MA30 atau MA5 di bawah MA30.
  5. Tentukan syarat penangguhan: lebih besar daripada 500.
  6. Apabila syarat membeli dipenuhi, strategi membuka kedudukan lebih banyak; apabila syarat berhenti atau berhenti dipenuhi, strategi menutup kedudukan.

Kelebihan strategi ini ialah:

  1. Gabungan indikator turun naik dan trend membolehkan perdagangan dilakukan apabila trend jelas dan turun naiknya rendah, mengelakkan perdagangan dalam keadaan pasaran yang bergolak.
  2. Menggunakan purata bergerak untuk beberapa kitaran membolehkan anda menilai arah trend secara lebih menyeluruh dan meningkatkan ketepatan dagangan.
  3. Tetapkan syarat berhenti dan henti yang jelas, mengawal risiko dengan berkesan dan mengunci keuntungan.

Risiko utama strategi ini ialah:

  1. Strategi ini mungkin melibatkan perdagangan yang kerap atau isyarat yang salah apabila trend pasaran tidak jelas atau turun naik mendadak.
  2. Tetapan untuk halangan kerugian dan halangan mungkin tidak sepenuhnya sesuai dengan semua keadaan pasaran dan perlu disesuaikan dengan keadaan sebenar.
  3. Strategi bergantung kepada data sejarah dan mungkin tidak bertindak balas dengan cepat terhadap peristiwa yang tidak dijangka atau turun naik pasaran yang tidak normal.

Dalam usaha untuk mengoptimumkan strategi ini, beberapa perkara yang perlu dipertimbangkan ialah:

  1. Untuk kombinasi perbezaan margin dan purata bergerak dalam syarat pembelian, nilai terbaik boleh dicari dengan pengulangan dan pengoptimuman parameter.
  2. Keadaan hentian dan hentian boleh memperkenalkan lebih banyak penunjuk teknikal atau penunjuk sentimen pasaran, seperti RSI, MACD dan lain-lain, untuk meningkatkan kebolehpercayaan isyarat.
  3. Anda boleh mempertimbangkan untuk memperkenalkan mekanisme pengurusan risiko pasaran, seperti penyesuaian kedudukan yang dinamik, penyesuaian kadar turun naik, dan lain-lain, untuk bertindak balas terhadap perubahan keadaan pasaran.

Secara keseluruhan, “strategi amplitud turun naik berdasarkan perbezaan dan purata bergerak” adalah strategi perdagangan yang menggabungkan volatiliti dan indikator trend. Ia mengukur turun naik pasaran dengan mengira perbezaan dalam pergerakan harga, dan menggabungkan purata bergerak dari pelbagai kitaran untuk menentukan arah trend, dan berdagang dalam keadaan pasaran yang sesuai.

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

//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)

// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)

// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000

// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30

// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true

// 定义止盈条件
take_profit_condition = variance > 500

// 执行交易逻辑
if (buy_condition)
    strategy.entry("Long", strategy.long)
if (stop_loss_condition)
    strategy.close("Long")
if (take_profit_condition)
    strategy.close("Long")
    
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")

// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")