Автоматическое прогнозирование высоких и низких точек и торговая стратегия


Дата создания: 2024-03-15 17:22:36 Последнее изменение: 2024-03-15 17:22:36
Копировать: 0 Количество просмотров: 345
1
Подписаться
1166
Подписчики

Автоматическое прогнозирование высоких и низких точек и торговая стратегия

Обзор

Стратегия использует относительно сильный индикатор ((RSI) для определения состояния перекупа и перепродажи, в сочетании с прорывом в высокие и низкие точки 9:15 для определения возможности входа.

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

  1. Определить 9:00 и 9:15 как промежуток между высокими и низкими точками.
  2. Самые высокие и самые низкие цены, зарегистрированные в 9:15, были sessionHigh и sessionLow.
  3. Рассчитывается соответственно многоголовая целевая цена ((sessionHigh+200), пустая целевая цена ((sessionLow-200) и соответствующая стоп-страх.
  4. Получить текущую цену закрытия и RSI.
  5. Условия для открытия позиции: цена закрытия превысила сессионную высоту, а RSI превысил уровень перекупа.
  6. Условия для открытия позиции с пустой позицией: цена закрытия упала ниже сессионного уровня, а RSI меньше уровня перепродажи.
  7. Картографирует соответствующие цены и автоматически открывает плюсовые или пустые позиции в зависимости от условий открытия позиции.

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

  1. Простота: стратегия основана на четких высоких и низких точек 9:15 и RSI, логика ясна, легко понятна и реализуема.
  2. Высокая степень автоматизации: стратегия встроена в расчет целевой цены и цены стоп-лосса, а также в определение условий открытия позиции, что позволяет автоматизировать выполнение сделки.
  3. Своевременный стоп-лосс: в соответствии с высокой и низкой точкой 9:15 цена стоп-лосса установлена, и, как только открывается позиция, есть четкий стоп-лосс, что позволяет эффективно контролировать риск.
  4. Следить за трендом: используйте RSI, чтобы оценить перекуп и перепродажу, и вмешивайтесь в начале тренда, чтобы помочь движению.

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

  1. Риск оптимизации параметров: параметры стратегии, такие как длина RSI и перекуп и перепродажа, должны быть оптимизированы в соответствии с рыночными характеристиками, и разные параметры могут привести к разным результатам.
  2. Риск одного индикатора: стратегия в основном зависит от показателя RSI, в некоторых рыночных условиях может возникнуть ситуация, когда показатель не сработает.
  3. Риск колебаний в диапазоне: колебания цены после 9:15 могут спровоцировать остановку и потерять тренд.
  4. Недостаток управления позициями: отсутствие контроля над позициями и управления капиталом, слишком частое открытие позиций может привести к дополнительному риску.

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

  1. Динамический стоп: динамическая корректировка стоп-позиции в зависимости от величины колебаний цены или ATR, чтобы отслеживать изменения цены.
  2. В сочетании с другими показателями: введение других показателей, таких как MACD, система средней линейки, чтобы создать подтверждение для определения тенденции и повысить точность открытия позиции.
  3. Оптимизация входных условий: адаптивная корректировка RSI на перекуп и перепродажу, чтобы избежать ограничений, вызванных фиксированной переоценкой.
  4. Внедрение управления позициями: контроль позиций в зависимости от рыночных колебаний, например, использование методов, таких как процентная модель риска.

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

Стратегия основана на высоких и низких точках 9:15, использует индикатор RSI для определения тенденции, автоматически вычисляет целевую цену и стоп-лосс, и автоматически открывает многоголовую или пустую позицию в соответствии с условиями открытия позиции. Логика стратегии проста, высокая степень автоматизации позволяет быстро улавливать тенденцию.

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

//@version=5
strategy("9:15 AM High/Low with Automatic Forecasting", overlay=true)

// Parameters
showSignals = input(true, title="Show Signals")

// Define session time
sessionStartHour = input(9, title="Session Start Hour")
sessionStartMinute = input(0, title="Session Start Minute")
sessionEndHour = input(9, title="Session End Hour")
sessionEndMinute = input(15, title="Session End Minute")

// Calculate session high and low
var float sessionHigh = na
var float sessionLow = na
if (hour == sessionStartHour and minute == sessionStartMinute)
    sessionHigh := high
    sessionLow := low

// Update session high and low if within session time
if (hour == sessionStartHour and minute >= sessionStartMinute and minute < sessionEndMinute)
    sessionHigh := high > sessionHigh or na(sessionHigh) ? high : sessionHigh
    sessionLow := low < sessionLow or na(sessionLow) ? low : sessionLow

// Plot horizontal lines for session high and low
plot(sessionHigh, color=color.green, title="9:00 AM High", style=plot.style_stepline, linewidth=1)
plot(sessionLow, color=color.red, title="9:00 AM Low", style=plot.style_stepline, linewidth=1)

// Calculate targets and stop loss
longTarget = sessionHigh + 200
longStopLoss = sessionLow
shortTarget = sessionLow - 200
shortStopLoss = sessionHigh

// Plot targets and stop loss
plot(longTarget, color=color.blue, title="Long Target", style=plot.style_cross, linewidth=1)
plot(longStopLoss, color=color.red, title="Long Stop Loss", style=plot.style_cross, linewidth=1)
plot(shortTarget, color=color.blue, title="Short Target", style=plot.style_cross, linewidth=1)
plot(shortStopLoss, color=color.red, title="Short Stop Loss", style=plot.style_cross, linewidth=1)

// RSI
rsiLength = input(14, title="RSI Length")
overboughtLevel = input(60, title="Overbought Level")
oversoldLevel = input(40, title="Oversold Level")
rsi = ta.rsi(close, rsiLength)

// Entry conditions
longCondition = close > sessionHigh and rsi > overboughtLevel
shortCondition = close < sessionLow and rsi < oversoldLevel

// Long entry
if (showSignals and longCondition)
    strategy.entry("Long", strategy.long)

// Short entry
if (showSignals and shortCondition)
    strategy.entry("Short", strategy.short)