이중 필터와 함께 스토카스틱 & 이동 평균 전략

저자:차오장, 날짜: 2024-02-02 11:28:58
태그:

img

전반적인 설명

이 전략은 스토카스틱 오시일레이터 K 값과 기하급수적인 이동 평균을 이중 필터로 결합한 장기 거래 전략이다. 스토카스틱 K가 D를 넘어서 과판된 영역에 진입할 때 구매 기회를 식별한다. 이 전략은 가격이 이동 평균 이하로 넘어가고 스토카스틱 K가 한 임계 이상의 경우 판매 신호를 생성하여 트렌드 반전에서 정상적인 역전을 필터링한다. 스톱 로스 규칙도 구현된다.

전략 논리

이 전략의 핵심 아이디어는 입력 신호를 타이밍하는 데 스토카스틱 K를 사용하고, 수익을 기록하는 데 지수적인 이동 평균을 사용하는 것입니다. 스토카스틱 오시레이터는 과도한 구매 / 과도한 판매 상황을 감지하는 데 좋으며 이동 평균은 트렌드를 정의합니다. 둘을 결합함으로써 과도한 판매 수준에서 입력이 이루어지며 이동 평균을 사용하여 트렌드를 따라 수익이 추적됩니다.

특히, 이 전략은 21주기 스토카스틱 K 및 D 값을 계산하고, 38주기 EMA를 계산한다. K가 D 위에 지나치게 팔린 구역 (디폴트 25) 으로 넘어가면 구매 신호가 생성된다. 가격이 EMA 아래를 넘어가고 스토카스틱 K가 필터 문턱 (65) 보다 높을 때, 트렌드 역전이 가정되고 포지션이 닫힌다. 13%의 스톱 로스 규칙도 구현된다.

이중 지표 및 이중 필터로, 이 전략은 가짜 신호를 효과적으로 필터한다. 과판 수준으로 구매하고 상승 추세를 따라가는 것은 좋은 이익을 얻을 수 있다. 중장기 지분에 적합하다.

이점 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 스토카스틱 K는 과판된 영역으로 넘어갈 때 좋은 진입 지점을 결정합니다.

  2. 이중 필터 K/D 크로스 및 가격 극단적으로 효과적으로 잘못된 신호를 피합니다.

  3. EMA로 수익을 추월하는 것은 상승 동력을 최대한 활용합니다.

  4. 스토카스틱은 수익을 기록할 때 반전에서 정상적인 역류를 필터합니다.

  5. 좋은 수익성을 가진 중장기적 지분에 적합합니다.

위험 분석

고려해야 할 몇 가지 위험:

  1. 시스템적 위험성 - 곰 시장은 큰 손실을 초래할 수 있습니다.

  2. 투어백 리스크 - 일시적인 가격 인하가 MA 스톱 로스를 조기에 유발할 수 있습니다.

  3. 매개 변수 최적화 위험 - 부적절한 매개 변수 조정 성능에 영향을 미칩니다.

  4. 블랙 스완 위험 - 기술 지표는 시장 충격에 실패합니다.

최적화 방향

전략을 최적화하는 몇 가지 방법:

  1. 엄격한 백테스팅을 통해 지표 매개 변수를 최적화합니다.

  2. 변동성이나 후속 스톱 로스 같은 다른 스톱 로스 방법을 추가합니다.

  3. 부피, 볼링거 밴드 등과 같은 다른 지표를 포함합니다.

  4. 더 짧은/더 긴 이동 평균 기간을 테스트합니다.

  5. 시장 체제에 기반한 매개 변수를 동적으로 조정합니다.

결론

이것은 전반적으로 탄탄한 트렌드 추종 전략이다. 진입, 이동 평균에서 트레일 출구를 결정하기 위해 스토카스틱을 사용하고 잘못된 신호를 피하기 위해 이중 필터를 구현합니다. 충분한 매개 변수 조정 유연성, 중장기 보유 및 트렌드를 잡는 효과로 효율적인 주식 거래 전략입니다.


/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// English version
strategy(title='Stochastic & MA',  overlay=false)
// INPUTS : all default value have already been optimized
length = input.int(21, 'period', minval=1)
lossp = input.int(13, 'stop loss %', minval=2, step=1)
leverage = input.int(1, 'leverage', minval=1, step=1)
// leverage has been introduced for modifying stop loss levels for financial instruments with leverage, like ETF 
n = input(2, 'n days ago')
filtro = input.int(65, 'k filter for throwbacks', minval=20, step=1)
OverSold = input.int(25, 'Oversold value', minval=5, step=5)
// Building indicators
smoothK = input.int(6, 'k', minval=1)
smoothD = input.int(4, 'd', minval=1)
k = ta.sma(ta.stoch(close, high, low, length), smoothK)
d = ta.sma(k, smoothD)
//Empowerment: introducing EMA
sma_period = input.int(38, 'periodo Sma', minval=1)
emaf = ta.ema(close, sma_period)
//ENTRY condition and order
// First of all, it's better not trade shares with a quaterly loss or with a bad surprise towards to analysts' expectations or ipevaluated (P/E > 50), but on your choice
// You entry when Stochastic's K is higher than D in Oversold area (you may personalize), applying the condition that today's close should be higher than one of n-days ago (default of the day before yesterday or 2 candles ago)
entry1 = k > d and k <= OverSold and close >= close[n]
strategy.entry('Long', strategy.long, comment='k basso', when=entry1)
//EXIT CONDITIONS
//  1) close crosses under exponential movinig average with filter that k >= fixed level (65), in order to distinguish a violent movement of prices with a possibile beginning of a trend from an almost exhausted "ordinary" throwback
// 2) fixed stop loss on percentage
exit1 = ta.crossunder(close, emaf) and k >= filtro
losspel = strategy.position_avg_price * (1 - lossp / 100 * leverage)
exit2 = close < losspel
strategy.close('Long', when=exit1, comment='sma')
strategy.close('Long', when=exit2, comment='stop loss')
// plotting indicators (add Ema on your choice)
plot(k, color=color.new(color.blue, 0), linewidth=1, title='k Stoch')
plot(d, color=color.new(color.red, 0), linewidth=1, title='d stoch signal')
plot(OverSold, title='Oversold', color=color.new(color.aqua, 0))
plot(filtro, color=color.new(color.gray, 0), title='k-filter for ema')





더 많은