이 전략은 브린 띠 지표를 사용하여 시장 추세 방향을 판단하고 동력 지표와 결합하여 트렌드 추적 거래를 수행한다. 전략 이름의 동력 은 동력 지표를 채택하고, 교차 은 판단 지표 교차를 더 많은 공백 신호를 수행하는 것을 나타냅니다. 브린 띠 은 브린 띠를 사용하여 트렌드 방향을 결정하는 것을 나타냅니다. 트렌드 은 트렌드 추적 전략을 나타냅니다.
이 전략은 크게 세 부분으로 구성되어 있습니다.
부린带方向判断. 부린带中轨代表均线, 부린带上轨代表波动范围. 가격 가까이에 있을 때 과매매, 가까이에 있을 때 과매매. 부린带方向代表价格趋势方向.
운동량을 계산한다. 이 전략은 Hull 운동량을 선택한다. Hull 운동량은 빠른 이동 평균을 빼고 느린 이동 평균을 얻는다.
교차신호。 빠른 이동 평균이 아래에서 느린 이동 평균을 가로질러 생성되는 다중 신호; 위에서 아래로 가로질러 생성되는 공백 신호。
거래 규칙은 다음과 같습니다: 부린 대역 방향은 큰 트렌드를 나타내고, 동력 지표 교차는 입시 시점을 나타냅니다. 동력 교차가 부린 대역 방향과 일치하면 거래 신호가 생성됩니다. 즉, 부린 대역을 나타내는 트렌드 방향을 추적합니다.
추세와 동력을 결합하여 가짜 돌파구를 피하십시오. 브린 띠를 사용하여 대차 추세를 판단하고, 동력 지표를 사용하여 특정 진입 시기를 판단하여 지역 돌파구를 따르는 포름셋 위험을 피하십시오.
리스크 관리가 더 낫다. 브린 밴드는 단순한 이동 평균보다 더 효과적인 스톱로스를 제공합니다.
트렌드를 추적하는 것이 더 효율적입니다. 동력 지표는 진입 후에도 가격이 원래의 방향으로 움직일 수 있도록 충분한 힘을 보장하고, 트렌드를 추적하는 것이 더 순조롭습니다.
부린띠는 실패의 위험을 판단한다. 부린띠는 항상 완전히 정확한 추세를 판단하지 않으며, 잘못된 방향 신호를 제공하여 손실률을 증가시킬 수 있다.
트렌드 반전 위험. 브린이 큰 차원의 트렌드를 정확하게 반영하더라도, 가격이 중·단기간에 반전이 발생할 수 있으며, 거래할 때 주의해야 한다.
매개 변수 최적화 위험. 계산 주기와 같은 전략 매개 변수는 다른 시장 데이터에 대해 최적화하여 최적의 거래 효과를 얻습니다.
더 많은 지표 FILTER와 결합한다. 부린띠와 헐 동력 이외에 MACD, KDJ 등의 다른 지표와 결합하여 지표 FILTER를 형성하여 판단 정확도를 높인다.
자동 적응 변수 최적화. 기계 학습 알고리즘을 추가하여 다양한 품종과 시장 환경에 따라 실시간으로 변수를 최적화하여 전략 안정성을 향상시킵니다.
중지 손실 전략을 최적화한다. 중지 손실 전략을 최적화한다. 추세가 변하지 않는 동안 이익을 최대한 고정하고, 추세가 역전될 때 가장 빨리 중지한다.
이 전략은 브린 띠를 통합하여 대규모 트렌드를 판단하고 Hull 동력 지표는 특정 진출 시기를 판단하여 트렌드를 효과적으로 추적합니다. 또한 더 많은 지표 필터, 변수 적응 최적화 및 스톱 손실 전략 최적화 등을 추가하여 안정성과 수익률을 높이기 위해 개선 할 수있는 약간의 공간이 있습니다.
/*backtest
start: 2024-01-26 00:00:00
end: 2024-02-25 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
// Hull Moving Average Crossover by SeaSide420
strategy("Hull Moving Average Crossover Strategy", overlay=true)
keh=input(title="HullMA cross",defval=10)
p=input(ohlc4)
n2ma=2*ta.wma(p,math.round(keh/2))
nma=ta.wma(p,keh)
diff=n2ma-nma
sqn=math.round(math.sqrt(keh))
n2ma1=2*ta.wma(p[1],math.round(keh/2))
nma1=ta.wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=math.round(math.sqrt(keh))
n1=ta.wma(diff,sqn)
n2=ta.wma(diff1,sqn)
hullcross1 = n1
hullcross2 = n2
longcross1=(n1[0]-n1[3])+(n1[0]-n2[4])*100
longcross2=(n2[0]-n2[3])+(n2[0]-n1[4])*100
closelong = n1<n2 and longcross1<longcross2
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and longcross1>longcross2
if (closeshort)
strategy.close("Short")
longCondition = n1>n2 and longcross1>longcross2 and strategy.opentrades<1
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and longcross1<longcross2 and strategy.opentrades<1
if (shortCondition)
strategy.entry("Short",strategy.short)
b=hullcross1>hullcross2?color.green:color.red
c=hullcross2>hullcross1?color.green:color.red
plot(ta.cross(hullcross1, hullcross2) ? hullcross1 : na,color=c, linewidth = 5, offset=3)
barcolor(longcross1 < longcross2 ? color.black : color.white)
bgcolor(longcross2 < longcross1 ? color.green : color.black, transp=85)
plotshape(ta.cross(longcross2, longcross1) ? longcross2 : na, text="X", style=shape.labeldown, location=location.bottom)