- Площадь
- Многопоказательная тенденция в соответствии со стратегией
Многопоказательная тенденция в соответствии со стратегией
Автор:
Чао Чжан, Дата: 2024-04-28 14:25:12
Тэги:
MACDМ.А.РСИATR
Обзор
Стратегия под названием Jancok Strategycs v3 представляет собой многопоказательную стратегию тренда, основанную на скользящих средних (MA), скользящих средних конвергентных дивергенциях (MACD), индексе относительной силы (RSI) и среднем истинном диапазоне (ATR).
Принцип стратегии
Стратегия использует следующие четыре показателя для определения рыночных тенденций:
- Движущиеся средние (ДВ): рассчитывают краткосрочные (9-периодные) и долгосрочные (21-периодные) скользящие средние.
- Дивергенция конвергенции скользящей средней (MACD): рассчитывается линия MACD и линия сигнала. Когда линия MACD пересекает линию сигнала, это указывает на восходящий тренд; когда линия MACD пересекает ниже линии сигнала, это указывает на нисходящий тренд.
- Индекс относительной силы (RSI): рассчитывается 14-периодный RSI. Когда RSI выше 70, это говорит о том, что рынок может быть перекуплен; когда RSI ниже 30, это говорит о том, что рынок может быть перепродан.
- Средний реальный диапазон (ATR): рассчитывается 14-периодный ATR для измерения волатильности рынка и установления точек остановки потерь и получения прибыли.
Торговая логика стратегии выглядит следующим образом:
- Когда краткосрочный MA пересекает длинный MA, линия MACD пересекает линию сигнала, объем торгов больше скользящей средней, а волатильность ниже порога, ввести длинную позицию.
- Когда краткосрочный MA пересекается ниже долгосрочного MA, линия MACD пересекается ниже линии сигнала, объем торгов больше скользящей средней, а волатильность ниже порога, вводят короткую позицию.
- Стоп-лосс и точки получения прибыли динамически устанавливаются на основе ATR, причем точка получения прибыли равна 2 раз ATR и точка получения прибыли равна 4 раз ATR.
- Можно использовать дополнительную остановку на основе ATR, с точкой остановки на 2,5 раза выше ATR.
Преимущества стратегии
- Комбинация нескольких индикаторов для определения тенденции, повышающая точность определения тенденции.
- Динамическая стоп-лосс и take-profit, адаптивная корректировка на основе волатильности рынка, лучшее управление рисками и оптимизация доходности.
- Введение фильтров объема и волатильности для предотвращения торговли в периоды низкой ликвидности и высокой волатильности, что уменьшает ложные сигналы.
- Необязательное остановка, чтобы сохранить больше прибыли, когда тенденции сохраняются.
Стратегические риски
- Во время консолидации рынка или сдвига тренда могут возникать ложные сигналы, приводящие к убыткам.
- Настройки параметров оказывают значительное влияние на эффективность стратегии и должны быть оптимизированы для различных рынков и активов.
- Чрезмерная оптимизация параметров может привести к чрезмерной настройке и плохой производительности в фактической торговле.
- Стратегия может привести к значительным потерям при аномальных колебаниях рынка или черных лебедях.
Направления оптимизации стратегии
- Для дальнейшего улучшения точности определения тренда необходимо ввести больше индикаторов, таких как полосы Боллинджера, стохастический осциллятор и т.д.
- Оптимизируйте выбор параметров с использованием методов, таких как генетические алгоритмы или поиск в сетке, чтобы найти оптимальную комбинацию параметров.
- Установление различных параметров и правил для различных рынков и активов для повышения адаптивности стратегии.
- Включить размещение позиций, динамическое регулирование размеров позиций на основе силы тренда и риска счета.
- Установление максимального лимита привлечения, приостановление торговли или уменьшение размера позиции, когда счет достигает максимального использования, для контроля риска.
Резюме
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)
Связанные
Больше