Цифровые валюты адаптируются к односторонней системе торговли и программному обеспечению для количественной торговли на основе алгоритмов KAMA

Автор: , Создано: 2019-07-06 16:21:15, Обновлено: 2023-10-24 21:42:44

[TOC]

img

Адаптационная средняя линия KAMA

Как известно, адаптивная средняя (KAMA) относится к категории движущихся средних (Moving Average), но отличается от традиционных движущихся средних тем, что она очень умна. Мы знаем, что обычные средние имеют много недостатков, например: короткие средние близки к движению цен, очень чувствительны, но легко генерируют ложные сигналы; долгосрочные средние очень точны в определении тренда, но часто после того, как ситуация продвинулась, они реагируют.

Умный способ KAMA заключается в том, что он может регулировать свою чувствительность в зависимости от текущего состояния рынка, то есть волатильности. Его форма заключается в том, что в бурном рынке изменения KAMA значительно замедляются; когда наступает тенденция, он быстро реагирует.

Кама в графике

img

Методы расчета KAMA

  • направление ((DIR) = цена закрытия - цена закрытия n дней назад
  • Коэффициент волатильности ((VIR) = sum ((abs ((закрытие - цена закрытия на предыдущий день торговли), n)
  • Эффективность (ER) = направление / частота колебаний
  • Быстрое равно 2 / (n1 + 1)
  • И мы можем сказать, что медленная скорость равна 2 / (n2 + 1)
  • Гладкий (CS) = эффективность * (быстрый - медленный) + медленный
  • Коэффициент ((CQ) = гладкий * гладкий
  • KAMA = Индекс-взвешенный средний ((Динамический движущийся средний ((Цена закрытия, коэффициент), 2)

Из них n, n1 и n2 являются параметрами цикла, при которых число циклов n по умолчанию составляет 10, n1 - кратковременное число циклов и n2 - долгосрочное число циклов 30. Это также набор параметров, идентифицированный автором KAMA Перри Кауфманом.

Метод расчета KAMA состоит в следующем: сначала вычисляется направление (DIR) и волатильность (VIR), затем вычисляется эффективность в соотношении к обоим. Эффективность (ER), измеряющая степень изменения цены, также проста: направление / волатильность. Результат расчета составляет от 0 до 1, когда значение ER ближе к 0 указывает на то, что рынок находится в состоянии волатильности, а когда значение ER ближе к 1 указывает на то, что рынок находится в состоянии тенденции.

При вычислении эффективности (ER) можно соединить быструю и медленную средние скорости и вывести гладкую константу (CS): эффективность * (быстрая - медленная скорость) + медленная скорость. CS представляет скорость движения тенденции. Согласно вычислительной формуле CS мы можем обнаружить, что изменение CS всегда пропорционально изменению ER.

Затем вычисляются коэффициенты (CQ) на основе скользких множителей с целью сделать более важную роль в расчете параметров медленного цикла, что является более консервативной практикой. Коэффициент (CQ) определяет конечную степень скользкости, а в расчетах KAMA коэффициент (CQ) определяет циклические параметры последнего двух равнолинейного скольжения, а именно: индексный весовой средний (DMA) (закрытие цены, коэффициенты), 2);

Как использовать KAMA

Несмотря на свою сложность, KAMA используется как обычная средняя линия. В практическом применении она не только позволяет определить движение рынка, но и определять точные точки купли-продажи.

  • Когда цена больше, чем KAMA, и KAMA выше, открыть многоголовую позицию.
  • Когда цена меньше KAMA, а KAMA снижается, открывается пустой позиции.
  • Когда цена меньше KAMA, или когда KAMA снижается, многоголовый баланс.
  • Когда цена больше KAMA, или выше KAMA, пустое положение.

Построение стратегии торговли на основе KAMA

Первый шаг: вычислить KAMAВ верхнем левом углу выберите язык программирования:My语言В библиотеке talib уже есть готовый KAMA, но он имеет только один внешний параметр ((n) циклов, n1 и n2 уже по умолчанию 2 и 30. В данной статье стратегия используется только для прямого использования брошенных запятых, а более опытные партнеры также могут написать ха. Тогда в языке My также можно напрямую смешивать с языком JavaScript.

%%  // 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的标准格式

Шаг 2: Вычислить условия и заказать

%%
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;  // 平空

Третий шаг: настройка фильтрации сигналов политики

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

Стратегическая рецензия

Чтобы приблизиться к реальному торговому окружению, мы использовали для стрессовых тестов сдвиги с двух рывков открытых позиций при обратном измерении, и тесты были выполнены следующим образом:

  • Биржа: BitMEX
  • Разновидность: XBTUSD
  • Содержание: XBTUSD
  • Время: 01 июля 2017 - 01 июля 2019
  • Цикл K-линии: дневная линия
  • Слайд: 2 прыжка в одну позицию

Тестные среды img Доходы подробно img Финансовая кривая img

Если посмотреть на результаты отслеживания, то эта простая стратегия KAMA не выглядит очень оптимистично, даже в случае с супербольшим медвежьим рынком цифровых валют в 2018 году, когда кривая капитала не сильно отступила, а также в период длительного потрясения рынка, когда не было и не было нежелательных убытков.

Источник стратегии

Нажмите, чтобы скопировать полный источник стратегии, основанный на языке My, для товарных фьючерсов и цифровых валют

Подведение итогов

Хорошая стратегия, которая может работать на реальном рынке, должна быть отработана, и в этой статье есть много возможностей для оптимизации, таких как увеличение определенных условий фильтрации, активные условия остановки и стоп-потери. Как одно из направлений, KAMA наследует обычные преимущества и недостатки, а также повышает цены. В неизменном рынке даже самый лучший параметр для фиксации параметров может быть трудно адаптироваться к будущим условиям, поэтому такой случайный, случайный способ изменения может быть лучшим вариантом.


Связанные

Больше

xaifer48Боже, как написать код последнего этапа камы? KAMA = весомый показатель (движущийся средний) (закрытие цены, коэффициент), 2) вот это. Я проверил, что это написано как KAMA = предыдущий KAMA + коэффициент * (нынешняя цена - предыдущая KAMA).