Экстремальная краткосрочная стратегия скальпинга пытается установить короткие позиции, когда цены приближаются или нарушают линии поддержки, и устанавливает очень небольшие уровни стоп-лосса и получения прибыли для высокочастотного трейдинга.
Стратегия сначала рассчитывает линейную регрессионную линию цен. Если фактическая цена закрытия ниже прогнозируемой цены закрытия, устанавливаются длинные позиции. Если фактическая цена закрытия выше прогнозируемой цены закрытия, устанавливаются короткие позиции. Стоп-лосс и прибыль устанавливаются на очень небольшое количество пунктов. Стратегия позволяет выбирать только длинную, только короткую или все направления торговли.
Ключевые параметры включают:
Основная идея стратегии заключается в том, чтобы захватить краткосрочные ценовые прорывы скользящих средних. Когда цены приближаются или прорываются через линии поддержки или сопротивления, своевременно устанавливают позиции. И устанавливают очень небольшие стоп-лосс и получают прибыль, чтобы реализовать прибыль, затем немедленно закрывают позиции, повторяя процесс.
Стратегия имеет следующие преимущества:
Существуют также некоторые риски:
К соответствующим мерам управления рисками относятся:
Дальнейшие направления оптимизации включают:
Экстремальная краткосрочная стратегия скальпинга - это типичная высокочастотная стратегия торговли. Создавая позиции вокруг ключевых уровней цен и устанавливая очень небольшие стоп-лосс и прибыль, она улавливает краткосрочные колебания цен. Хотя она может достигать высокой доходности, есть также определенные риски. С постоянным тестированием и оптимизацией стратегия может быть дополнительно улучшена для стабильности и прибыльности.
/*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()