
이 전략은 윌리엄 쌍 지수 이동 평균과 일차 균형 차트 두 가지 기술 지표를 결합하여 각자의 장점을 발휘하여 거래 의사 결정의 정확성을 향상시킵니다. 그 중 윌리엄 쌍 지수 이동 평균은 가격 변화의 흐름을 충분히 반영 할 수 있으며, 일차 균형 차트는 트렌드 반전을 사전에 판단 할 수 있습니다.
윌리엄스 쌍 지수 이동 평균은 빠른 선과 느린 선을 포함한다. 빠른 선의 계산 공식은:2(n/2 주기 중화 이동 평균), 느린 선의 계산 공식은:n 주기 중화 이동 평균. 빠른 선이 아래쪽에서 느린 선을 뚫을 때, 구매 신호; 위쪽에서 아래로 떨어지면, 판매 신호.
1시 균형 도표는 교류선, 기준선, 선도선 및 클라우드 도표의 4개의 구성 요소를 포함한다. 이 중, 교류선과 기준선의 황금 교차는 구매 신호이며, 사망 교차는 판매 신호이다. 가격은 클라우드 도표 상의 돌파구에 따라 구매 신호이며, 클라우드 도표 아래의 돌파구에 따라 판매 신호이다.
이 전략은 두 가지 지표의 장점을 결합하여, 첫 번째 판단은 윌리엄 지표로 신호를 발송하고, 두 번째 판단은 첫 번째 균형 도표 지표 확인으로, 가짜 신호를 효과적으로 필터링하여 의사 결정 정확성을 향상시킬 수 있다.
이 전략은 윌리엄스 지표의 트렌드 방향을 판단하고 초점 균형 차트의 앞뒤를 보는 장점을 최대한 활용하여 거래 의사 결정의 정확성을 크게 향상시킬 수 있습니다. 변수를 조정하고 다른 지표를 조합하여 지속 가능한 최적화 전략을 통해 시장 변화에 더 잘 적응 할 수 있습니다.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Hull MA-X + Ichimoku Kinko Hyo", shorttitle="Hi", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=12, minval=1)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]
Hullfast=plot(n1,color=c)
Hullslow=plot(n2,color=c)
plot(cross(n1, n2) ? n1:na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1:na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)
longCondition = n1>n2 and close>n2 and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and close<n2 and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
strategy.entry("Short",strategy.short)
closelong = n1<n2 and close<n2 and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanL)
if (closelong)
strategy.close("Long")
closeshort = n1>n2 and close>n2 and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanH)
if (closeshort)
strategy.close("Short")