
Эта стратегия позволяет автоматически идентифицировать тенденции, обнаруживать возможности для обратного пути и эффективно отслеживать сделки на рынке золота, используя в сочетании различные технические показатели и методы торговли. Стратегия применяется для нескольких временных рамок и может иметь отличный эффект как на короткой, так и на средней длинной линии в течение дня.
Стратегия основывается на различных технических показателях, таких как пересечение равной линии, бринговые полосы, поддерживающие устойчивые уровни и ценовые формы, для определения торговых сигналов. При определении большого тренда, стратегия использует комбинацию с использованием быстрых движущихся средних, медленных движущихся средних, RSI и MACD показателей для подтверждения различных точек зрения, чтобы точно улавливать обратный тренд.
Весь процесс стратегии можно разделить на следующие основные шаги:
Определение тенденций: расчет быстрых МА, медленных МА, когда быстрые МА пересекают медленные МА как позитивные, когда они пересекаются как нисходящие. При этом подтверждается в сочетании с RSI и MACD.
Поиск конкретных точек входаВступление: в основном с помощью наблюдения за поясами бурин, прорывами ключевых поддерживающих сопротивлений и сигналами о ценовой форме.
Настройка стоп-стоп: расчет величины стоп-лосса с помощью показателя ATR, установка разумного стоп-позиции.
Фильтрация прорыва: некоторые показатели могут быть ошибочными, фильтруйте их, используя комбинацию из нескольких.
Эта стратегия имеет следующие преимущества:
Рассмотрение с разных сторон: Использование комбинации различных индикаторов позволяет оценивать рынок с большего количества измерений, избегая вероятности ошибочного оценивания одного индикатора.
ПрименимостьНапример, если вы хотите, чтобы ваши клиенты использовали вашу стратегию, вы можете использовать ее в течение дня или в течение длительного времени.
Гибкость и изменчивостьСтратегия включает в себя разнообразные методы торговли, которые могут быть адаптированы к различным этапам рынка.
Риски под контролемМаксимальное отступление от стратегии контроля в целом.
Основные риски этой стратегии:
Вероятность ошибочного определенияНесмотря на снижение вероятности ошибочных выводов с помощью комбинации различных индикаторов, в экстремальных ситуациях существует риск ошибочных выводов. Это риск, которого трудно полностью избежать при торговле техническими показателями.
Обратная неопределенностьКлючевые моменты в реверсии могут быть недостаточными для того, чтобы стать настоящим поворотным моментом в тренде и не предсказывать будущую тенденцию. Для этого необходимо контролировать риск с помощью стоп-лосса.
Риск ложного проникновенияПрорывные события, которые проявляются внезапно, могут быть кратковременными ложными прорывами. Это нужно судить, наблюдая за более крупными временными рамками и ценовыми формами.
Трудности оптимизации параметров: Стратегия включает в себя несколько параметров, различные параметры имеют важное влияние на результаты, но трудно найти оптимальные параметры. Это необходимо смягчить, уравновесив несколько показателей и сохранив стабильность параметров.
Эта стратегия может быть оптимизирована в следующих направлениях:
Интеграция моделейВнедрение моделей, таких как машинное обучение, для оценки рыночной вероятности и весомости индикаторных сигналов
Самостоятельная оптимизация параметров: оптимизировать параметры путем внедрения некоторых динамических показателей или механизмов самостоятельной адаптации в зависимости от изменения цены.
Торговля, обусловленная событиямиВведение в рынок золота факторов, основанных на событиях, новостях и т. д., как источника торговых сигналов.
Модельный портфель хеджированияПостроение портфеля с длинными и короткими позициями, взаимная защита между различными моделями позволяет снизить системный рыночный риск.
В целом, стратегия отслеживания реверса золота использует несколько методов торговли, контролирует риск при обнаружении реверса тенденции и является эффективной стратегией, подходящей для высокочастотных торгов. С помощью дальнейшего расширения источников сигналов, внедрения механизмов адаптации и модели управления рисками, стратегия также имеет большой простор для оптимизации, которая может обеспечить более длительную и стабильную прибыль.
/*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)