Como su nombre indica, el promedio móvil (KAMA) pertenece a la categoría de promedio móvil, pero a diferencia del promedio móvil tradicional, es mucho más inteligente que el MA normal. Sabemos que el MA tiene muchas deficiencias. Por ejemplo, el promedio móvil a corto plazo está cerca de la tendencia del precio, que es muy sensible, pero es fácil producir señales falsas. El promedio móvil a largo plazo es muy preciso en la captura de la tendencia, pero a menudo reacciona muy lentamente cuando el precio del mercado se ha movido durante un tiempo.
La "inteligencia" de KAMA se refleja en el hecho de que puede basarse en el estado actual del mercado, es decir, la volatilidad, para ajustar la sensibilidad.
Los beneficios son: puede reducir los costos de transacción causados por los movimientos del precio
Entre ellos, n, n1 y n2 son parámetros periódicos. Por defecto, el número de ciclos n es 10, n1 es el número de ciclos a corto plazo es 2, y n2 es el número de ciclos a largo plazo es 30. Este es también un conjunto de parámetros acordados por el autor de KAMA Perry Kaufman, n se utiliza para la dirección y la eficiencia del cálculo de volatilidad, n1 y n2 son el número de períodos de media móvil rápida y media móvil lenta. Teóricamente, cuanto mayor sea el parámetro de n1, más suave será KAMA.
KAMA se calcula calculando primero la dirección (DIR) y la volatilidad (VIR), luego calculando la eficiencia en proporción de acuerdo con estos dos. La eficiencia (ER) es una medida del grado de cambio de precio y se calcula de una manera simple: dirección / volatilidad. El resultado del cálculo está entre 0 y 1. Cuando el valor de ER está más cerca de 0, el mercado está en un estado de oscilación. Cuando el valor de ER está más cerca de 1, el mercado está en un estado de tendencia.
Al calcular la eficiencia (ER), la constante de suavizado (CS) se puede derivar combinando la media móvil rápida y la media móvil lenta:
eficiencia * (rápida - lenta) + lenta
La velocidad de la operación de la tendencia es la velocidad de la operación de la tendencia.
Luego, el coeficiente (CQ) se calcula de acuerdo con la potencia suavizada, y el propósito es hacer que el parámetro de ciclo lento desempeñe un papel más importante en el cálculo, que también es un enfoque más conservador.
En el cálculo de KAMA, el coeficiente (CQ) determina los parámetros periódicos de los dos últimos media móvil de suavizado, a saber: media ponderada exponencial (media móvil dinámica (precio de cierre, coeficiente), 2).
Aunque el método de cálculo de KAMA
Paso 1: calcular el KAMA
Tenga en cuenta que en la esquina superior izquierda, seleccione el lenguaje de programación: Mi lenguaje. Ya hay un KAMA listo en la biblioteca talib, pero solo tiene un ciclo de parámetros externos (n), y n1 y n2 son por defecto 2 y 30.
Las estrategias en este artículo sólo se utilizan como referencias. Los lectores con fuertes habilidades de programación pueden escribir su propia. Durante el proceso de programación de mi lenguaje, también podemos mezclar con el lenguaje JavaScript, preste atención al siguiente código:
%% // 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
Paso 2: Calcular las condiciones de negociación y realizar una orden
%%
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
Paso 3: Configurar el método de filtrado de señales de estrategia
%%
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
Con el fin de acercarse al entorno de negociación real, utilizamos los 2 pips de deslizamiento para probar la presión en la negociación real.
Entorno de pruebas de retroceso
Detalles de las ganancias
Curva de los fondos
A partir de los resultados de las pruebas de retroceso anteriores, esta sencilla estrategia KAMA realmente cumple con las expectativas. Incluso en el mercado oso súper grande de la criptomoneda en 2018, la curva de capital no mostró un gran retroceso, y no hubo una posición abierta y cerrada repetidamente en el período de choque a largo plazo en el mercado que causara pérdidas innecesarias.
Para obtener más información, póngase en contacto con nosotros en:https://www.fmz.com/strategy/155663
Una estrategia excelente que puede ser una estrategia firme debe ser pulida. Las estrategias en este artículo tienen mucho espacio para optimizar y mejorar, como agregar ciertas condiciones de filtrado, condiciones activas de stop-loss y stop-loss. Como una especie de promedio móvil, KAMA hereda las ventajas y desventajas de los promedios móviles ordinarios y al mismo tiempo sublima. En un mercado impredecible, incluso si fijas un parámetro