Параболическая стратегия смены импульса SAR

Автор:Чао Чжан, Дата: 2023-12-22 14:45:12
Тэги:

img

Обзор

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

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

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

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

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

Преимущества

  1. Параболический SAR - это передовой и точный технический индикатор для определения точек тренда и переворота, улучшающий точность суждения.
  2. Использование методов отслеживания импульса и смены стоп-лосса позволяет в полной мере использовать возможности тренда.
  3. Строгие правила стоп-лосса означают хорошую способность контролировать риск.
  4. Оптимизированные параметры делают эту стратегию особенно подходящей для GBP/JPY с сильным трендом.

Риски

  1. Как и любая стратегия с одним индикатором, эта стратегия может страдать от неправильного оценки параболического SAR на тренд и обратные действия.
  2. Стратегия полностью зависит от Parabolic SAR для входов и выходов. Неправильные настройки параметров и свободные точки остановки потери могут не контролировать риски эффективно.
  3. Любая отдельная стратегия может постепенно ухудшаться из-за изменения структуры рынка и окружающей среды.

Методы повышения надежности включают: оптимизацию точек остановки потери, чтобы сделать их достаточно строгими; объединение других показателей для подтверждения; корректировка параметров для адаптации к изменяющейся среде; выбор оптимальных наборов параметров для разных продуктов и т. Д.

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

  1. Испытать и оптимизировать комбинации параметров Parabolic SAR для улучшения производительности.
  2. Объедините другие индикаторы, такие как MACD, KD, чтобы сформировать многоиндикаторную систему подтверждения, улучшая надежность сигнала.
  3. Эффекты испытаний различных методов остановки потерь, таких как остановка траектории потерь, остановка потерь времени, остановка потерь цены и т. д.
  4. Оптимизировать параметры, основанные на различных характеристиках продукта, чтобы стратегия могла достичь хорошей отдачи по всем продуктам.

Заключение

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


/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)

fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2000, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true

var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)
	if barstate.isconfirmed and time_cond
		if uptrend
			strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
			strategy.cancel("ParLE")
		else
			strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
			strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Больше