Экстремальная краткосрочная стратегия скальпинга

Автор:Чао Чжан, Дата: 2024-01-17 12:06:39
Тэги:

img

Обзор

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

Логика стратегии

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

Ключевые параметры включают:

  • Источниковая цена: цена закрытия
  • Длина линии линейной регрессии: 14
  • Компенсация: 1
  • Направление торговли: все/только покупка/только продажа
  • Стоп-лосс и прибыль в пипах: очень малые фиксированные пипы или минимальные тиковые пипы

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

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

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

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

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

Существуют также некоторые риски:

  1. Разрывы в ценах могут привести к увеличению потерь
  2. Высокие затраты на транзакции
  3. Сигнальные ошибки могут возникать и требуют своевременного внимания и оптимизации
  4. Требует постоянного мониторинга рынка

К соответствующим мерам управления рисками относятся:

  1. Отключить торговлю на ночь
  2. Оптимизировать стоп-лосс и получение прибыли для снижения воздействия затрат на транзакции
  3. Испытание и оптимизация параметров для уменьшения погрешности сигналов
  4. Будьте внимательны к рынку

Руководство по оптимизации

Дальнейшие направления оптимизации включают:

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

Резюме

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


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Extreme Scalping", overlay=true )
src = input(close,title="Source")
len = input(defval=14, minval=1, title="Length")
offset = input(1)
out = linreg(src, len, offset)
plot(out)

gap_tick=input(100)
fixedTP=input(300)
fixedSL=input(100)
useFixedSLTP=input(true)
direction=input(defval="ALL",title="Direction of order",options=["ALL","BUY ONLY","SELL ONLY"])
gap=gap_tick*syminfo.mintick
plot(out+gap,color=color.red)
plot(out-gap,color=color.green)

tp=useFixedSLTP?fixedTP:gap_tick
sl=useFixedSLTP?fixedSL:gap_tick

longCondition = close<(out-gap) and (direction=="ALL" or direction=="BUY ONLY")
shortCondition = close>(out+gap) and (direction=="ALL" or direction=="SELL ONLY")

if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("exit long","Long",profit = tp,loss = sl)
    

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("exit short","Short",profit =tp,loss=sl)
    
// === Backtesting Dates === thanks to Trost

// testPeriodSwitch = input(true, "Custom Backtesting Dates")
// testStartYear = input(2019, "Backtest Start Year")
// testStartMonth = input(10, "Backtest Start Month")
// testStartDay = input(3, "Backtest Start Day")
// testStartHour = input(0, "Backtest Start Hour")
// testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,testStartHour,0)
// testStopYear = input(2019, "Backtest Stop Year")
// testStopMonth = input(12, "Backtest Stop Month")
// testStopDay = input(31, "Backtest Stop Day")
// testStopHour = input(23, "Backtest Stop Hour")
// testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,testStopHour,0)
// testPeriod() =>
//     time >= testPeriodStart and time <= testPeriodStop ? true : false
// isPeriod = testPeriodSwitch == true ? testPeriod() : true
// // === /END

// if not isPeriod
//     strategy.cancel_all()
//     strategy.close_all()
        

Больше