자동화된 지원/저항 전략


생성 날짜: 2023-12-06 16:51:30 마지막으로 수정됨: 2023-12-06 16:51:30
복사: 0 클릭수: 624
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

자동화된 지원/저항 전략

개요

자동 지원/저항 전략은 트렌드 추적 전략이다. 그것은 일정 주기 내의 최고 가격과 최저 가격을 계산하여 중요한 지원 및 저항 지점을 결정한다. 가격이 이러한 중요한 지점을 돌파 할 때 구매 또는 판매 작업을 수행한다.

전략 원칙

이 전략은 먼저 왼쪽과 오른쪽의 특정 주기의 최고 가격과 최저 가격을 계산하여 주요 지원 및 저항 지점을 결정합니다. 그리고는 더 짧은 기간 동안 최고 가격과 최저 가격을 계산하여 빠른 지원 및 저항 지점을 결정합니다. 가격이 빠른 지원 지점을 돌파 할 때 구매 작업을 수행합니다. 가격이 빠른 저항 지점을 돌파 할 때 판매 작업을 수행합니다.

전략의 핵심 논리는, 좌측과 좌측의 가격이 지지 또는 저항을 형성한 후, 가격이 이 지점을 돌파하면, 새로운 트렌드를 시작할 가능성이 높다는 것입니다. 이 전략은 동시에 다른 주기적 판단 트렌드를 결합하여 단기 동력의 영향을 받지 않도록 판단합니다.

우위 분석

이 전략의 가장 큰 장점은 중요한 지지와 저항의 위치를 자동으로 결정할 수 있다는 것입니다. 수동으로 지지와 저항의 위치를 판단할 필요가 없습니다. 다른 주기적 판단 경향과 결합하여 가짜 돌파구를 효과적으로 필터링하여 거래가 잡히지 않도록 할 수 있습니다.

또한, 전략적 구매 조건과 판매 조건은 간단하고 명확하며, 가격이 급속한 지원 또는 저항 지점을 돌파하는 것 만으로 가능합니다. 실행하기 쉽고, 최적화 매개 변수를 재검토하기 쉽습니다.

위험 분석

이 전략의 가장 큰 위험은 자동으로 계산된 지지점과 저항점이 반드시 신뢰할 수 없다는 점이며, 가격이 이러한 지점을 직접 뚫고 새로운 추세를 형성할 수 있다는 점입니다. 이 경우 손실이 발생할 수 있습니다.

또한, 급속한 지지점과 저항점의 시기가 너무 짧으면, 가짜 브레이크 신호가 너무 많이 발생하여 실제 거래의 손실이 커질 수 있다.

위험을 줄이기 위해, 다른 지표와 함께 필터링을 고려할 수 있습니다. 예를 들어, 거래량, 이동 평균과 같은 지표의 방향 판단. 또는 수동으로 계산 된 지원 및 저항 지점의 합리성을 검사 할 수 있습니다.

최적화 방향

이 전략은 크게 두 가지 측면에서 최적화될 수 있습니다.

  1. 입력된 주기 변수를 최적화하여 최적의 변수 조합을 찾습니다. 다른 좌우 주기 조합을 시도하여 가장 성공적인 변수를 찾습니다.

  2. 기량 에너지 지표, 이동 평균 등과 같은 지표 필터 조건을 추가하여 가짜 돌파구를 피한다. 또한 인공적으로 판단하는 중요한 위치 방식을 결합하여 전략 효과를 향상시킬 수 있다.

요약하다

이 전략은 전체적으로 더 나은 자동 판단의 지지부서와 저항부위의 전략 프레임워크이다. 자동 판단이 지지부서와 저항부위를 지지하기 때문에, 실행의 난이도가 높지 않으며, 트렌드를 잡기 위한 방향에 적합하다. 동시에 변수 최적화와 조건 필터링과 결합하여 전략 수익을 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lukaRT

//@version=5
strategy("Auto S/R Strategy", shorttitle="Auto S/R", overlay=true)

// Ваши входные параметры
leftBars = input.int(50, title="Left Bars")
rightBars = input.int(25, title="Right Bars")
quickRightBars = input.int(5, title="Quick Right Bars")
src = input(close, title="Source")

pivotHigh = ta.pivothigh(src, leftBars, rightBars)
pivotLow = ta.pivotlow(src, leftBars, rightBars)

quickPivotHigh = ta.pivothigh(src, leftBars, quickRightBars)
quickPivotLow = ta.pivotlow(src, leftBars, quickRightBars)

// Ваши уровни сопротивления и поддержки
resistanceLevel1 = ta.valuewhen(quickPivotHigh, high[quickRightBars], 0)
supportLevel1 = ta.valuewhen(quickPivotLow, low[quickRightBars], 0)

// Пересечение ценой уровней
longCondition = ta.crossover(close, supportLevel1)
shortCondition = ta.crossunder(close, resistanceLevel1)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Отображение линий сопротивления и поддержки на графике
plot(resistanceLevel1, color=color.red, title="Resistance Level 1")
plot(supportLevel1, color=color.green, title="Support Level 1")