Стратегия следования за золотым разворотом на нескольких таймфреймах


Дата создания: 2024-01-31 15:01:39 Последнее изменение: 2024-01-31 15:01:39
Копировать: 0 Количество просмотров: 592
1
Подписаться
1617
Подписчики

Стратегия следования за золотым разворотом на нескольких таймфреймах

Обзор

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

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

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

Весь процесс стратегии можно разделить на следующие основные шаги:

  1. Определение тенденций: расчет быстрых МА, медленных МА, когда быстрые МА пересекают медленные МА как позитивные, когда они пересекаются как нисходящие. При этом подтверждается в сочетании с RSI и MACD.

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

  3. Настройка стоп-стоп: расчет величины стоп-лосса с помощью показателя ATR, установка разумного стоп-позиции.

  4. Фильтрация прорыва: некоторые показатели могут быть ошибочными, фильтруйте их, используя комбинацию из нескольких.

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

Эта стратегия имеет следующие преимущества:

  1. Рассмотрение с разных сторон: Использование комбинации различных индикаторов позволяет оценивать рынок с большего количества измерений, избегая вероятности ошибочного оценивания одного индикатора.

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

  3. Гибкость и изменчивостьСтратегия включает в себя разнообразные методы торговли, которые могут быть адаптированы к различным этапам рынка.

  4. Риски под контролемМаксимальное отступление от стратегии контроля в целом.

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

Основные риски этой стратегии:

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

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

  3. Риск ложного проникновенияПрорывные события, которые проявляются внезапно, могут быть кратковременными ложными прорывами. Это нужно судить, наблюдая за более крупными временными рамками и ценовыми формами.

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

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

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

  1. Интеграция моделейВнедрение моделей, таких как машинное обучение, для оценки рыночной вероятности и весомости индикаторных сигналов

  2. Самостоятельная оптимизация параметров: оптимизировать параметры путем внедрения некоторых динамических показателей или механизмов самостоятельной адаптации в зависимости от изменения цены.

  3. Торговля, обусловленная событиямиВведение в рынок золота факторов, основанных на событиях, новостях и т. д., как источника торговых сигналов.

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

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

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

Исходный код стратегии
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PratikMoney_Gold_Swing_v2.0", overlay=true)

// Trend Following
fastMA = ta.sma(close, 50)
slowMA = ta.sma(close, 200)
rsiValue = ta.rsi(close, 14)
[macdLine, signalLine, _] = ta.macd(close, 12, 26, 9)
macdDivergence = macdLine - signalLine
trendUp = ta.crossover(fastMA, slowMA) and rsiValue > 50 and macdLine > 0 and macdDivergence > 0
trendDown = ta.crossunder(fastMA, slowMA) and rsiValue < 50 and macdLine < 0 and macdDivergence < 0

// Breakout Trading
resistanceLevel = input(1500, title="Resistance Level")
supportLevel = input(1400, title="Support Level")

breakoutUp = close > resistanceLevel and close[1] <= resistanceLevel
breakoutDown = close < supportLevel and close[1] >= supportLevel

// Moving Average Crossovers
shortTermMA = ta.sma(close, 9)
longTermMA = ta.sma(close, 21)

maCrossUp = ta.crossover(shortTermMA, longTermMA)
maCrossDown = ta.crossunder(shortTermMA, longTermMA)

// Bollinger Bands
bbUpper = ta.sma(close, 20) + 2 * ta.stdev(close, 20)
bbLower = ta.sma(close, 20) - 2 * ta.stdev(close, 20)

bbBreakoutUp = close > bbUpper and close[1] <= bbUpper
bbBreakoutDown = close < bbLower and close[1] >= bbLower

// Support and Resistance
bounceFromSupport = close < supportLevel and close[1] >= supportLevel
reversalFromResistance = close > resistanceLevel and close[1] <= resistanceLevel

// Fibonacci Retracement
fibonacciLevel = input(0.618, title="Fibonacci Level")

fibRetraceUp = ta.lowest(low, 50) >= ta.highest(high, 50) * (1 - fibonacciLevel)
fibRetraceDown = ta.highest(high, 50) <= ta.lowest(low, 50) * (1 + fibonacciLevel)

// Price Action Trading
pinBar = close < open and low < close[1] and close > open[1]
engulfing = close < open and close[1] > open and close[2] > open[1] and close > open[2]

priceActionLong = pinBar or engulfing and close > open
priceActionShort = pinBar or engulfing and close < open

// Scalping
scalpLong = ta.change(close) > 0.1
scalpShort = ta.change(close) < -0.1

// Volatility Breakout
atrLevel = input(1.5, title="ATR Multiplier")

volatilityBreakoutUp = close > ta.sma(close, 20) + atrLevel * ta.atr(20)
volatilityBreakoutDown = close < ta.sma(close, 20) - atrLevel * ta.atr(20)

// Strategy Execution
strategy.entry("TrendLong", strategy.long, when=trendUp)
strategy.entry("TrendShort", strategy.short, when=trendDown)

strategy.entry("BreakoutLong", strategy.long, when=breakoutUp)
strategy.entry("BreakoutShort", strategy.short, when=breakoutDown)

strategy.entry("VolatilityLong", strategy.long, when=volatilityBreakoutUp)
strategy.entry("VolatilityShort", strategy.short, when=volatilityBreakoutDown)

strategy.entry("PriceActionLong", strategy.long, when=priceActionLong)
strategy.entry("PriceActionShort", strategy.short, when=priceActionShort)

strategy.entry("ScalpLong", strategy.long, when=scalpLong)
strategy.entry("ScalpShort", strategy.short, when=scalpShort)

// Plotting
plot(supportLevel, color=color.green, title="Support Level")
plot(resistanceLevel, color=color.red, title="Resistance Level")

plot(bbUpper, color=color.blue, title="Upper Bollinger Band")
plot(bbLower, color=color.blue, title="Lower Bollinger Band")

// Plotting Price Action Signals
plotshape(series=priceActionLong, title="Price Action Long", color=color.green, style=shape.triangleup, location=location.belowbar)
plotshape(series=priceActionShort, title="Price Action Short", color=color.red, style=shape.triangledown, location=location.abovebar)

// Plotting Scalping Signals
plotshape(series=scalpLong, title="Scalp Long", color=color.green, style=shape.triangleup, location=location.abovebar)
plotshape(series=scalpShort, title="Scalp Short", color=color.red, style=shape.triangledown, location=location.belowbar)