Seperti namanya, Moving Average (KAMA) tergolong dalam kategori Moving Average, tetapi tidak seperti Moving Average tradisional, ia jauh lebih
KAMA
Manfaatnya ialah: ia boleh mengurangkan kos transaksi yang disebabkan oleh harga
Antara mereka, n, n1, dan n2 adalah parameter berkala. Secara lalai, bilangan kitaran n adalah 10, n1 adalah bilangan kitaran jangka pendek adalah 2, dan n2 adalah bilangan kitaran jangka panjang adalah 30. Ini juga satu set parameter yang dipersetujui oleh pengarang KAMA Perry Kaufman, n digunakan untuk arah dan kecekapan pengiraan turun naik, n1 dan n2 adalah bilangan tempoh purata bergerak pantas dan purata bergerak perlahan. Secara teori, semakin besar parameter n1, semakin lancar KAMA.
KAMA dikira dengan pertama kali mengira arah (DIR) dan turun naik (VIR), kemudian mengira kecekapan secara proporsional mengikut kedua-duanya. Kecekapan (ER) adalah ukuran tahap perubahan harga dan dikira dengan cara yang mudah: arah / turun naik. Hasil pengiraan adalah antara 0 dan 1. Apabila nilai ER lebih dekat dengan 0, pasaran berada dalam keadaan goyangan. Apabila nilai ER lebih dekat dengan 1, pasaran berada dalam keadaan trend.
Apabila mengira kecekapan (ER), konstan pelembap (CS) boleh diperoleh dengan menggabungkan purata bergerak pantas dan purata bergerak perlahan:
kecekapan * (cepat - perlahan) + perlahan
CS mewakili kelajuan operasi trend. Menurut formula pengiraan CS, kita boleh mendapati bahawa perubahan CS sentiasa sebanding dengan perubahan ER.
Kemudian pekali (CQ) dikira mengikut kuasa yang dihaluskan, dan tujuannya adalah untuk membuat parameter kitaran perlahan memainkan peranan yang lebih penting dalam pengiraan, yang juga pendekatan yang lebih konservatif.
Kelembapan akhir KAMA ditentukan oleh pekali (CQ). Dalam pengiraan KAMA, pekali (CQ) menentukan parameter berkala kedua-dua pelembapan purata bergerak terakhir, iaitu: purata tertimbang eksponen (purata bergerak dinamik (harga penutupan, pekali), 2).
Walaupun kaedah pengiraan KAMA
Langkah 1: mengira KAMA
Perhatikan bahawa di sudut kiri atas, sila pilih bahasa pengaturcaraan: Bahasa saya. Sudah ada KAMA siap di perpustakaan talib, tetapi ia hanya mempunyai satu kitaran parameter luaran (n), dan n1 dan n2 telah lalai menjadi 2 dan 30.
Strategi dalam artikel ini hanya digunakan sebagai rujukan. Pembaca yang mempunyai kemahiran pengaturcaraan yang kuat boleh menulis sendiri. Semasa proses pengaturcaraan bahasa Saya, kita juga boleh bercampur dengan bahasa JavaScript, perhatikan kod 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: Mengira syarat dagangan dan meletakkan 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: Tetapkan kaedah penapisan isyarat 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
Untuk mendapatkan lebih dekat dengan persekitaran dagangan sebenar, kami menggunakan 2 pip slippage untuk menguji tekanan dalam perdagangan sebenar.
Backtest persekitaran
Perincian keuntungan
Kurva dana
Dari hasil backtest di atas, strategi KAMA yang mudah ini benar-benar memenuhi jangkaan. Walaupun dalam pasaran beruang super besar cryptocurrency pada tahun 2018, kurva modal tidak menunjukkan penarikan balik yang besar, dan tidak ada kedudukan terbuka dan dekat berulang kali dalam tempoh kejutan jangka panjang di pasaran yang menyebabkan kerugian yang tidak perlu. Pada masa berikutnya, terdapat prestasi yang sangat baik di pasaran lembu pada tahun 2019.
Untuk maklumat lanjut, sila hubungi kami di:https://www.fmz.com/strategy/155663
Strategi yang sangat baik yang boleh menjadi strategi yang teguh mesti dipoles. Strategi dalam artikel ini mempunyai banyak ruang untuk mengoptimumkan dan menaik taraf, seperti menambahkan keadaan penapisan tertentu, keadaan stop-loss aktif dan keadaan stop-loss. Sebagai sejenis purata bergerak, KAMA mewarisi kelebihan dan kekurangan purata bergerak biasa dan pada masa yang sama memulihkan. Dalam pasaran yang tidak dapat diramalkan, walaupun anda menetapkan parameter