
이 전략은 느린 무작위 지표에 기반한 트렌드 추적 전략이다. 그것은 긴 K 선 평균선을 사용하여 느린 무작위 지표를 평형화하여 시장 소음을 필터링하여 주요 트렌드를 잠금한다. 이 전략은 느린 무작위 지표의 초고 초매 라인을 통해 진입 및 출퇴근 시간을 판단한다.
이 전략은 먼저 400주기 길이의 K값 SMA 평준선을 계산하고, 그 다음으로 275주기 길이의 SMA 선을 계산하여 K선을 더욱 평준화한다. 이것은 최종 K선을 매우 평평하게 만들고, 기본적으로 시장의 주요 트렌드 방향만을 반영한다. 이 전략은 이 초 평평한 느린 무작위 지표의 K값을 거래 신호로 사용합니다.
K선 아래에서 23번의 오버셀 영역을 통과할 때 더 많이 하고; K선 위에서 아래로 78.5번의 오버셀 영역을 통과할 때, 공백을 한다. K선으로 다시 각자의 오버셀 영역을 통과하도록 평점 신호를 준다. 이렇게하면 전략은 주요 트렌드를 추적하는 효과를 달성한다.
이 전략의 가장 큰 장점은 시장의 주요 트렌드를 잠금하기 위해 초등 평평한 느린 무작위 지표를 사용하는 것이며, 시장 소음으로 인해 편향되는 것을 피하는 것입니다. 초등 평평함은 더 큰 트렌드 변화에만 민감하게 작용하여 고주파 반전과 흔들림을 필터링합니다.
또한, 이 전략은 일반적인 이동 평균 전략에 비해 트렌드 전환점을 더 빨리 포착하고, 더 큰 수익 창을 제공합니다.
이 전략의 주요 위험은, 시장이 오버 바이 오버 소드 영역에서 장기적으로 흔들릴 수 있고, 이로 인해 여러 번의 오버 엔트리 손실이 발생할 수 있다는 것입니다. 이 경우 K선을 더 부드럽게 하거나, 오버 바이 오버 소드 영역 범위를 확대하기 위해 파라미터를 적절히 조정할 필요가 있습니다.
또한, 만약 트렌드 돌연변이, 거대한 시장이 공격하면, 초유의 K 선은 신호를 인식하는 것을 지연시킬 수 있으며, 이로 인해 잠재적인 수익의 일부가 손실된다. 이 경우, K 선 평균선 파라미터를 축소하여 더 민감하게 만들 필요가 있다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
K값과 D값의 평형 주기 조정, 최적의 변수 조합을 찾습니다.
다른 가격 입력을 테스트합니다. 예를 들어, 종식 가격, 전형적인 가격 등
거래량이나 ATR 중지, 자본 활용률 제어와 같은 위치 통제를 증가시키는 것
MACD와 같은 지표에 대한 보조 판단을 추가하여 잘못된 입장을 피하십시오.
기계 학습을 사용하여 파라미터를 최적화합니다.
이 느린 무작위 지표는 트렌드를 추적하는 전략을 사용하여 시장의 주요 트렌드를 매우 부드럽게 처리하여 거래의 방해를 피할 수 있습니다. 또한 약간의 지연 인식 신호의 위험이 있습니다. 우리는 매개 변수를 조정하거나 보조 조건을 추가하여 전략을 최적화하여 전략의 안정성과 수익성을 향상시킬 수 있습니다.
/*backtest
start: 2023-12-20 00:00:00
end: 2023-12-27 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Slow Stochastic OB/OS Strategy", overlay=false )
smoothK = input(400, step=5)
price = input(ohlc4)
SMAsmoothK = input(275, step=5)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)
plot(k, color=white)
smoothD = input(10, step=2)
d = sma(k, smoothD)
plot(d, color=red)
OB = input(78.5, step=0.5)
OS = input(23, step=0.5)
hline(OB, linewidth=1, color=red)
hline(OS,linewidth=1, color=green)
hline(50,linewidth=1, color=gray)
long = crossover(d, OS)
short = crossunder(d, OB)
strategy.entry("Long", strategy.long, when=long) //_signal or long) //or closeshort_signal)
strategy.entry("Short", strategy.short, when=short) //_signal or short) // or closelong_signal)
//If you want to try to play with exits you can activate these!
closelong = crossover(d, OB)
closeshort = crossunder(d, OS)
strategy.close("Long", when=closelong)
strategy.close("Short", when=closeshort)