느린 확률적 추세 추종 전략


생성 날짜: 2023-12-28 17:50:36 마지막으로 수정됨: 2023-12-28 17:50:36
복사: 0 클릭수: 650
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

느린 확률적 추세 추종 전략

개요

이 전략은 느린 무작위 지표에 기반한 트렌드 추적 전략이다. 그것은 긴 K 선 평균선을 사용하여 느린 무작위 지표를 평형화하여 시장 소음을 필터링하여 주요 트렌드를 잠금한다. 이 전략은 느린 무작위 지표의 초고 초매 라인을 통해 진입 및 출퇴근 시간을 판단한다.

전략 원칙

이 전략은 먼저 400주기 길이의 K값 SMA 평준선을 계산하고, 그 다음으로 275주기 길이의 SMA 선을 계산하여 K선을 더욱 평준화한다. 이것은 최종 K선을 매우 평평하게 만들고, 기본적으로 시장의 주요 트렌드 방향만을 반영한다. 이 전략은 이 초 평평한 느린 무작위 지표의 K값을 거래 신호로 사용합니다.

K선 아래에서 23번의 오버셀 영역을 통과할 때 더 많이 하고; K선 위에서 아래로 78.5번의 오버셀 영역을 통과할 때, 공백을 한다. K선으로 다시 각자의 오버셀 영역을 통과하도록 평점 신호를 준다. 이렇게하면 전략은 주요 트렌드를 추적하는 효과를 달성한다.

우위 분석

이 전략의 가장 큰 장점은 시장의 주요 트렌드를 잠금하기 위해 초등 평평한 느린 무작위 지표를 사용하는 것이며, 시장 소음으로 인해 편향되는 것을 피하는 것입니다. 초등 평평함은 더 큰 트렌드 변화에만 민감하게 작용하여 고주파 반전과 흔들림을 필터링합니다.

또한, 이 전략은 일반적인 이동 평균 전략에 비해 트렌드 전환점을 더 빨리 포착하고, 더 큰 수익 창을 제공합니다.

위험 분석

이 전략의 주요 위험은, 시장이 오버 바이 오버 소드 영역에서 장기적으로 흔들릴 수 있고, 이로 인해 여러 번의 오버 엔트리 손실이 발생할 수 있다는 것입니다. 이 경우 K선을 더 부드럽게 하거나, 오버 바이 오버 소드 영역 범위를 확대하기 위해 파라미터를 적절히 조정할 필요가 있습니다.

또한, 만약 트렌드 돌연변이, 거대한 시장이 공격하면, 초유의 K 선은 신호를 인식하는 것을 지연시킬 수 있으며, 이로 인해 잠재적인 수익의 일부가 손실된다. 이 경우, K 선 평균선 파라미터를 축소하여 더 민감하게 만들 필요가 있다.

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. K값과 D값의 평형 주기 조정, 최적의 변수 조합을 찾습니다.

  2. 다른 가격 입력을 테스트합니다. 예를 들어, 종식 가격, 전형적인 가격 등

  3. 거래량이나 ATR 중지, 자본 활용률 제어와 같은 위치 통제를 증가시키는 것

  4. MACD와 같은 지표에 대한 보조 판단을 추가하여 잘못된 입장을 피하십시오.

  5. 기계 학습을 사용하여 파라미터를 최적화합니다.

요약하다

이 느린 무작위 지표는 트렌드를 추적하는 전략을 사용하여 시장의 주요 트렌드를 매우 부드럽게 처리하여 거래의 방해를 피할 수 있습니다. 또한 약간의 지연 인식 신호의 위험이 있습니다. 우리는 매개 변수를 조정하거나 보조 조건을 추가하여 전략을 최적화하여 전략의 안정성과 수익성을 향상시킬 수 있습니다.

전략 소스 코드
/*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)