볼링거 밴드 T3 이동 평균 전략

저자:차오장, 날짜: 2023-11-02 15:45:31
태그:

img

전반적인 설명

이 전략은 이동 평균의 트렌드 판단과 볼링거 밴드 과잉 구매/ 과잉 판매 판단을 완전히 활용합니다. T3 이동 평균의 평형화로 트렌드 역전을 적시에 파악하고 시장에 진출 할 수 있습니다. 오스실레이션 구역에서는 볼링거 밴드를 사용하여 트렌드 거래에 대한 과잉 구매/ 과잉 판매 지역을 식별합니다. 따라서 초단기 거래를 실현합니다.

전략 논리

이 전략은 주로 트렌드를 식별하고 거래 신호를 생성하기 위해 세 개의 이동 평균 그룹을 사용합니다. 첫째는 T3 이동 평균입니다. 이는 기하급수적인 매끄럽게 함으로써 가격 변동을 필터링하고 트렌드 방향을 판단 할 수 있습니다. 둘째는 중장기 이동 평균입니다. 여기서 중장기 트렌드를 결정하기 위해 20 기간 SMA를 사용합니다. 마지막으로 각각 50 기간 및 200 기간 T3 이동 평균입니다. 빠른 라인이 느린 라인보다 크면 상승 추세를 나타냅니다. 그렇지 않으면 하락 추세를 나타냅니다.

거래 신호는 중장기 SMA가 중장기 T3 상향을 넘어서 상승 추세와 결합하면 긴 거리를 넘을 때 생성됩니다. 중장기 SMA가 중장기 T3 하향 추세와 결합하여 하향 추세 아래를 넘을 때 짧은 거리를 넘을 때. 또한 볼링거 밴드는 수익을 취하고 손실을 중지하는 데 사용할 수 있습니다. 가격이 상위 대역을 넘으면 이익을 취하는 것을 고려하십시오. 가격이 하위 대역을 넘으면 손실을 중지하는 것을 고려하십시오.

특히, 긴 조건은 중간 SMA가 중간 T3를 상향으로 넘고, 빠른 MA는 느린 MA보다 크다. 가격이 상부 볼링거 밴드를 넘거나 중간 SMA가 T3 아래로 넘으면 수익을 취하는 것을 고려하십시오. 짧은 조건은 중간 SMA가 중간 T3 아래로 넘고, 빠른 MA는 느린 MA보다 작습니다. 가격이 낮은 볼링거 밴드를 넘거나 중간 SMA가 T3 위에 넘으면 스톱 로스를 고려하십시오.

장점

  • 다중 이동 평균의 장점을 완전히 활용하십시오. 평형 T3, 트렌드 중간 SMA, 장기 트렌드 빠른 및 느린 MAs
  • 볼링거 밴드 상부 및 하부 밴드는 과잉 구매/ 과잉 판매 수준을 판단하고 손실 위험을 줄입니다.
  • 엄격한 거래 신호 조합, 변동에 의해 오해 방지

위험성

  • 부적절한 T3 매개 변수는 평평하지 않거나 지연을 일으킬 수 있습니다.
  • 부적절한 볼링거 밴드 매개 변수는 유효하지 않은 밴드를 유발할 수 있습니다.
  • 잘못된 이동 평균 기간은 잘못된 트렌드 방향으로 이어집니다.
  • 이윤 취득 및 스톱 손실에 대한 부정확한 브레이크 포인트, 너무 일찍 또는 너무 늦게 종료 될 수 있습니다.

개선 사항:

  • 평형화 및 지연을 균형 T3 매개 변수를 조정
  • 일반 변동 범위를 커버하기 위해 볼링거 밴드 매개 변수를 조정
  • 다른 이동 평균 기간을 테스트하여 자산에 적합한 기간을 찾으십시오.
  • 백테스트 결과를 기반으로 수익을 취하고 손실을 멈추는 지점을 최적화합니다.

최적화 방향

  • ADX 같은 트렌드 강도 표시기를 추가하여 트렌드 전환점에 역전을 피합니다.
  • 시장 변동성에 기초한 매개 변수를 조정하기 위해 변동성 지표를 추가합니다.
  • 더 많은 수익이 실행되도록 후속 스톱 손실을 추가하십시오.
  • 브레이크업 전략을 고려하고, 브레이킹 밴드 후에 손실을 중지 후

요약

요약하자면, 이 전략은 트렌드를 결정하기 위해 체계적으로 움직이는 평균을 사용하고 볼링거 밴드를 사용하여 과반 구매/ 과반 판매 수준을 식별합니다. 트렌드 역전 시 시점에 시기에 시장에 진출 할 수 있으며 또한 위험을 효과적으로 제어 할 수 있습니다. 그러나 매개 변수 조정 및 최적화는 전략이 실제로 잘 수행되기 위해 중요합니다. 추세 강도, 변동성 및 후속 스톱 손실과 더 결합하면 전략을 더욱 견고하고 지능화 할 수 있습니다.


/*backtest
start: 2023-10-25 00:00:00
end: 2023-11-01 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle="BB T3 Strategy", title="BB T3 Strategy", overlay=true)

//T3
b = 0.7
c1 = -b*b*b
c2 = 3*b*b+3*b*b*b
c3 = -6*b*b-3*b-3*b*b*b
c4 = 1+3*b+b*b*b+3*b*b

t3(len) => c1 * ema(ema(ema(ema(ema(ema(close, len), len), len), len), len), len) + c2 * ema(ema(ema(ema(ema(close, len), len), len), len), len) + c3 * ema(ema(ema(ema(close, len), len), len), len) + c4 * ema(ema(ema(close, len), len), len)
//T3 end

length = input(20, minval=1)

mult = input(2.5, minval=0.001, maxval=50, title="StdDev")
basis = t3(length)
basisDev = t3(length/10)

dev = mult * stdev(basisDev,length)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#872323, offset = offset)
p1 = plot(upper, "Upper", color=color.teal, offset = offset)
p2 = plot(lower, "Lower", color=color.teal, offset = offset)
fill(p1, p2, title = "Background", color=#198787, transp=95)

stoploss = input(true, "Stop Loss")

basisSma = sma(close, length)
p3 = plot(basisSma, color=color.blue, title="MA", offset=offset)

fastT3 = t3(50)
slowT3 = t3(200)

crossUp = crossover(basisSma, basis)
crossDown = crossunder(basisSma, basis)
bollBounce = crossover(close, upper)
bollReject = crossunder(close, lower)
underBasis = crossunder(close, basis)
overBasis = crossover(close, basis)

trendUp = fastT3 > slowT3
trendDown = fastT3 < slowT3

strategy.entry("long", strategy.long, when=(trendUp and crossUp), stop=(stoploss ? high+syminfo.mintick : na))
strategy.close("long", when=(bollBounce or crossDown or underBasis))
strategy.entry("short", strategy.short, when=(trendDown and crossDown), stop=(stoploss ? low-syminfo.mintick : na))
strategy.close("short", when=(bollReject or crossUp or overBasis))


더 많은