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
Manfaatnya adalah: dapat mengurangi biaya transaksi yang disebabkan oleh pergerakan harga
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).
Meskipun metode perhitungan 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
Untuk mendekati lingkungan perdagangan yang sebenarnya, kami menggunakan 2 pip slippage untuk menguji tekanan dalam perdagangan yang sebenarnya.
Lingkungan uji balik
Rincian laba
Kurva dana
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.
Untuk informasi lebih lanjut, silakan hubungi kami di:https://www.fmz.com/strategy/155663
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