
이 전략은 쌍평등선의 교차 상황을 계산하여 가격 트렌드와 거래 기회를 판단한다. 빠른 선에서 느린 선을 통과하면 황금 교차로 간주하고 더 많이 한다. 빠른 선 아래에서 느린 선을 통과하면 사망 교차로 간주하고 공백을 한다. 동시에 양적 지표를 결합하여 실제 교차를 판단하고 거짓 신호를 피한다.
이 전략은 다음과 같은 원칙에 기초하고 있습니다.
두 세트의 다른 파라미터의 평균선을 계산합니다. 한 세트는 가격 변화에 빠르게 반응하고, 다른 세트는 상대적으로 느립니다. 빠른 선 위에 느린 선을 통과하면 가격이 상승 추세를 시작하는 것을 나타냅니다. 빠른 선 아래에 느린 선을 통과하면 가격이 떨어지기 시작하는 것을 나타냅니다.
평선 교차할 때, 또 측정 가능한 지표의 변화를 . 만약 가능한 지표가 동시적으로 뚫린다면, 교차 신호가 신뢰할 수 있음을 나타냅니다. 만약 가능한 지표가 대응되는 뚫림이 없다면, 가짜 신호일 수 있습니다.
교차 방향과 양에 따라 판단할 수 있으며, 상장 또는 상장 포지션에 진입한다. 그리고 상장 조건을 설정하여 수익이 일정 비율에 도달했을 때 상장한다.
구체적으로, 전략은 7 일 쌍평균선의 교차를 계산하여 가격 동향을 결정한다. 수량 변화 지표를 계산하여 교차 신호의 신뢰성을 판단한다. 신뢰할 수 있는 신호를 결정할 때, SIGNAL을 누르면 오이즈 또는 코어; 수익 조건을 설정하여 스톱을 실현한다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.
이 전략 전체적으로, 핵심 아이디어는 양평선 교차 판단 경향이며, 양적 에너지 지표 필터링 신호이다. 효과는 안정적이며, 쉽게 구현된다. 파라미터를 추가적으로 최적화하고, 신호 필터링과 스톱/스트롭 전략을 추가함으로써, 전략이 더 신뢰할 수 있고, 지능화되어, 높은 실전 가치를 가질 수 있다.
/*backtest
start: 2022-12-19 00:00:00
end: 2023-12-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy("ZendicatoR", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15, pyramiding=0)
dt = input(defval=0.0010, title="Decision Threshold", type=float, step=0.0001)
keh=input(title="Double HullMA Cross",defval=7, minval=1)
che1=input(title="MA 1",defval=34,minval=1)
che2=input(title="MA 2",defval=144,minval=1)
che3=input(title="MA 3",defval=377,minval=1)
amnt=input(title="TP ($)",defval=4200,minval=1)
wma1=wma(close,che1)
wma2=wma(close,che2)
wma3=wma(close,che3)
sma1=sma(close,11)
tms=10000000000000
A=request.security(syminfo.tickerid, 'D', close)*tms
B=request.security(syminfo.tickerid, 'D', close[1])*tms
C=A>B?green:red
D=wma2>wma3?green:red
plot(wma1,style=line,color=C,linewidth=4)
p1=plot(wma2,style=line,color=D)
p2=plot(wma3,style=line,color=D)
fill(p1, p2, color=D, transp=75)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)*tms
n2=wma(diff1,sqn)*tms
Q=n1>n2?blue:yellow
plot(sma1,style=line,color=Q,linewidth=4)
closelong = A*tms<B*tms and n2*tms>n1*tms and strategy.openprofit>amnt
if (closelong)
strategy.close("Long")
closeshort = A*tms>B*tms and n1*tms>n2*tms and strategy.openprofit>amnt
if (closeshort)
strategy.close("Short")
longCondition = A*tms>B*tms and n1*tms>n2*tms
if (longCondition)
strategy.entry("Long",strategy.long)
shortCondition = A*tms<B*tms and n1*tms<n2*tms
if (shortCondition)
strategy.entry("Short",strategy.short)