이 전략은 무작위 지표 K값과 지수 이동 평균을 사용하여 조합 필터링을 하는 긴 라인 거래 전략이다. 전략은 무작위 지표 K값이 초매매 영역에 진입했을 때 구매 조건에 적합하다고 판단하고, 가격이 이동 평균을 넘어섰을 때 무작위 지표 필터링 조건이 성립했을 때 상쇄 또는 상쇄 포지션으로 판단한다.
이중 지표 波 거래 전략은 주로 무작위 지표 K 값이 구매 시기를 결정하고 지표 이동 평균이 손실 중지 시기를 결정하는 기술 지표 특성을 사용합니다. 무작위 지표 K 값은 과매매 상황을 식별하는 데 사용할 수 있으며, 이동 평균은 가격 추세를 판단하는 도구입니다. 둘을 결합하면 과매 시점에 구입할 수 있으며, 이동 평균을 사용하여 손실 중지 시기를 결정합니다.
이 전략은 우선 21주기 길이의 무작위 지표 K값과 D값, 그리고 38주기 길이의 지표 이동 평균을 계산한다. K값이 D값을 넘어서서 초매권에 들어간다면 구매 신호를 발생시킨다. 가격이 이동 평균을 넘어갔을 때, 그리고 무작위 지표 K값이 65보다 큰 초과값을 발생시키면, 트렌드 반전을 판단하고 평점 신호를 발생시킨다. 동시에 13%의 중지 손실 조건을 설정한다.
이중 지표와 이중 필터를 통해 거래하면 가짜 신호를 효과적으로 필터링하고, 오버셀 지역에서 구매한 후 긴 라인 추세를 따라 수익을 올릴 수 있다. 이 전략은 중장 긴 라인 포지션에 적합하다.
이 전략에는 다음과 같은 장점이 있습니다.
무작위 지표의 사용으로 구매 지점을 결정한다: 무작위 지표의 K 값이 D 값을 통과하여 초매매 구역에 진입할 때, 주가 반전 신호로 간주되며, 비교적 좋은 구매 시점이다.
이중 필터 설계: 전략은 동시에 K값/D값의 골드포크와 가격 저위 필터를 사용하여 구매 시기를 결정하고, 가짜 신호를 효과적으로 필터링할 수 있다.
지수 이동 평균 추적 스톱: 지표는 지연성을 가지고 있으며, 이를 사용하여 스톱을 사용하면 트렌드를 추적하여 이익을 극대화 할 수 있습니다.
랜덤 지표 재필터 리커드: 정지 또는 평준화 포지션을 판단할 때, 다시 랜덤 지표 필터 일반 리커드 및 트렌드 반전을 사용하여 전략을 더 안정화하십시오.
중·장선에 적합한 포지션: 쌍 지표 포지션을 설계하여 중·장선에 적합한 포지션을 보유하는 전략으로 더 나은 수익을 얻을 수 있다.
이 전략에는 몇 가지 위험도 있습니다.
체계적 위험: 이 전략은 대도시 환경에 민감하며, 곰 시장에서 손실이 발생할 수 있다.
회귀 위험: 단기 회귀 시 이동 평균의 상실을 유발하여 조기 퇴출할 수 있다.
매개 변수 최적화 위험: 지표 매개 변수는 반복적으로 테스트 최적화를 필요로 하며, 잘못 설정하면 전략 성능에 영향을 줄 수 있다.
급격한 사건의 위험: 중요한 급격한 소식이 나오면 기술 지표가 작동하지 않기 때문에 주의해야 합니다.
이 전략의 몇 가지 최적화 방향은 다음과 같습니다.
최적화 지표 변수: 다양한 변수 조합을 반복적으로 테스트하여 최적의 변수를 찾습니다.
손실을 증가시키는 방법: 변동율의 손실, 손실 추적 등의 방법을 도입할 수 있다.
다른 지표와 결합: 양력 지표, 브린 띠 등이 도입될 수 있다.
이동 평균 기간을 최적화: 더 긴 기간 또는 더 짧은 기간의 평균의 효과를 테스트한다.
대도시 환경을 분석: 대도시 시장 상황에 따라 동적으로 조정하는 전략 매개 변수.
이중 지표 필터 파동 거래 전략은 전체적으로 더 완전한 트렌드 추적 전략이다. 그것은 무작위 지표를 사용하여 구매 지점을 결정하고, 이동 평균을 사용하여 트렌드 스톱을 추적하며, 가짜 신호를 효과적으로 필터링 할 수있는 이중 필터를 설계했다. 전략 매개 변수를 최적화 할 수있는 공간이 넓고, 중장선 지위를 보유하는 데 적합하며, 효과적인 주식 거래 전략이다.
/*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')