Sistema de negociación de divisas automático y software de negociación cuantitativa basado en el inventor de KAMA

El autor: , Creado: 2019-07-06 16:21:15, Actualizado: 2023-10-24 21:42:44

[TOC] ¿Qué quieres decir?

img

Adaptado a la línea media KAMA

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.

KAMA en el gráfico

img

El método de cálculo de KAMA

  • Dirección ((DIR) = precio de cierre - precio de cierre n días antes
  • Volatilidad (VIR) = suma (abs) (precio de cierre - precio de cierre del día anterior), n)
  • Eficiencia (ER) = Dirección / Fluctuación
  • Así que esto es igual a 2 / (n1 + 1).
  • La velocidad lenta es igual a 2 / (n2 + 1)
  • La velocidad de fluidez (CS) = eficiencia * (rápido - lento) + lento
  • Coeficientes (CQ) = Liso * Liso
  • KAMA = promedio ponderado por índices (promedio móvil dinámico) (precio de cierre, coeficiente), 2)

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).

Cómo usar KAMA

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.

  • Cuando el precio es mayor que KAMA, y KAMA es mayor, se abre una posición.
  • Cuando el precio es menor que el KAMA y el KAMA es más bajo, se abre el vacío.
  • Cuando el precio es menor que KAMA, o KAMA hacia abajo, la mayoría de las posiciones se liquidan.
  • Cuando el precio es mayor que KAMA, o más arriba de KAMA, el blanco se estabiliza.

Construyendo estrategias de negociación basadas en KAMA

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;  // 启用一开一平信号过滤机制

Retrospectiva estratégica

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:

  • El mercado de BitMEX
  • Se trata de una variedad de comercio:
  • Tipo de transacción: XBTUSD
  • Tiempo: 01 de julio de 2017 a 01 de julio de 2019
  • Ciclo de la línea K: línea del día
  • Punto de deslizamiento: 2 saltos para el equilibrio

Entorno de prueba img Las ganancias claras img Curva de financiación img

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.

El código fuente de la estrategia

Haga clic para copiar el código fuente de la estrategia completa, basada en el lenguaje My, para futuros de productos y monedas digitales

Resumen

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.


Relacionados

Más.

- ¿ 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).