
이중 무작위 전략은 현재 K선과 다중 시간 주기 K선의 무작위 지수를 계산하여 공백 지역을 판단하여 낮은 가격과 높은 가격의 판매를 달성합니다. 이 전략은 현재 주기 및 3 배 주기의 무작위 지표를 동시에 계산하여 다른 주기 무작위 지표의 금叉死叉 신호를 사용하여 트렌드 추적을 구현합니다.
이 전략은 동시에 두 개의 무작위 지표 그룹을 계산합니다. 첫 번째 그룹은 현재 K 라인 주기의 무작위 지표, 즉 K 값과 D 값, 두 번째 그룹은 현재 주기의 3배의 무작위 지표, 즉 MTFK와 MTFD .
MTFK 상에서 50 라인을 통과하고 현재 K 값이 D 값보다 크면 구매 신호가 발생하며, 다중 헤드 영역에 진입하는 것을 나타냅니다. MTFD 하에서 50 라인을 통과하고 현재 K 값이 D 값보다 작은 판매 신호가 발생하면 공백 영역에 진입하는 것을 나타냅니다.
따라서 이 전략은 이중 무작위 지표를 사용하여 빈 영역을 판단하여 가격의 추세를 추적합니다. 빈 영역에 진입하면 빈 영역에 진입하면 빈 영역에 진입하여 낮은 가격과 높은 가격의 효과를 얻습니다.
특히, 이 전략의 구매 신호는 다음과 같습니다:
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
SignalLogical는 다음과 같이 팔렸습니다.
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
그 중, mtfK는 3배 주기의 K값이고, mtfD는 3배 주기의 D값이다. mtfK 상단에서 50선을 통과하고 k>d일 때 구매 신호가 발생하고, mtfD 아래에서 50선을 통과하고 k일 때 판매 신호가 발생한다.
또한, 전략은 중지 손실 논리를 설정한다. 다중 상위 포지션이 있을 때, mtfD 아래로 궤도를 통과하면, 평점 포지션 신호를 생성한다. 빈 상위 포지션이 있을 때, mtfK 위로 궤도를 통과하면, 평점 포지션 신호를 생성한다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이중 무작위 지표를 사용하면 공백 지역을 더 정확하게 판단할 수 있다. 현재 주기 지표는 단기 경향을 판단하고, 대주기 지표는 장기 경향을 판단하고, 이중 지표와 결합하면 경향을 더 잘 파악할 수 있다.
다른 주기적 지표의 금叉死叉 거래 전략을 채택하여 가격 동향을 효과적으로 추적하여 낮은 가격과 높은 가격의 거래를 달성 할 수 있습니다.
스톱로스 로직을 설정하여 위험을 어느 정도 제어하여 손실이 확대되는 것을 방지할 수 있다.
전략 논리는 간단하고 명확하며, 구현을 이해하기 쉽고, 실 디스크에 적합하다.
이 전략에는 위험도 있습니다.
이중 무작위 지표는 잘못된 신호를 생성하여 불필요한 거래를 초래할 수 있다. 예를 들어, 갑작스러운 사건으로 인해 단기 및 장기 추세에서 벗어날 수 있다.
막손해 논리 설정이 부적절하면 손실이 확대될 수 있다. 막손해 거리를 합리적으로 설정하여 막힘을 막아야 한다.
거래 수수료의 빈번한 거래는 전략 수익에 영향을 미칩니다. 불필요한 거래를 줄이기 위해 파라미터를 적절히 조정해야합니다.
전략은 기술적인 지표에만 기반하고, 기본적 요소를 결합하지 않는다. 중요한 기본적 요소에 적절한 관심을 가져야 한다.
대응방법:
부적절한 신호를 줄이기 위해 듀얼 랜덤 지표 파라미터를 적절히 조정하십시오.
스톱 로직을 최적화하고 합리적인 스톱 거리를 설정한다.
변수를 조정하여 거래 빈도를 낮출 수 있습니다. 금 포크 사다리 판단 기준을 적절히 완화 할 수 있습니다.
중요한 기본적 소식에 집중하고, 주관적인 거래를 피하십시오.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
이중 무작위 지표 파라미터를 최적화하여 잘못된 신호율을 감소시킨다. 다양한 K값, D값 파라미터가 효과에 미치는 영향을 테스트할 수 있다.
다른 지표의 필터링 신호와 함께. MACD, 이동 평균 등 지표의 보조 판단, 잘못된 신호를 피한다.
스톱 전략을 최적화하고, 스톱 거리와 비율을 설정한다. 다양한 스톱 포인트가 위험을 효과적으로 통제하는지 테스트한다.
거래량 지표와 결합하여. 예를 들어, 거래량 돌파와 같은 전략은 가격 변동 기간 동안 무효 거래를 피합니다.
다양한 포지션 보유 기간을 테스트한다. 포지션 보유 기간이 너무 짧아서 거래 비용이 수익에 영향을 미칩니다. 포지션 보유 기간이 너무 길어서 적시에 손실을 막을 수 없다.
기본 요소를 결합하여 중요한 사건 전과 후의 전략을 종료하고 사건으로 충격을 피하십시오.
이중 무작위 전략은 현재 주기 및 다중 주기 무작위 지표를 판단하여 빈 지역을 판단하여 낮은 가격과 높은 가격의 거래를 실현한다. 이 전략은 트렌드 추적 능력이 강하고, 논리가 간단하며, 실장에 쉽게 접근할 수 있는 장점이 있다. 그러나 또한 특정 위험이 있으며, 파라미터와 손해 방지 전략에 대한 최적화가 필요하며, 다른 기술 지표 또는 기본적 판단에 의해 개선되어야 한다.
/*backtest
start: 2023-10-07 00:00:00
end: 2023-11-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("stoch startegy", overlay=false,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
len = input(54, minval=1, title="Length for Main Stochastic")
smoothK = input(12, minval=1, title="SmoothK for Main Stochastic")
smoothD = input(3, minval=1, title="SmoothD for Main Stochastic")
upLine = input(80, minval=50, maxval=90, title="Upper Line Value?")
lowLine = input(30, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(100,minval=10,title="Trialing step value")
// current stochastic calculation
k = sma(stoch(close, high, low, len), smoothK)
d = sma(k, smoothD)
//mtf stochastic calculation smoothed with period
mtfK= sma(stoch(close, high, low, len), smoothK*3)
mtfD= sma(k, smoothD*3)
plot(k,"current TF k",blue,style=line, linewidth=2)
plot(d,"current TF d",red,style=line, linewidth=2)
plot(mtfK,"MTF TF k",black,style=line)
plot(mtfD,"Multi TF d",green,style=line, linewidth=2)
hline(upLine)
hline(50)
hline(lowLine)
longCondition = crossover(mtfK, 50) and k>50 and k>d and mtfK>mtfD
if (longCondition)
strategy.entry("Lungo", strategy.long)
shortCondition = crossunder(mtfD, 50) and k<50 and k<d and mtfK<mtfD
if (shortCondition)
strategy.entry("Corto", strategy.short)
exitlong=crossunder(mtfD, upLine)
exitshort=crossover(mtfK, lowLine)
if (exitlong)
strategy.exit("Esci lungo","Lungo",trail_points=trailStep)
if (exitshort)
strategy.exit("Esci corto","Corto",trail_points=trailStep)
showZones = input(true, title="Show Bullish/Bearish Zones")
// bullish signal rule:
bullishRule = k >= mtfD
// bearish signal rule:
bearishRule = k <= mtfD
// current trading State
ruleState = 0
ruleState := bullishRule ? 1 : bearishRule ? -1 : nz(ruleState[1])
bgcolor(showZones ? ( ruleState==1 ? green : ruleState==-1 ? red : gray ) : na , title="supertrend Bullish/Bearish Zones", transp=90)