Sumber daya yang dimuat... Pemuatan...

Strategi Crossover Rata-rata Bergerak Ganda

Penulis:ChaoZhang, Tanggal: 2024-05-14 15:37:54
Tag:EMASMADEMATEMAWMAVWMA

img

Gambaran umum

Dual Moving Average Crossover adalah strategi perdagangan kuantitatif yang umum. Strategi ini menggunakan dua moving average dengan periode yang berbeda sebagai sinyal beli dan jual. Strategi ini membeli ketika moving average jangka pendek melintasi di atas moving average jangka panjang dan menjual ketika moving average jangka pendek melintasi di bawah moving average jangka panjang.

Prinsip Strategi

Prinsip inti dari strategi ini adalah untuk menangkap tren harga dengan memanfaatkan karakteristik tren dan lag dari dua rata-rata bergerak dengan periode yang berbeda. Secara umum, rata-rata bergerak jangka pendek lebih sensitif terhadap perubahan harga, sementara rata-rata bergerak jangka panjang relatif tertinggal. Ketika harga berada dalam tren naik, rata-rata bergerak jangka pendek akan bergerak ke atas sebelum rata-rata bergerak jangka panjang dan akhirnya melintasi di atasnya, membentuk sinyal golden cross beli. Sebaliknya, ketika harga berada dalam tren menurun, rata-rata bergerak jangka pendek akan bergerak ke bawah sebelum rata-rata bergerak jangka panjang dan akhirnya melintasi di bawahnya, membentuk sinyal death cross jual. Dengan menangkap sinyal silang emas dan silang kematian, strategi ini dapat berdagang sesuai dengan arah tren utama harga.

Keuntungan Strategi

  1. Sederhana dan mudah digunakan: Dual Moving Average Crossover Strategy adalah strategi perdagangan kuantitatif yang sederhana, mudah dimengerti, dan mudah diterapkan, cocok untuk para pedagang pemula untuk belajar dan menggunakan.

  2. Penerapan luas: Strategi ini dapat diterapkan pada berbagai pasar keuangan dan instrumen perdagangan, seperti saham, berjangka, forex, cryptocurrency, dll., Dengan fleksibilitas yang kuat.

  3. Parameter Fleksibel: Kode strategi mendukung berbagai jenis rata-rata bergerak dan jenis harga, memungkinkan pengguna untuk mengatur parameter secara fleksibel sesuai dengan kebutuhan mereka untuk beradaptasi dengan kondisi pasar dan gaya perdagangan yang berbeda.

  4. Pelacakan tren: Dengan menggunakan sinyal silang dari dua rata-rata bergerak dengan periode yang berbeda, strategi ini dapat secara efektif menangkap tren utama harga, yang membantu mengikuti tren dan menghindari perdagangan kontra-tren.

Risiko Strategi

  1. Lag: Rata-rata bergerak pada dasarnya merupakan indikator yang mengikuti tren dan memiliki lag tertentu, yang mungkin kehilangan waktu masuk dan keluar terbaik.

  2. Tidak efektif di pasar yang terikat kisaran: Di pasar yang terikat kisaran atau sisi, fluktuasi harga besar, dan sinyal crossover rata-rata bergerak sering terjadi, yang dapat menyebabkan perdagangan yang sering dan mengakibatkan biaya perdagangan yang tinggi dan kerugian modal.

  3. Kesulitan dalam pengoptimalan parameter: Pemilihan periode rata-rata bergerak memiliki dampak yang signifikan pada kinerja strategi, tetapi parameter optimal sering bervariasi tergantung pada kondisi pasar, sehingga sulit untuk menemukan kombinasi parameter optimal yang berlaku secara universal.

Arah Optimasi Strategi

  1. Memperkenalkan filter tren: Selain sinyal crossover rata-rata bergerak, indikator tren lain seperti MACD dan ADX dapat dimasukkan untuk penyaringan tren, hanya diperdagangkan ketika tren jelas untuk menghindari perdagangan yang sering di pasar yang terikat kisaran.

  2. Mengoptimalkan take-profit dan stop-loss: Mengintegrasikan logika take-profit dan stop-loss yang masuk akal ke dalam strategi, seperti trailing stop-loss dan volatility-based stop-loss, untuk mengendalikan risiko perdagangan tunggal dan meningkatkan rasio risiko-manfaat strategi.

  3. Optimasi parameter dinamis: Untuk lingkungan pasar yang berbeda, secara berkala melakukan optimasi dinamis pada parameter seperti periode rata-rata bergerak untuk memungkinkan strategi untuk beradaptasi dengan perubahan pasar dan meningkatkan ketahanan.

  4. Kombinasi multi-faktor: Gabungkan sinyal crossover rata-rata bergerak ganda dengan faktor kuantitatif efektif lainnya (seperti momentum, nilai, volume, dll.) untuk membentuk strategi multi-faktor yang lebih kuat dan efektif.

Ringkasan

Dual Moving Average Crossover Strategy adalah strategi sederhana dan klasik yang mengikuti tren yang menangkap tren harga melalui sinyal crossover dari dua moving average dengan periode yang berbeda, cocok untuk pasar tren. Namun, strategi ini juga memiliki masalah seperti lag dan kesulitan dalam optimasi parameter, yang membutuhkan kombinasi dengan metode lain untuk optimasi dan perbaikan, seperti penyaringan tren, optimasi parameter dinamis, kombinasi multi-faktor, dll., untuk meningkatkan penerapan dan ketahanan strategi. Secara keseluruhan, Dual Moving Average Crossover Strategy dapat berfungsi sebagai salah satu strategi mendasar dalam perdagangan kuantitatif, layak untuk dipelajari dan diteliti oleh penggemar kuantitatif.


/*backtest
start: 2023-05-08 00:00:00
end: 2024-05-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SustainableInvestment

//@version=5
strategy("Moving average strategy (이동평균선 전략)", overlay=true)

// === INPUTS ===

basisType   = input.string(defval = "EMA", title = "MA Type: SMA, EMA, DEMA, TEMA, WMA, VWMA ",options=["SMA", "EMA", "DEMA", "TEMA", "WMA", "VWMA"])
shortLen    = input.int(defval = 1, title = "Short MA Period", minval = 1)
longLen    = input.int(defval = 20, title = "Long MA Period", minval = 1)
price       = input.string(defval = "Typical", title = "Price Type : Close, High, Open, Low, Typical, Center ",options=["Close", "High", "Open", "Low", "Typical", "Center"])

// === BASE FUNCTIONS ===
// 가격 종류 설정
priceType(price) =>
    Typical = (high+low+close)/3
    Center  = (high+low) / 2
    price=="High"?high : price=="Low"?low : price=="Open"?open : price=="Typical"?Typical : price=="Center"?Center : close

// 이동평균선 종류 설정
variant(type, src, len) =>
    v1 = ta.sma(src, len)                                                  // Simple
    v2 = ta.ema(src, len)                                                  // Exponential
    v3 = 2 * v2 - ta.ema(v2, len)                                          // Double Exponential
    v4 = 3 * (v2 - ta.ema(v2, len)) + ta.ema(ta.ema(v2, len), len)         // Triple Exponential
    v5 = ta.wma(src, len)                                                  // Weighted
    v6 = ta.vwma(src, len)                                                 // Volume Weighted
    
    type=="EMA"?v2 : type=="DEMA"?v3 : type=="TEMA"?v4 : type=="WMA"?v5 : type=="VWMA"?v6 : v1

longCondition = ta.crossover(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (longCondition)
    strategy.entry("Long Entry", strategy.long)

exitCondition = ta.crossunder(variant(basisType, priceType(price), shortLen), variant(basisType, priceType(price), longLen))
if (exitCondition)
    strategy.close("Long Entry","Long Exit")


Berkaitan

Lebih banyak