Sumber dimuat naik... memuat...

Strategi silang purata bergerak berganda

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

img

Ringkasan

Strategi crossover purata bergerak berganda adalah strategi perdagangan kuantitatif yang biasa. Strategi ini menggunakan dua purata bergerak dengan tempoh yang berbeza sebagai isyarat beli dan jual. Ia membeli apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang dan menjual apabila purata bergerak jangka pendek melintasi di bawah purata bergerak jangka panjang. Kod strategi menyokong pelbagai jenis purata bergerak biasa, seperti purata bergerak sederhana (SMA), purata bergerak eksponensial (EMA), purata bergerak eksponensial ganda (DEMA), purata bergerak eksponensial tiga (TEMA), purata bergerak terberat (WMA), dan purata bergerak terberat volum (VWMA). Ia juga membolehkan tetapan fleksibel untuk tempoh purata bergerak jangka pendek dan jangka panjang.

Prinsip Strategi

Prinsip utama strategi ini adalah untuk menangkap trend harga dengan memanfaatkan ciri-ciri trend dan lag dua purata bergerak dengan tempoh yang berbeza. Secara umum, purata bergerak jangka pendek lebih sensitif terhadap perubahan harga, sementara purata bergerak jangka panjang agak ketinggalan. Apabila harga berada dalam trend menaik, purata bergerak jangka pendek akan bergerak ke atas sebelum purata bergerak jangka panjang dan akhirnya menyeberang di atasnya, membentuk isyarat beli. Sebaliknya, apabila harga berada dalam trend menurun, purata bergerak jangka pendek akan bergerak ke bawah sebelum purata bergerak jangka panjang dan akhirnya menyeberang di bawahnya, membentuk isyarat jual. Dengan menangkap isyarat silang emas dan silang kematian, strategi ini dapat berdagang selaras dengan arah utama harga.

Kelebihan Strategi

  1. Sederhana dan mudah digunakan: Dual Moving Average Crossover Strategy adalah strategi perdagangan kuantitatif yang mudah, mudah difahami, dan mudah dilaksanakan, sesuai untuk pedagang pemula untuk belajar dan menggunakan.

  2. Penggunaan yang luas: Strategi ini boleh digunakan untuk pelbagai pasaran kewangan dan instrumen perdagangan, seperti saham, niaga hadapan, forex, cryptocurrency, dll., Dengan fleksibiliti yang kuat.

  3. Parameter fleksibel: Kod strategi menyokong pelbagai jenis purata bergerak dan jenis harga yang biasa, yang membolehkan pengguna menetapkan parameter dengan fleksibel mengikut keperluan mereka untuk menyesuaikan diri dengan keadaan pasaran dan gaya perdagangan yang berbeza.

  4. Pengesanan trend: Dengan menggunakan isyarat silang dua purata bergerak dengan tempoh yang berbeza, strategi ini dapat menangkap trend utama harga dengan berkesan, yang membantu mengikuti trend dan mengelakkan perdagangan kontra-trend.

Risiko Strategi

  1. Lag: Purata bergerak pada dasarnya adalah penunjuk yang mengikuti trend dan mempunyai lag tertentu, yang mungkin terlepas masa masuk dan keluar yang terbaik.

  2. Kegagalan dalam pasaran terhad: Di pasaran terhad atau sisi, turun naik harga adalah besar, dan isyarat silang purata bergerak sering berlaku, yang boleh membawa kepada perdagangan yang kerap dan mengakibatkan kos perdagangan yang tinggi dan kerugian modal.

  3. Kesukaran dalam pengoptimuman parameter: Pilihan tempoh purata bergerak mempunyai kesan yang signifikan terhadap prestasi strategi, tetapi parameter optimum sering berbeza bergantung kepada keadaan pasaran, menjadikannya mencabar untuk mencari kombinasi parameter optimum yang boleh digunakan secara universal.

Arahan Pengoptimuman Strategi

  1. Memperkenalkan penapis trend: Sebagai tambahan kepada isyarat silang purata bergerak, penunjuk trend lain seperti MACD dan ADX boleh dimasukkan untuk penapisan trend, perdagangan hanya apabila trend jelas untuk mengelakkan perdagangan yang kerap di pasaran yang terhad.

  2. Mengoptimumkan mengambil keuntungan dan menghentikan kerugian: Memasukkan mengambil keuntungan yang munasabah dan logik menghentikan kerugian ke dalam strategi, seperti menghentikan kerugian yang beransur-ansur dan menghentikan kerugian berdasarkan turun naik, untuk mengawal risiko perdagangan tunggal dan meningkatkan nisbah risiko-balasan strategi.

  3. Pengoptimuman parameter dinamik: Untuk persekitaran pasaran yang berbeza, secara berkala melakukan pengoptimuman dinamik pada parameter seperti tempoh purata bergerak untuk membolehkan strategi menyesuaikan diri dengan perubahan pasaran dan meningkatkan ketahanan.

  4. Gabungan pelbagai faktor: Gabungkan isyarat silang purata bergerak berganda dengan faktor kuantitatif yang berkesan (seperti momentum, nilai, jumlah, dan lain-lain) untuk membentuk strategi pelbagai faktor yang lebih kukuh dan berkesan.

Ringkasan

Dual Moving Average Crossover Strategy adalah strategi trend yang mudah dan klasik yang menangkap trend harga melalui isyarat crossover dua purata bergerak dengan tempoh yang berbeza, sesuai untuk pasaran trend. Walau bagaimanapun, strategi ini juga mempunyai masalah seperti kelewatan dan kesukaran dalam pengoptimuman parameter, yang memerlukan kombinasi dengan kaedah lain untuk pengoptimuman dan penambahbaikan, seperti penapisan trend, pengoptimuman parameter dinamik, kombinasi pelbagai faktor, dan lain-lain, untuk meningkatkan penerapan dan ketahanan strategi. Secara keseluruhan, Dual Moving Average Crossover Strategy boleh berfungsi sebagai salah satu strategi asas dalam perdagangan kuantitatif, yang layak dipelajari dan diteliti oleh peminat 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 lanjut