다중 시간대 표준 편차 캔들스틱 크로스오버 전략


생성 날짜: 2023-10-24 14:44:00 마지막으로 수정됨: 2023-10-24 14:44:00
복사: 0 클릭수: 658
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

다중 시간대 표준 편차 캔들스틱 크로스오버 전략

개요

다중 시간 주기 표준 편차 K선 교차 전략은 전형적인 트렌드 추적 전략이다. 이 전략은 다른 시간 주기 (일계, 주기, 달계 등) 의 표준 편차 값을 계산하여 다중 K선과 D선을 구성하고, 그 다음 이 선의 평균을 가지고 평균을 구성한다. 빠른 선에서 느린 선을 통과할 때 더 많이 하고, 아래로 통과할 때 비로 한다. 이 전략은 다른 주기 표준 편차의 예측 능력을 충분히 활용하고, 여러 주기 표준 편차 평균을 조합하여 시장 소음을 효과적으로 필터레이트하여 시장의 주요 트렌드를 고정시킬 수 있다.

전략 원칙

이 전략의 핵심적인 논리는 여러 시간 주기의 표준 편차를 계산한 다음 평균을 취하여 거래 신호를 구성하는 것이다.

먼저, 전략이 통과되었습니다.stoch()함수는 각기 다른 변수 아래의 표준 편차 K값을 계산한다. 여기서는 총 5개의 K값을 계산한다. 대응하는 시간주기는 일선, 둘선, 달선 수준이다.

smoothK = input(55)  
SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK) 

smoothK1 = input(89)
SMAsmoothK1 = input(8)  
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)

...

smoothK4 = input(377) 
SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)

그리고 각각 다른 변수를 사용하여 D선을 계산합니다:

smoothD = input(34)
d = sma(k, smoothD)

...

smoothD4 = input(233)  
d4 = sma(k4, smoothD4)

다음으로, K선과 D선의 각 그룹의 평균값을 계산하여, 고속선 Kavg와 느린선 Davg를 구성한다:

Kavg = avg(k,k1,k2,k3,k4)
Davg = avg(d,d1,d2,d3,d4) 

마지막으로, 빠른 선에서 느린 선으로 갈 때 더 많이 하고, 낮은 선으로 갈 때 더 적게 하라:

long = crossover(Kavg, Davg)
short = crossunder(Kavg, Davg)

여러 시기의 표준 편차 평균선을 조합하여, 더 큰 시기의 시장 노이즈를 제거하여 주요 트렌드 방향을 고정 할 수 있습니다.

전략적 이점

  • 다중 시간 주기 표준 편차의 예측 능력을 활용하여 노이즈를 효과적으로 필터링하여 트렌드를 잠금합니다.
  • 주기 변수를 조정하여 전략의 지분 시간을 자유롭게 조정할 수 있습니다.
  • 표준 편차 자체는 강력한 트렌드 추적 능력을 가지고 있습니다.
  • 단일 가짜 브레이크아웃에 의해 오도되는 것을 방지하기 위해 일직선 교차 형태를 채택합니다.
  • 빠른 선의 느린 선의 평선주기를 최적화하여 안정성을 향상시킬 수 있다.

전략적 위험과 해결책

  • 다중 시간 주기 평선 교차는 더 많은 가짜 신호를 생성하기 쉽다. 평선 주기 적절히 조정하여 최적화 할 수 있다.
  • 표준 편차는 급격한 상황의 영향을 받아 잘못된 신호를 발생시키며, 필터링 조건을 추가하는 것을 고려할 수 있다.
  • 고정 주기 파라미터는 시장 변화에 적응할 수 없으며, 적응 주기 설정을 사용할 수 있다.
  • 장기 포지션은 상향과 하향을 따라가기 쉽고, 수익을 고정하기 위해 이동 스톱을 설정할 수 있습니다.
  • KDJ 지표만 고려할 경우 제한될 수 있으며, 조합 최적화를 위해 다른 지표를 도입할 수 있다.

해결책:

  1. 필터링 조건을 추가하여 짧은 기간의 가짜 돌파구를 피하십시오.

  2. 적응 주기 설정을 사용하여 시장의 변동 정도에 따라 주기 파라미터를 조정

  3. 이동 상쇄를 설정하여 상쇄를 막고 상쇄를 피합니다.

  4. 평균주기 변수를 최적화하여 최적의 균형을 찾습니다.

  5. 더 많은 지표 신호를 조합하여 전략의 안정성을 높여라

전략 최적화 방향

이 전략은 다음의 몇 가지 측면에서 더 개선될 수 있습니다.

  1. MACD, 볼린저 밴드 등과 같은 다른 지표 신호를 조합하여 도입하면 신호 품질이 향상됩니다.

  2. 트렌드 필터를 추가하여 SMA 평균선 방향, ADX 등의 지표가 트렌드를 판단하고 역거래를 피합니다.

  3. 적응 주기 설정을 사용하여 시장의 변동 정도에 따라 동적으로 조정되는 주기 파라미터

  4. 이동식 중지 전략을 추가하고, 전략 변수에 따라 중지 지점을 설정하고, 적시에 중지합니다.

  5. 빠른 선과 느린 선의 평균 선주기 변수를 최적화하여 최적의 변수 조합을 찾습니다.

  6. 짧은 시간 잡음으로 잘못된 신호를 방지하기 위해 개장 필터 조건을 추가합니다.

  7. 브레이크아웃 입점 전략을 시도하고, 평균선을 뚫고 입점합니다.

  8. Chandelier Exit와 같은 다른 탈퇴 전략을 테스트하고, 스톱 스톱 손실을 최적화합니다.

요약하다

다중 시간 주기 표준 편차 K선 교차 전략은 표준 편차 지표의 트렌드 추적 능력과 평행 전략의 안정성을 통합한다. 다중 시간 주기 표준 편차 지표의 K선과 D선 평균을 계산하여 거래 신호를 구성하여 다양한 시간 단위의 표준 편차 지표의 예측력을 효과적으로 활용하고 시장 소음을 필터링하여 주요 트렌드 방향을 잡을 수 있다. 이 전략은 파라미터 튜닝의 공간을 가지고 있으며, 주기 파라미터를 조정하고 필터링 조건, 중지 전략 등을 추가로 도입하여 더 나은 전략 효과를 얻을 수 있습니다.

전략 소스 코드
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="Slow Stochastic Multi K&D Average Crossover Strategy", overlay=false, pyramiding=0, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)


price = input(close)

///////////////////////////////
smoothK = input(55) 

SMAsmoothK = input(13)
k = sma(stoch(price, high, low, smoothK), SMAsmoothK)



smoothD = input(34)
d = sma(k, smoothD)


///////////////////////////

smoothK1 = input(89) 

SMAsmoothK1 = input(8)
k1 = sma(stoch(price, high, low, smoothK1), SMAsmoothK1)

smoothD1 = input(55)
d1 = sma(k1, smoothD1)

//////////////////////////////////////

smoothK2 = input(144) 

SMAsmoothK2 = input(5)
k2 = sma(stoch(price, high, low, smoothK2), SMAsmoothK2)

smoothD2 = input(89)
d2 = sma(k2, smoothD2)

/////////////////////////////////////

smoothK3 = input(233) 

SMAsmoothK3 = input(3)
k3 = sma(stoch(price, high, low, smoothK3), SMAsmoothK3)

smoothD3 = input(144)
d3 = sma(k3, smoothD3)

////////////////////////////////////////////////

smoothK4 = input(377) 

SMAsmoothK4 = input(2)
k4 = sma(stoch(price, high, low, smoothK4), SMAsmoothK4)

smoothD4 = input(233)
d4 = sma(k4, smoothD4)

/////////////////////////////////////////////////

Kavg = avg(k,k1,k2,k3,k4, k4)
plot(Kavg, color=green)

Davg = avg(d,d1,d2,d3,d4, d4)
plot(Davg, color=red)


///////////////////////////////////////
hline(50, color=gray)


long = crossover(Kavg, Davg)// and d < 50
short = crossunder(Kavg, Davg)// and d > 50


last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])
long_signal = crossover(last_long, last_short) 
short_signal = crossover(last_short, last_long)



strategy.entry("Long", strategy.long, when=long_signal)
strategy.entry("Short", strategy.short, when=short_signal) 

//len1 = input(3)

//closelong = d[1] < k[len1]
//closeshort = d[1] > k[len1]

//strategy.close("Long", when=closelong)
//strategy.close("Short", when=closeshort)