В процессе загрузки ресурсов... загрузка...

Многопоказательная тенденция в соответствии со стратегией

Автор:Чао Чжан, Дата: 2024-04-28 14:25:12
Тэги:MACDМ.А.РСИATR

img

Обзор

Стратегия под названием Jancok Strategycs v3 представляет собой многопоказательную стратегию тренда, основанную на скользящих средних (MA), скользящих средних конвергентных дивергенциях (MACD), индексе относительной силы (RSI) и среднем истинном диапазоне (ATR).

Принцип стратегии

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

  1. Движущиеся средние (ДВ): рассчитывают краткосрочные (9-периодные) и долгосрочные (21-периодные) скользящие средние.
  2. Дивергенция конвергенции скользящей средней (MACD): рассчитывается линия MACD и линия сигнала. Когда линия MACD пересекает линию сигнала, это указывает на восходящий тренд; когда линия MACD пересекает ниже линии сигнала, это указывает на нисходящий тренд.
  3. Индекс относительной силы (RSI): рассчитывается 14-периодный RSI. Когда RSI выше 70, это говорит о том, что рынок может быть перекуплен; когда RSI ниже 30, это говорит о том, что рынок может быть перепродан.
  4. Средний реальный диапазон (ATR): рассчитывается 14-периодный ATR для измерения волатильности рынка и установления точек остановки потерь и получения прибыли.

Торговая логика стратегии выглядит следующим образом:

  • Когда краткосрочный MA пересекает длинный MA, линия MACD пересекает линию сигнала, объем торгов больше скользящей средней, а волатильность ниже порога, ввести длинную позицию.
  • Когда краткосрочный MA пересекается ниже долгосрочного MA, линия MACD пересекается ниже линии сигнала, объем торгов больше скользящей средней, а волатильность ниже порога, вводят короткую позицию.
  • Стоп-лосс и точки получения прибыли динамически устанавливаются на основе ATR, причем точка получения прибыли равна 2 раз ATR и точка получения прибыли равна 4 раз ATR.
  • Можно использовать дополнительную остановку на основе ATR, с точкой остановки на 2,5 раза выше ATR.

Преимущества стратегии

  1. Комбинация нескольких индикаторов для определения тенденции, повышающая точность определения тенденции.
  2. Динамическая стоп-лосс и take-profit, адаптивная корректировка на основе волатильности рынка, лучшее управление рисками и оптимизация доходности.
  3. Введение фильтров объема и волатильности для предотвращения торговли в периоды низкой ликвидности и высокой волатильности, что уменьшает ложные сигналы.
  4. Необязательное остановка, чтобы сохранить больше прибыли, когда тенденции сохраняются.

Стратегические риски

  1. Во время консолидации рынка или сдвига тренда могут возникать ложные сигналы, приводящие к убыткам.
  2. Настройки параметров оказывают значительное влияние на эффективность стратегии и должны быть оптимизированы для различных рынков и активов.
  3. Чрезмерная оптимизация параметров может привести к чрезмерной настройке и плохой производительности в фактической торговле.
  4. Стратегия может привести к значительным потерям при аномальных колебаниях рынка или черных лебедях.

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

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

Резюме

Jancok Strategycs v3 - это стратегия, основанная на сочетании нескольких индикаторов, использующая скользящие средние, MACD, RSI и ATR для определения рыночных тенденций, и использующая методы управления рисками, такие как динамический стоп-лосс и взятка прибыли, и последующая остановка для контроля риска и оптимизации доходности. Преимущества стратегии заключаются в высокой точности идентификации тренда, гибком управлении рисками и сильной адаптивности. Однако она также несет определенные риски, такие как ложные сигналы, чувствительность к параметрам и события черного лебедя.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © financialAccou42381

//@version=5
strategy("Jancok Strategycs v3", overlay=true, initial_capital=100, currency="USD")

// Inputs
short_ma_length = input.int(9, title="Short MA Length", minval=1)
long_ma_length = input.int(21, title="Long MA Length", minval=1)
atr_multiplier_for_sl = input.float(2, title="ATR Multiplier for Stop Loss", minval=1.0)
atr_multiplier_for_tp = input.float(4, title="ATR Multiplier for Take Profit", minval=1.0)
volume_ma_length = input.int(20, title="Volume MA Length", minval=1)
volatility_threshold = input.float(1.5, title="Volatility Threshold", minval=0.1, step=0.1)
use_trailing_stop = input.bool(false, title="Use Trailing Stop")
trailing_stop_atr_multiplier = input.float(2.5, title="Trailing Stop ATR Multiplier", minval=1.0)

// Calculating indicators
short_ma = ta.sma(close, short_ma_length)
long_ma = ta.sma(close, long_ma_length)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
atr = ta.atr(14)
volume_ma = ta.sma(volume, volume_ma_length)
volatility = atr / close

// Plotting indicators
plot(short_ma, color=color.red)
plot(long_ma, color=color.blue)

// Defining entry conditions with added indicators and filters
long_condition = ta.crossover(short_ma, long_ma) and (macdLine > signalLine) and (volume > volume_ma) and (volatility < volatility_threshold)
short_condition = ta.crossunder(short_ma, long_ma) and (macdLine < signalLine) and (volume > volume_ma) and (volatility < volatility_threshold)

// Entering trades with dynamic stop loss and take profit based on ATR
if (long_condition)
    strategy.entry("Long", strategy.long)
    if use_trailing_stop
        strategy.exit("Exit Long", "Long", trail_points=atr * trailing_stop_atr_multiplier, trail_offset=atr * 0.5)
    else
        strategy.exit("Exit Long", "Long", loss=atr * atr_multiplier_for_sl, profit=atr * atr_multiplier_for_tp)

if (short_condition)
    strategy.entry("Short", strategy.short)
    if use_trailing_stop
        strategy.exit("Exit Short", "Short", trail_points=atr * trailing_stop_atr_multiplier, trail_offset=atr * 0.5)
    else
        strategy.exit("Exit Short", "Short", loss=atr * atr_multiplier_for_sl, profit=atr * atr_multiplier_for_tp)

Связанные

Больше