슈퍼트렌드 BarUpDn 융합 전략

저자:차오장, 날짜: 2024-01-31 14:43:06
태그:

img

전반적인 설명

슈퍼트렌드 BarUpDn 퓨전 전략은 슈퍼트렌드 지표와 BarUpDn 지표를 융합하는 전략입니다. 슈퍼트렌드 또는 BarUpDn 지표가 긴 신호를 내면 전략은 길게 갈 것이고, 어느 지표가 짧은 신호를 내면 짧은 방향으로 갈 것입니다.

전략 원칙

이 전략은 주로 두 가지 지표를 이용합니다.

  1. 슈퍼트렌드 지표: 이 지표는 평균 진정한 범위와 요인을 기반으로 트렌드 방향을 결정합니다. 가격이 상승 트렌드 채널에있을 때 긴 신호를 주고 가격이 하락 트렌드 채널에있을 때 짧은 신호를 제공합니다.

  2. BarUpDn 지표: 이 지표는 현재 바가 상승 한 바 (열기보다 높은 닫기) 또는 하락 한 바 ( 닫기보다 높은 열기) 인지를 판단합니다. 상승 한 바에 대해 1과 하락 한 바에 대해 -1을 반환합니다.

전략의 주요 논리는 다음과 같습니다.

  1. 슈퍼트렌드가 롱하고 바업드인이 상승할 때 롱으로 가세요.

  2. 슈퍼트렌드가 쇼트하고 바어업드인이 하락할 때 쇼트한다.

  3. 슈퍼트렌드가 방향을 바꾸면 적시에 포지션을 닫습니다.

이 융합을 통해 전략은 슈퍼트렌드의 트렌드 판단 능력과 BarUpDn의 단기 판단 능력을 모두 활용하여 더 나은 진입 시기를 달성 할 수 있습니다.

이점 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 여러 지표를 융합하여 정확성을 향상시킵니다. 슈퍼트렌드의 트렌드 판단과 BarUpDn의 단기 판단을 모두 활용하면 엔트리 타이밍 정확성을 향상시킬 수 있습니다.

  2. 적시에 손실을 중지합니다. 주요 지표가 방향을 변경할 때 손실을 빠르게 줄이면 손실을 확대하는 것을 피할 수 있습니다.

  3. 간단하고 사용하기 쉽습니다. 전략은 두 가지 공통 지표의 조합만을 사용하므로 매우 간단하고 사용하기 쉽습니다.

  4. 강한 적응력. 슈퍼트렌드 자체는 다양한 제품과 시간 틀에 적응할 수 있는 조정 가능한 매개 변수를 가지고 있습니다.

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 부적절한 융합에서 잘못된 판단은 잘못된 판단을 일으킬 수 있습니다. 지표가 불일치 신호를 줄 때 적시에 손실을 중지합니다.

  2. 부적절한 매개 변수 조정은 성능에 영향을 미칩니다. 슈퍼트렌드 ATR 길이와 인수는 다른 제품에 맞게 조정해야합니다.

  3. 단기적 반전은 작은 손실을 일으킬 수 있습니다. 슈퍼 트렌드가 방향을 전환하기 전에 단기적 가격 반전 중에 작은 손실이 발생할 수 있습니다.

최적화 방향

전략은 다음 측면에서 최적화 될 수 있습니다:

  1. 추가로 위험을 제어하기 위해 이동 중지 손실, 시간 중지 손실, 브레이크오웃 중지 손실 등과 같은 중지 손실 전략을 추가하십시오.

  2. 슈퍼트렌드의 매개 변수를 최적화하여 다른 제품과 시간 프레임에 대한 최적의 매개 변수 조합을 찾습니다. 예를 들어 기계 학습을 통해.

  3. 투표 메커니즘을 구축하고 판단 안정성을 향상시키기 위해 더 많은 지표 융합을 추가합니다.

  4. 부피 변화, 스프레드 변화 등과 같은 더 많은 시장 요인을 포함하여 신호 신뢰성을 판단하고 잘못된 신호를 필터합니다.

요약

슈퍼트렌드 BarUpDn 융합 전략은 간단한 지표를 결합하여 트렌드 판단과 단기 판단을 결합하여 진입 시점 정확성을 향상시키고 단순성과 사용 편의성을 유지합니다. 전략은 매개 변수 최적화, 스톱 손실 최적화, 지표 투표 등을 통해 더욱 향상 될 수 있습니다.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend and BarUpDn Indicator Fusion", overlay=true)

// Supertrend indicator
atrLength = input(10, title="ATR Length")
factor = input(3.0, title="Factor")
[supertrend, direction] = ta.supertrend(factor, atrLength)
lastBar = 0

// BarUpDn indicator
barUpDn = close > open and open > close[1] ? 1 : close < open and open < close[1] ? -1 : 0

if (barUpDn == 1)
    lastBar := 1
else if barUpDn == -1
    lastBar := -1


// Determine long or short position
longCondition = (direction > 0 and barUpDn > 0) or (direction > 0 and lastBar == 1)
shortCondition = (direction < 0 and barUpDn < 0) or (direction < 0 and lastBar == -1)

// Enter long or short position
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastBar := 1
else if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastBar := -1

if (direction < 0 and barUpDn > 0)
    strategy.entry("Long", strategy.long)

// Exit long or short position
if (direction > 0 and barUpDn < 0)
    strategy.entry("Short", strategy.short)

// Exit long or short position
// if (direction < 0 and barUpDn > 0 or direction > 0 and barUpDn < 0)
//   strategy.close_all()


더 많은