동적 PSAR 주식 변동성 추적 전략


생성 날짜: 2024-02-05 10:40:12 마지막으로 수정됨: 2024-02-05 10:40:12
복사: 0 클릭수: 654
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

동적 PSAR 주식 변동성 추적 전략

개요

이 전략은 Parabolic SAR 지표에 기반하여 간단한 효율적인 주식 변동 추적 및 자동 중지 손실 전략을 구현합니다. 그것은 동적으로 주식 가격의 하락 추세를 추적하고 하락 반전 지점에서 자동으로 중지 손실을 설정하여 인적 개입없이 자동 거래를 수행 할 수 있습니다.

전략 원칙

이 전략은 Parabolic SAR 지표를 사용하여 주식 가격 변동의 트렌드 방향을 판단한다. PSAR 지표가 K선 아래에 있을 때, 상승 추세를 나타내고, PSAR 지표가 K선 위에 있을 때, 하락 추세를 나타낸다. 전략은 PSAR 값의 변화를 실시간으로 추적하여 트렌드 변화를 판단한다.

확인된 상승 트렌드 시, 전략은 다음 BAR의 PSAR 지점에 스톱포트를 설정합니다. 확인된 하향 트렌드 시, 전략은 다음 BAR의 PSAR 지점에 스톱포트를 설정합니다. 이렇게 하면 주식 가격이 역전될 때 자동으로 스톱포트 스톱포트의 기능을 구현합니다.

또한, 전략은 시작값, 단계값, 최대값과 같은 파라미터를 내장하여, PSAR 지표의 민감도를 조정할 수 있으며, 이로써 스톱톱 손실의 효과를 최적화할 수 있다.

전략적 강점 분석

이 전략의 가장 큰 장점은 주식 변동 추적 및 자동 스톱 손실의 완전한 자동화를 구현한다는 것입니다. 시장의 움직임을 인력으로 판단 할 필요가 없으므로 수익을 창출 할 수 있으며 수동 거래의 시간과 에너지 비용을 크게 줄일 수 있습니다.

기존의 상쇄 전략에 비해, 이 전략의 상쇄 상쇄점은 부동의 변화이며, 가격 변화로 인한 기회를 더 빨리 포착할 수 있으며, 또한 잘못된 판단의 가능성을 줄여 수익을 올릴 수 있다.

변수 최적화 후, 이 전략은 큰 추세에서 지속적으로 수익을 올릴 수 있으며, 반전이 오면 자동으로 Protect 자본금을 중단할 수 있다.

위험 분석

이 전략의 가장 큰 위험은 PSAR 지표가 잘못된 경향 방향을 판단할 확률에 있다. 주식 가격에 단기 조정 흔들림이 있을 때, PSAR 지표가 잘못된 신호가 발생할 수 있다. 이 때 PSAR의 매개 변수를 합리적으로 최적화하여 판단 정확도를 높이는 것이 필요하다.

또 다른 위험 지점은 스톱 스톱 손실 지점이 현재 가격에 너무 가깝다는 것입니다. 이것은 스톱 스톱 손실 지점이 뚫리는 확률을 증가시킬 수 있으며, 본금에 더 큰 충격을 줄 수 있습니다. 이 시점에 적절한 스톱 스톱 손실 범위를 완화시켜 충분한 보전 공간이 보장되어야합니다.

전략 최적화 방향

이 전략의 최적화 범위는 주로 PSAR 지표 자체의 파라미터 조정에 집중한다. 다양한 주식을 테스트하고 시작값, 단계값 및 최대값 설정을 최적화함으로써, PSAR 지표가 가격 변동에 더 민감하게 만들 수 있으며, 또한 판단 정확성을 보장 할 수 있다. 이것은 많은 피드백과 분석 작업이 필요합니다.

또 다른 최적화 방향은 스톱 스톱 손실의 범위를 설정하는 것입니다. 이것은 서로 다른 주식의 일일 변동 범위를 연구하고, 그 기초에 합리적인 수익 손실 비율 요구 사항을 설정하는 것을 필요로합니다. 이것은 자본 손실의 가능성을 더욱 줄일 수 있습니다.

요약하다

이 전략은 Parabolic SAR 지표를 활용하여 주식을 추적하고 자동으로 중지하는 자동화 거래 전략을 구현합니다. 그것의 가장 큰 장점은 인적 개입이 필요하지 않고 시간과 에너지 비용을 줄일 수 있다는 것입니다. 위험은 주로 지표 판단 오류에서 비롯되며, 파라미터 최적화를 통해 줄일 수 있습니다.

전략 소스 코드
/*backtest
start: 2024-01-28 00:00:00
end: 2024-02-04 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Swing Parabolic SAR Strategy", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
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
		if uptrend
			strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
			strategy.cancel("long")
		else
			strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
			strategy.cancel("short")
			
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)