Стратегия по акциям с двойным сглаженным осциллятором скользящей средней


Дата создания: 2024-02-05 10:47:38 Последнее изменение: 2024-02-05 10:47:38
Копировать: 1 Количество просмотров: 567
1
Подписаться
1617
Подписчики

Стратегия по акциям с двойным сглаженным осциллятором скользящей средней

Обзор

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

Стратегический принцип

Центральным показателем данной стратегии является индекс двуглавого равнолинейного колебателя (TSI). Метод расчета индекса:

  1. Расчет изменения цены pc=close-preclose

  2. Двойной сглаживающий процесс с использованием двойного сглаживания (double_smoothed_pc) производится с использованием двойного сглаживания (double_smoothed_pc) с использованием двойного сглаживания.

  3. То же самое можно сделать с абсолютными значениями, выполняя двоичную сглаживание, получив double_smoothed_abs_pc

  4. Конечный индекс ТСИ = 100*(double_smoothed_pc/double_smoothed_abs_pc)

Расчет значения TSI и его отношения к линии сигнала tsi_signal, чтобы определить, в какой зоне находится перекуп и перепродажа, чтобы принять решение о покупке и продаже.

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

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

Анализ преимуществ

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

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

Анализ рисков

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

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

Направление оптимизации

Основные направления оптимизации этой стратегии сосредоточены на двух направлениях:

  1. Параметровая оптимизация. Можно проверить оптимальную комбинацию параметров средней длины и сигнальной линии с помощью дополнительных обратных измерений, что повышает чувствительность показателя.

  2. Настройка фильтрационных показателей. Например, в сочетании с другими показателями, такими как Brin Belt, KDJ, для проверки сигналов о покупке и продаже, чтобы избежать ошибочного открытия позиции. Или установка фильтрации объема сделки, открытие позиции только в случае увеличения объема сделки.

  3. Увеличение стратегии остановки убытков. Установка движущихся стопов, временных стопов для контроля за одиночными потерями. В то же время, можно приостановить торговлю в зависимости от ситуации с большим рынком, чтобы контролировать системный риск.

  4. Оптимизация управления позициями. Установление динамически корректируемых размеров и пропорций позиций, позволяющих контролировать риск на каждой сделке в зависимости от рыночных условий.

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

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

Исходный код стратегии
/*backtest
start: 2023-01-29 00:00:00
end: 2024-02-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © shankardey7310

//@version=5
strategy("TSI STOCKS", shorttitle="TSI", overlay=true)

initialCapital = input(10000, title="Initial Capital")
riskPercent = input(1, title="Risk Percentage") / 100

longLength = input(12, title="Long Length")
shortLength = input(9, title="Short Length")
signalLength = input(12, title="Signal Length")

price = close
pc = ta.change(price)

double_smooth(src, long, short) =>
    first_smooth = ta.ema(src, long)
    ta.ema(first_smooth, short)

double_smoothed_pc = double_smooth(pc, longLength, shortLength)
double_smoothed_abs_pc = double_smooth(math.abs(pc), longLength, shortLength)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi_signal = ta.ema(tsi_value, signalLength)

riskAmount = (initialCapital * riskPercent) / close

if (tsi_value > tsi_signal and tsi_value[1] <= tsi_signal[1])
    strategy.entry("Long", strategy.long)

if (tsi_value < tsi_signal and tsi_value[1] >= tsi_signal[1])
    strategy.close("Long")

plot(tsi_value, title="True Strength Index", color=#2962FF)
plot(tsi_signal, title="Signal", color=#E91E63)
hline(0, title="Zero", color=#787B86)