다중 시간 프레임 확률적 이동 평균 전략


생성 날짜: 2024-02-29 12:11:23 마지막으로 수정됨: 2024-02-29 12:11:23
복사: 0 클릭수: 1116
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

다중 시간 프레임 확률적 이동 평균 전략

개요

MTF Stochastic Strategy는 무작위 지표 지표를 기반으로 한 양적 거래 전략이다. 현재 시간 프레임과 더 높은 시간 프레임의 무작위 지표 평균을 동시에 활용하여 트렌드 추적과 트렌드 반전의 조합 거래를 구현한다.

전략 원칙

이 전략의 핵심 지표는 무작위 지수 K선과 D선이다. K선은 최근의 가격 움직임을 나타내고, D선은 K선의 이동 평균이다. 이들의 상대적인 위치와 방향은 가격 경향과 가능한 반전을 판단할 수 있다.

구체적으로, 단기 K 선이 아래에서 위쪽으로 중간 D 선을 뚫을 때, 가격이 단기간에 상향으로 돌파되는 동력이 있음을 나타냅니다. 단기 K 선이 위쪽으로 아래로 중간 D 선을 뚫을 때, 가격이 단기간에 하향으로 돌파되는 압력이 있음을 나타냅니다.

이 전략은 두 시간 프레임의 무작위 지수 지수를 사용하여 거래 신호의 확인과 미끄러짐을 구현한다. 더 높은 시간 프레임의 무작위 지수는 트렌드 방향을 확인하는 데 사용되며, 현재 시간 프레임의 무작위 지수는 단기 브레이크 포인트를 발견하는 데 사용된다.

더 높은 시간 프레임의 무작위 지표가 상승 추세에 있다고 확인되고, 현재 시간 프레임의 무작위 지표가 가격의 상위 돌파구가 존재한다고 표시되면 더 많이; 더 높은 시간 프레임의 무작위 지표가 하향 추세를 확인하고, 현재 시간 프레임의 무작위 지표가 가격의 하향 돌파구가 존재한다고 표시되면, 공백.

우위 분석

이 전략은 다중 시간 프레임 지표와 현재 돌파구를 결합하여 시장 소음을 효과적으로 필터링하여 높은 확률의 수익 거래를 잠금 할 수 있습니다. 구체적인 장점은 다음과 같습니다.

  1. 더 높은 시간 프레임은 트렌드 방향으로 거래하는 것을 보장하고, 불필요한 전환 빈도와 손실을 줄일 수 있습니다.
  2. 현재의 시간 프레임은 더 낮은 위험을 포착하는 추세에서 단기간의 반전을 보장하며, 더 정확하고 더 적시에 거래 할 수 있습니다.
  3. 이중 무작위 지표 조합은 신호의 정확도를 높이고, 가짜 신호의 발생 가능성을 낮춘다.

위험 분석

이 전략에는 다음과 같은 몇 가지 위험도 있습니다.

  1. 급격한 역전 시, 더 높은 시간 프레임의 지표는 새로운 트렌드를 식별하는 데 지연 될 수 있으며, 전략이 방향을 전환하는 데 지연되어 손실이 증가 할 수 있습니다. 충분한 시장 정보를 신속하게 얻을 수 있도록 시간 프레임 파라미터를 최적화해야합니다.
  2. 현재 시간 프레임 지표는 너무 민감하여 전략 거래 빈도와 거래 비용을 증가시킬 수 있습니다. 부적절한 시장 소음을 필터링 할 수 있도록 파라미터를 적절하게 조정해야합니다.
  3. 이중 무작위 지표 조합은 신호 정확도를 증가시키지만 반응 속도를 지연시킨다. 상황이 급격히 변동하면 최적의 절단 지점을 놓칠 수 있다.

최적화 방향

이 전략의 주요 최적화 방향은 다음과 같습니다.

  1. 더 높은 시간 프레임의 지표의 평형 인자를 최적화하여 새로운 추세 방향을 적절히 반영할 수 있도록 한다.
  2. 현재 시간 프레임의 지표 파라미터를 조정하고, 노이즈 신호를 필터링하기 위해 합리적인 브레이크 값을 설정합니다.
  3. 다양한 시간 프레임의 조합을 테스트하여 최적의 균형을 찾습니다.
  4. 단편적 손실 위험을 제어하기 위한 HAL 전략 추가.

요약하다

다중 시간 프레임의 무작위 지수 평균선 전략은 전형적인 트렌드 추적 전략이다. 그것은 동시에 두 가지 시간 척도의 무작위 지수 지수를 사용하여 시장 상황을 정확하게 파악한다. 매개 변수를 최적화함으로써 전략의 안정성과 수익성을 더욱 강화 할 수 있다.

전략 소스 코드
/*backtest
start: 2023-02-22 00:00:00
end: 2024-02-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MTF stochastic strategy", overlay=false,pyramiding=3,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)
//
//this strategy is inspired to bobby thread in forexfactory forum
//
len = input(11, minval=1, title="Length for Main Stochastic") 
smoothK = input(3, 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(20, minval=10, maxval=50, title="Lower Line Value?")
trailStep=input(50,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",black,style=linebr)
plot(d,"current TF d",gray,style=linebr)
plot(mtfK,"MTF TF k",red,style=line)
plot(mtfD,"Multi TF d",green,style=line)
hline(upLine)
hline(50)
hline(lowLine)

longCondition = crossover(mtfK, 50) and k>50 and change(k,1)>0 and k>d and mtfK>mtfD
if (longCondition)
    strategy.entry("Lungo", strategy.long)

shortCondition = crossunder(mtfD, 50) and k<50 and change(k,1)<0 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)