Perangkat lunak transaksi kuantitatif berbasis penemu sistem perdagangan linear digital adaptif dan algoritma KAMA

Penulis: , Dibuat: 2019-07-06 16:21:15, Diperbarui: 2023-10-24 21:42:44

[TOC]

img

Adaptasi rata-rata KAMA

Seperti namanya, rata-rata adaptif (KAMA) termasuk dalam kategori rata-rata bergerak (Moving Average), tetapi berbeda dengan rata-rata bergerak tradisional karena sangat cerdas. Kami tahu bahwa rata-rata biasa memiliki banyak kelemahan, seperti: rata-rata jangka pendek dekat dengan pergerakan harga, sangat sensitif, tetapi mudah menghasilkan sinyal palsu; rata-rata jangka panjang sangat akurat dalam penilaian tren, tetapi seringkali pasar telah berjalan satu tahap, dan itu hanya bereaksi.

KAMA memiliki kecerdasan yang luar biasa karena dapat menyesuaikan sensitivitas utama sesuai dengan kondisi pasar saat ini, yaitu tingkat fluktuasi. Bentuk manifestasinya adalah: perubahan KAMA secara signifikan melambat dalam pasar yang bergetar; ketika tren muncul, ia bereaksi dengan cepat.

KAMA dalam grafik

img

Metode perhitungan KAMA

  • Arah ((DIR) = harga penutupan - harga penutupan sebelum n hari
  • Volatilitas (VIR) = sum (abs) (harga penutupan - harga penutupan pada hari perdagangan sebelumnya), n)
  • Efisiensi (ER) = arah / tingkat fluktuasi
  • Jadi kecepatan adalah 2 / (n1 + 1)
  • Percepatan lambat = 2 / (n2 + 1)
  • C = efisiensi * (cepat - lambat) + lambat
  • Koefisien (CQ) = halus * halus
  • KAMA = rata-rata indeks berlemak ((rata-rata bergerak dinamis ((harga penutupan, koefisien), 2)

Di antaranya, n, n1 dan n2 adalah parameter siklus, dengan angka siklus n adalah 10, n1 adalah bilangan siklus pendek, dan n2 adalah bilangan siklus jangka panjang 30. Ini juga merupakan seperangkat parameter yang diidentifikasi oleh penulis KAMA Perry Kaufman, n digunakan untuk menghitung arah dan efisiensi fluktuasi, n1 dan n2 adalah bilangan siklus rata-rata cepat dan rata-rata lambat, secara teori semakin besar parameter n1, semakin halus KAMA.

Cara perhitungan KAMA adalah: pertama-tama menghitung arah (DIR) dan fluktuasi (VIR), kemudian menghitung efisiensi dalam rasio keduanya. Efisiensi (ER) adalah ukuran dari perubahan harga, dan perhitungan ini juga sederhana: arah/fluktuasi. Hasil perhitungan adalah antara 0 sampai 1, dimana nilai ER yang lebih dekat ke 0 menunjukkan bahwa pasar berada dalam keadaan bergolak, dan nilai ER yang lebih dekat ke 1 menunjukkan bahwa pasar berada dalam keadaan tren.

Ketika menghitung efisiensi (ER), kita dapat menggabungkan rata-rata kecepatan cepat dan rata-rata kecepatan lambat untuk menghasilkan konstanta kelancaran (CS): efisiensi * (cepat - lambat) + kecepatan lambat. CS mewakili kecepatan menjalankan tren, dan berdasarkan rumus perhitungan CS, kita dapat menemukan bahwa perubahan CS selalu proporsional dengan perubahan ER.

Koefisien (CQ) kemudian dihitung berdasarkan pengganda yang halus, yang bertujuan untuk membuat parameter siklus lambat memainkan peran yang lebih penting dalam perhitungan, yang juga merupakan praktik yang lebih konservatif. KAMA menentukan tingkat kelancaran akhir oleh koefisien (CQ), yang dalam perhitungan KAMA menentukan parameter siklus dua kali terakhir yang lurus secara horizontal, yaitu: rata-rata indeks ditambah dengan rata-rata bergerak (moving average), harga penutupan, koefisien, 2);

Cara menggunakan KAMA

Meskipun metode perhitungan KAMA sangat rumit, metode penggunaannya mirip dengan garis rata-rata biasa, dan dalam aplikasi praktis, tidak hanya dapat menilai tren pasar, tetapi juga dapat digunakan untuk titik jual dan beli yang tepat. Karena sangat cerdas, ini dapat digunakan dalam banyak strategi perdagangan, bahkan dalam mata uang digital.

  • Ketika harga lebih besar dari KAMA, dan KAMA lebih tinggi, banyak posisi dibuka.
  • Bila harga di bawah KAMA, dan KAMA turun, posisi kosong dibuka.
  • Ketika harga lebih rendah dari KAMA, atau KAMA ke bawah, banyak kepala berdamai.
  • Ketika harga lebih besar dari KAMA, atau KAMA ke atas, posisi kosong.

Mengembangkan strategi trading berdasarkan KAMA

Langkah 1: Menghitung KAMAPerhatikan! Di pojok kiri atas, pilih bahasa pemrograman sebagai:My语言KAMA sudah tersedia di Talib, tetapi hanya memiliki satu parameter eksternal (n) siklus, n1 dan n2 sudah default 2 dan 30. Kebijakan dalam artikel ini hanya untuk membuang kerucut untuk digunakan langsung, teman-teman yang handy juga dapat menulis sendiri haha.

%%  // My语言内JavaScript的标准格式
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);  // 获取K线数组
    if (r.length > 140) {  // 过滤K线长度
        var kama = talib.KAMA(r, 140);  // 调用talib库计算KAMA
        return kama[kama.length - 2];  // 返回KAMA的具体数值
    }
    return;
}
%%  // My语言内JavaScript的标准格式

Langkah 2: Menghitung kondisi transaksi dan memesan

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        return kama[kama.length - 2];
    }
    return;
}
%%

K^^KAMA;  // 把KAMA打印到图表上
A:CLOSE;  // 把收盘价打印到图表上

K > REF(K, 1) && CLOSE > K,BK;  // 开多
K < REF(K, 1) && CLOSE < K,SK;  // 开空
K < REF(K, 1) || CLOSE < K,SP;  // 平多
K > REF(K, 1) || CLOSE > K,BP;  // 平空

Langkah 3: Mengatur Filter Sinyal Kebijakan

%%
scope.KAMA = function() {
    var r = _C(exchange.GetRecords);
    if (r.length > 140) {
        var kama = talib.KAMA(r, 140);
        return kama[kama.length - 2];
    }
    return;
}
%%

K^^KAMA;
A:CLOSE;

K > REF(K, 1) && CLOSE > K,BK;
K < REF(K, 1) && CLOSE < K,SK;
K < REF(K, 1) || CLOSE < K,SP;
K > REF(K, 1) || CLOSE > K,BP;

AUTOFILTER;  // 启用一开一平信号过滤机制

Uji Kembali Strategi

Untuk mendekati lingkungan perdagangan yang sebenarnya, kami menggunakan slider 2 kali untuk melakukan tes tekanan pada saat retesting, dengan lingkungan yang diuji sebagai berikut:

  • Bursa: BitMEX
  • Berbagai jenis: XBTUSD
  • Jenis transaksi: XBTUSD
  • Waktu: 01 Juli 2017 - 01 Juli 2019
  • Periode K-line: garis hari
  • Titik geser: 2 kali untuk membuka posisi

Lingkungan pengujian img Hasilnya jelas img Curve Pendanaan img

Dari hasil retrospeksi di atas, strategi KAMA yang sederhana ini jelas tidak menjanjikan, bahkan dalam pasar beruang super besar mata uang digital tahun 2018, kurva modal tidak mengalami penurunan yang besar, dan pasar berada dalam periode goyah yang panjang, dan tidak membuka kembali posisi rata, menyebabkan kerugian yang tidak perlu.

Kode Sumber Strategi

Klik untuk menyalin kode sumber strategi lengkap, berbasis bahasa My, untuk komoditas berjangka dan mata uang digital

Pengamatan

Sebuah strategi yang baik yang dapat digunakan secara nyata pasti telah diasah, dan strategi dalam artikel ini masih memiliki banyak ruang untuk mengoptimalkan peningkatan, seperti menambahkan kondisi penyaringan tertentu, kondisi stop loss yang proaktif, dan sebagainya. Sebagai jenis garis rata, KAMA mewarisi kelebihan dan kekurangan garis rata biasa, sementara juga melakukan kenaikan. Dalam pasar yang tidak dapat diprediksi, bahkan untuk menetapkan garis parameter terbaik yang tidak dapat diprediksi sulit untuk beradaptasi dengan pasar masa depan, sehingga metode yang serba bisa, dengan perubahan perubahan pasar mungkin merupakan pilihan yang lebih baik.


Berkaitan

Lebih banyak

xaifer48Ya Allah, tolong ajari saya, bagaimana kode untuk langkah terakhir kama ditulis? KAMA = rata-rata indeks ditambah dengan rata-rata bergerak ((harga penutupan, koefisien), 2) adalah ini. Saya mencari beberapa mengatakan ditulis sebagai KAMA = sebelumnya KAMA + koefisien * (harga saat ini - sebelumnya KAMA).