Как следует из названия, скользящая средняя (KAMA) относится к категории скользящей средней, но в отличие от традиционной скользящей средней, она намного умнее, чем обычный MA. Мы знаем, что MA имеет много недостатков. Например, краткосрочная скользящая средняя близка к ценовому тренду, который очень чувствителен, но легко производить ложные сигналы. Долгосрочная скользящая средняя очень точна в улавливании тренда, но часто реагирует очень медленно, когда рыночная цена движется в течение некоторого времени.
Его "умность" отражается в том, что он может основываться на текущем состоянии рынка, то есть волатильности, для корректировки чувствительности.
Преимущества заключаются в следующем: он может снизить затраты на транзакции, вызванные движением цены в течение дня, и может вовремя перейти к тренду, когда рынок взлетает.
По умолчанию число n циклов составляет 10, n1 - количество краткосрочных циклов - 2, а n2 - количество долгосрочных циклов - 30. Это также набор параметров, согласованный автором KAMA Перри Кауфманом, n используется для направления и эффективности расчета волатильности, n1 и n2 - количество периодов быстрой скользящей средней и медленной скользящей средней. Теоретически, чем больше параметр n1, тем гладче KAMA.
KAMA рассчитывается, сначала рассчитывая направление (DIR) и волатильность (VIR), затем рассчитывая эффективность пропорционально этим двум. Эффективность (ER) является мерой степени изменения цен и рассчитывается простым способом: направление / волатильность. Результат расчета находится между 0 и 1. Когда значение ER ближе к 0, рынок находится в состоянии колебаний. Когда значение ER ближе к 1, рынок находится в состоянии тенденции.
При расчете эффективности (ER) постоянная сглаживания (CS) может быть получена путем сочетания быстро движущейся средней и медленно движущейся средней:
эффективность * (быстрый - медленный) + медленный
Согласно формуле расчета CS, мы можем обнаружить, что изменение CS всегда пропорционально изменению ER.
Затем коэффициент (CQ) рассчитывается в соответствии с сглаженной мощностью, и цель состоит в том, чтобы параметр медленного цикла играл более важную роль в расчете, который также является более консервативным подходом.
В расчете KAMA коэффициент (CQ) определяет периодические параметры последних двух скользящих средних сглаживаний, а именно: экспоненциальная взвешенная средняя (динамическая скользящая средняя (цена закрытия, коэффициент), 2).
Хотя метод расчета KAMA
Шаг 1: вычислить KAMA
Обратите внимание, что в левом верхнем углу выберите язык программирования: Мой язык. В библиотеке талиб уже есть готовый KAMA, но он имеет только один внешний цикл параметра (n), а n1 и n2 по умолчанию составляют 2 и 30.
Стратегии в этой статье используются только в качестве ссылок. Читатели с сильными навыками программирования могут написать свои собственные. Во время процесса программирования My language, мы также можем смешивать с языком JavaScript, обратите внимание на следующий код:
%% // 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
Шаг 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; // 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
Шаг 3: Установка метода фильтрации сигналов стратегии
%%
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
Чтобы приблизиться к реальной торговой среде, мы использовали 2 пипса скольжения, чтобы проверить давление в фактической торговле.
Окружающая среда обратного тестирования
Подробная информация о прибыли
Кривая фондов
По результатам вышеперечисленного обратного теста, эта простая стратегия KAMA действительно соответствует ожиданиям. Даже на супербольшом медвежьем рынке криптовалюты в 2018 году кривая капитала не показала большого отступления, и не было неоднократно открытых и закрытых позиций в долгосрочный период шока на рынке, вызывающий ненужные потери. В более позднее время на бычьем рынке в 2019 году наблюдается очень хорошая производительность.
Для получения дополнительной информации обращайтесь к нам по адресу:https://www.fmz.com/strategy/155663
КАМА является одним из наиболее эффективных методов для определения средних движущихся значений. В отличной стратегии, которая может быть твердой стратегией, необходимо отполировать. Стратегии в этой статье имеют много возможностей для оптимизации и обновления, таких как добавление определенных условий фильтрации, активных условий стоп-лосса и стоп-лосса. Как своего рода скользящая средняя, KAMA наследует преимущества и недостатки обычных скользящих средних значений и в то же время сублимирует. На непредсказуемом рынке даже если вы фиксируете