[TOC] ¿Qué quieres decir?
Como su nombre lo indica, la media adaptativa (KAMA) pertenece a la categoría de la media móvil (Moving Average), pero no es tan inteligente como las medias móviles tradicionales. Sabemos que la media normal tiene muchos inconvenientes, por ejemplo: la media corta está cerca de la tendencia de los precios, es muy sensible, pero es fácil de generar falsas señales; la media a largo plazo es muy precisa en el juicio de la tendencia, pero a menudo el mercado ha pasado un paso y reacciona.
La gran inteligencia de KAMA se refleja en que puede ajustar la sensibilidad principal según el estado actual del mercado, es decir, la volatilidad. Su forma de manifestación es que: en un mercado turbulento, los cambios de KAMA se ralentizan significativamente; cuando la tendencia se presenta, reacciona rápidamente.
De ellos, n, n1, n2 son los parámetros de ciclo, en el caso de n, por defecto, el número de ciclos es 10, n1 es el número de ciclos cortos, y n2 es el número de ciclos largos. Este es también un conjunto de parámetros identificados por el autor de KAMA, Perry Kaufman.
El método de cálculo de KAMA es el siguiente: primero se calcula la dirección (DIR) y la volatilidad (VIR), y luego se calcula la eficiencia en proporción a ambos. La eficiencia (ER) es la medida del grado de cambio en los precios, y el cálculo es simple: dirección / volatilidad. El resultado del cálculo es entre 0 y 1, donde el valor de ER más cercano a 0 indica que el mercado está en estado de agitación, y el valor de ER más cercano a 1 indica que el mercado está en estado de tendencia.
Cuando se calcula la eficiencia (ER), se puede combinar la media rápida y la media lenta para derivar la constante lisa (CS): eficiencia * (rápida - lenta) + velocidad lenta. La CS representa la velocidad de funcionamiento de la tendencia, y según la fórmula de cálculo de la CS, podemos encontrar que el cambio de la CS siempre es proporcional al cambio de la ER.
Luego se calcula el coeficiente (CQ) en función de los multiplicadores del plano, con el objetivo de hacer que los parámetros de ciclo lento desempeñen un papel más importante en el cálculo, lo que también es una práctica más conservadora. El grado de suavidad final de KAMA es determinado por el coeficiente (CQ), que en el cálculo de KAMA determina los parámetros de ciclo del plano horizontal de las dos últimas veces, es decir, la media exponencial ponderada (media móvil dinámica) (precio de cierre, coeficiente) y 2) (precio de cierre, coeficiente).
A pesar de que el método de cálculo de KAMA es muy complejo, su uso es similar al de la línea media ordinaria, y en aplicaciones prácticas, no solo puede determinar la tendencia del mercado, sino que también se puede usar para comprar y vender con precisión. Como es muy inteligente, puede usarse en muchas estrategias de negociación, incluso en monedas digitales.
El primer paso: calcular KAMA.En la esquina superior izquierda, seleccione el lenguaje de programación:My语言
KAMA ya está disponible en la biblioteca talib, pero tiene solo un parámetro externo (n) ciclo, n1 y n2 ya son 2 y 30 por defecto. La estrategia en este artículo solo se utiliza para tirar las cuerdas de guión directamente, los compañeros con habilidades manuales también pueden escribir haha por sí mismos.
%% // 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的标准格式
Paso 2: Calcular las condiciones de la transacción y hacer el pedido
%%
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; // 平空
Paso 3: Configurar el filtro de señales de la política
%%
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; // 启用一开一平信号过滤机制
Para acercarnos más al entorno de negociación real, utilizamos el slider de 2 saltos de equilibrio abiertos para realizar una prueba de presión en la retroevaluación, y el entorno de prueba es el siguiente:
Entorno de prueba Las ganancias claras Curva de financiación
A partir de los resultados de la revisión anterior, esta sencilla estrategia de KAMA no es muy prometedora, incluso en el mercado de monedas digitales superbears de 2018, donde la curva de capitales no registró un gran retroceso, y en el mercado durante un período prolongado de convulsiones, no se estableció de nuevo, lo que causó pérdidas innecesarias.
Una buena estrategia para el mercado real debe haber sido refinada a través de miles de ejercicios, y las estrategias en este artículo tienen mucho espacio para mejorar, como aumentar ciertas condiciones de filtrado, condiciones de suspensión de pérdidas activas, etc. Como una línea uniforme, KAMA hereda las desventajas de la línea uniforme normal y también aumenta. En un mercado invariable, incluso fijar un parámetro de parámetro óptimo es difícil de adaptarse a los mercados futuros, por lo que este método aleatorio y aleatorio de cambios en el mercado puede ser una mejor opción.
- ¿ Qué es eso?Dios mío, por favor, ¿cómo se escribe el código del último paso de kama? KAMA = promedio ponderado por índices (promedio móvil dinámico) (precio de cierre, coeficiente), 2) es esto. He buscado y he encontrado que se escribe KAMA = anterior KAMA + coeficiente * (precio actual - anterior KAMA).