이 전략은 이동 평균의 트렌드 판단과 볼링거 밴드 과잉 구매/ 과잉 판매 판단을 완전히 활용합니다. T3 이동 평균의 평형화로 트렌드 역전을 적시에 파악하고 시장에 진출 할 수 있습니다. 오스실레이션 구역에서는 볼링거 밴드를 사용하여 트렌드 거래에 대한 과잉 구매/ 과잉 판매 지역을 식별합니다. 따라서 초단기 거래를 실현합니다.
이 전략은 주로 트렌드를 식별하고 거래 신호를 생성하기 위해 세 개의 이동 평균 그룹을 사용합니다. 첫째는 T3 이동 평균입니다. 이는 기하급수적인 매끄럽게 함으로써 가격 변동을 필터링하고 트렌드 방향을 판단 할 수 있습니다. 둘째는 중장기 이동 평균입니다. 여기서 중장기 트렌드를 결정하기 위해 20 기간 SMA를 사용합니다. 마지막으로 각각 50 기간 및 200 기간 T3 이동 평균입니다. 빠른 라인이 느린 라인보다 크면 상승 추세를 나타냅니다. 그렇지 않으면 하락 추세를 나타냅니다.
거래 신호는 중장기 SMA가 중장기 T3 상향을 넘어서 상승 추세와 결합하면 긴 거리를 넘을 때 생성됩니다. 중장기 SMA가 중장기 T3 하향 추세와 결합하여 하향 추세 아래를 넘을 때 짧은 거리를 넘을 때. 또한 볼링거 밴드는 수익을 취하고 손실을 중지하는 데 사용할 수 있습니다. 가격이 상위 대역을 넘으면 이익을 취하는 것을 고려하십시오. 가격이 하위 대역을 넘으면 손실을 중지하는 것을 고려하십시오.
특히, 긴 조건은 중간 SMA가 중간 T3를 상향으로 넘고, 빠른 MA는 느린 MA보다 크다. 가격이 상부 볼링거 밴드를 넘거나 중간 SMA가 T3 아래로 넘으면 수익을 취하는 것을 고려하십시오. 짧은 조건은 중간 SMA가 중간 T3 아래로 넘고, 빠른 MA는 느린 MA보다 작습니다. 가격이 낮은 볼링거 밴드를 넘거나 중간 SMA가 T3 위에 넘으면 스톱 로스를 고려하십시오.
개선 사항:
요약하자면, 이 전략은 트렌드를 결정하기 위해 체계적으로 움직이는 평균을 사용하고 볼링거 밴드를 사용하여 과반 구매/ 과반 판매 수준을 식별합니다. 트렌드 역전 시 시점에 시기에 시장에 진출 할 수 있으며 또한 위험을 효과적으로 제어 할 수 있습니다. 그러나 매개 변수 조정 및 최적화는 전략이 실제로 잘 수행되기 위해 중요합니다. 추세 강도, 변동성 및 후속 스톱 손실과 더 결합하면 전략을 더욱 견고하고 지능화 할 수 있습니다.
/*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))