Memperkenalkan rata-rata bergerak adaptif KAMA

Penulis:Kebaikan, Dibuat: 2019-07-24 14:09:06, Diperbarui: 2023-11-08 20:42:23

img

Seperti namanya, Moving Average (KAMA) termasuk dalam kategori Moving Average, tetapi tidak seperti moving average tradisional, ia jauh lebih cerdas daripada MA normal. Kita tahu bahwa MA memiliki banyak kekurangan. Misalnya, moving average jangka pendek dekat dengan tren harga, yang sangat sensitif, tetapi mudah menghasilkan sinyal palsu. moving average jangka panjang sangat akurat dalam menangkap tren, tetapi sering bereaksi sangat lambat ketika harga pasar telah bergerak untuk sementara waktu.

KAMA kecerdasan tercermin dalam fakta bahwa ia dapat didasarkan pada keadaan pasar saat ini, yaitu, volatilitas, untuk menyesuaikan sensitivitas. bentuk realisasi adalah: di pasar kejutan, perubahan KAMA jelas melambat; ketika tren datang, ia akan dengan cepat bereaksi.

Manfaatnya adalah: dapat mengurangi biaya transaksi yang disebabkan oleh pergerakan harga dalam sehari, dan dapat mendapatkan tren tepat waktu ketika pasar lepas landas.

KAMA dalam grafik

img

Metode perhitungan KAMA

  • Arah (DIR) = harga penutupan - harga penutupan sebelum n hari
  • Volatilitas (VIR) = jumlah ((abs (harga penutupan - harga penutupan hari perdagangan sebelumnya), n)
  • Efisiensi (ER) = arah / volatilitas
  • Cepat = 2 / (n1 + 1)
  • Perlahan = 2 / (n2 + 1)
  • Lemes (CS) = efisiensi * (cepat - lambat) + lambat
  • Koefisien (CQ) = halus * halus
  • KAMA = rata-rata tertimbang secara eksponensial (rata-rata bergerak dinamis (harga penutupan, koefisien), 2)

Di antara mereka, n, n1, dan n2 adalah parameter periodik. Secara default, jumlah siklus n adalah 10, n1 adalah jumlah siklus jangka pendek adalah 2, dan n2 adalah jumlah siklus jangka panjang adalah 30. Ini juga merupakan seperangkat parameter yang disepakati oleh penulis KAMA Perry Kaufman, n digunakan untuk efisiensi perhitungan arah dan volatilitas, n1 dan n2 adalah jumlah periode rata-rata bergerak cepat dan rata-rata bergerak lambat. Secara teoritis, semakin besar parameter n1, semakin halus KAMA.

KAMA dihitung dengan pertama menghitung arah (DIR) dan volatilitas (VIR), kemudian menghitung efisiensi secara proporsional sesuai dengan keduanya. Efisiensi (ER) adalah ukuran dari tingkat perubahan harga dan dihitung dengan cara yang sederhana: arah / volatilitas. Hasil perhitungan adalah antara 0 dan 1. Ketika nilai ER lebih dekat ke 0, pasar berada dalam keadaan osilasi. Ketika nilai ER lebih dekat ke 1, pasar berada dalam keadaan tren.

Saat menghitung efisiensi (ER), konstanta pelumasan (CS) dapat diperoleh dengan menggabungkan rata-rata bergerak cepat dan rata-rata bergerak lambat:

Efisiensi * (cepat - lambat) + lambat

CS mewakili kecepatan operasi tren. Menurut rumus perhitungan CS, kita dapat menemukan bahwa perubahan CS selalu sebanding dengan perubahan ER.

Kemudian koefisien (CQ) dihitung sesuai dengan daya yang dihaluskan, dan tujuannya adalah untuk membuat parameter siklus lambat memainkan peran yang lebih penting dalam perhitungan, yang juga merupakan pendekatan yang lebih konservatif.

Dalam perhitungan KAMA, koefisien (CQ) menentukan parameter periodik dari dua perataan rata-rata bergerak terakhir, yaitu: rata-rata tertimbang eksponensial (rata-rata bergerak dinamis (harga penutupan, koefisien), 2).

Cara menggunakan KAMA

Meskipun metode perhitungan KAMA sangat rumit, metode penggunaannya mirip dengan rata-rata bergerak biasa. Dalam aplikasi praktis, ia tidak hanya dapat menilai tren pasar, tetapi juga dapat digunakan untuk titik perdagangan yang tepat. Karena sangat smart, ia dapat digunakan dalam banyak target perdagangan, bahkan di pasar cryptocurrency.

  • Ketika harga lebih besar dari KAMA dan KAMA naik, posisi panjang dibuka.
  • Ketika harga kurang dari KAMA dan KAMA turun, posisi pendek dibuka.
  • Ketika harga kurang dari KAMA, atau KAMA turun, posisi panjang ditutup.
  • Ketika harga lebih besar dari KAMA, atau KAMA naik, posisi pendek ditutup.

Membangun strategi perdagangan berdasarkan KAMA

Langkah 1: hitung KAMA

Perhatikan bahwa di sudut kiri atas, silakan pilih bahasa pemrograman: My language. Ada KAMA yang sudah siap di perpustakaan talib, tetapi hanya memiliki satu siklus parameter eksternal (n), dan n1 dan n2 telah default menjadi 2 dan 30.

Strategi dalam artikel ini hanya digunakan sebagai referensi. Pembaca dengan kemampuan pemrograman yang kuat dapat menulis sendiri. Selama proses pemrograman bahasa saya, kita juga dapat bercampur dengan bahasa JavaScript, perhatikan kode berikut:

%% // Standard format for JavaScript within My language
scope.KAMA = function() {
    var r = _C(exchange.GetRecords); // Get the K line array
    if (r.length > 140) { // filter the length of the K line
        var kama = talib.KAMA(r, 140); // Call talib library to calculate KAMA
        Return kama[kama.length - 2]; // return the specific value of KAMA
    }
    Return;
}
%% // Standard format for JavaScript within My language

Langkah 2: Menghitung kondisi perdagangan dan menempatkan pesanan

%%
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; // Print KAMA on the chart
A:CLOSE; // print the closing price on the chart

K > REF(K, 1) && CLOSE > K,BK; // Open long position
K < REF(K, 1) && CLOSE < K,SK; // Open short position
K < REF(K, 1) || CLOSE < K,SP; // close long position
K > REF(K, 1) || CLOSE > K,BP; // close short position

Langkah 3: Atur metode penyaringan sinyal strategi

%%
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; // Enable one open and one close signal filtering mechanism

Strategi backtest

Untuk mendekati lingkungan perdagangan yang sebenarnya, kami menggunakan 2 pip slippage untuk menguji tekanan dalam perdagangan yang sebenarnya.

  • Bursa: BitMEX
  • Varietas perdagangan: XBTUSD
  • Waktu: 01 Juli 2017 ~ 01 Juli 2019
  • Siklus garis K: garis harian
  • Slippage: 2 pips untuk posisi pembukaan dan penutupan

Lingkungan uji balik

img

Rincian laba

img

Kurva dana

img

Dari hasil backtest di atas, strategi KAMA sederhana ini benar-benar memenuhi harapan. Bahkan di pasar beruang super besar cryptocurrency pada tahun 2018, kurva modal tidak menunjukkan retracement besar, dan tidak ada posisi terbuka dan dekat berulang kali dalam periode shock jangka panjang di pasar yang menyebabkan kerugian yang tidak perlu. Pada saat berikutnya, ada kinerja yang sangat baik di pasar bull pada tahun 2019.

Kode sumber strategi

Untuk informasi lebih lanjut, silakan hubungi kami di:https://www.fmz.com/strategy/155663

Ringkasan

Sebuah strategi yang sangat baik yang bisa menjadi strategi yang kuat harus dipoles. Strategi dalam artikel ini memiliki banyak ruang untuk dioptimalkan dan ditingkatkan, seperti menambahkan kondisi penyaringan tertentu, kondisi stop-loss aktif dan stop-loss. Sebagai semacam moving average, KAMA mewarisi keuntungan dan kerugian dari moving average biasa dan pada saat yang sama sublimasi. Di pasar yang tidak dapat diprediksi, bahkan jika Anda menetapkan parameter best, sulit untuk beradaptasi dengan pasar masa depan. Oleh karena itu, metode ini untuk berubah dengan tren dan berubah dengan pasar mungkin menjadi pilihan yang lebih baik.


Lebih banyak