
이 전략은 쌍방향 평균 지표와 스토카스틱 지표의 조합을 사용하여 트렌드 반전의 기회를 식별하여 효율적인 단선 거래를 수행합니다. 가격이 초과 판매 영역에 진입 할 때 전략은 공백을 선택합니다. 가격이 초과 판매 영역에 진입 할 때 전략은 중간에 단선 트렌드의 반전을 포착하기 위해 더 많은 것을 선택합니다.
이 전략은 주로 이중 중복 평균과 스토카스틱 지표의 조합 사용에 기초한다.
이중 중첩 평균은 빠른 이동 평균, 느린 이동 평균 및 초 느린 이동 평균으로 구성되어 있습니다. 빠른 이동 평균 위에 느린 이동 평균을 통과하면 구매 신호로 간주되며, 빠른 이동 평균 아래에 느린 이동 평균을 통과하면 판매 신호로 간주됩니다. 이중 중첩 평균은 중간에 짧은 선의 트렌드의 전환점을 식별합니다.
스토카스틱 지표는 K값과 D값을 포함하고, K값은 현재 종결 가격에 대해 N일간의 최고 가격과 최저 가격의 위치를 나타냅니다. D값은 K값의 M일 간 간단한 이동 평균입니다. K값과 D값이 80을 초과하면 과매 지역이며, 20을 초과하면 과매 지역입니다. 스토카스틱 지표는 단기간의 과매 지역을 식별합니다.
이 전략은 이중중 평균과 스토카스틱 지표를 결합하여, 스토카스틱 지표가 오버 바이 또는 오버 세 영역을 표시할 때, 트리뷰가 이중 평균 신호와 일치하는지 여부를 확인하고, 일치하면 그 지점을 선택하여 반전 거래하여 단선 트렌드의 전환점을 잡을 수 있습니다.
이 전략은 다음과 같은 장점을 가지고 있습니다.
이 조합은 두 배의 중복 평균과 스토카스틱 지표를 사용하여 중간 단선과 단선의 트렌드 전환점을 동시에 식별 할 수 있습니다.
스토카스틱 지표의 오버 바이 오버 셀 신호를 사용하여 더 효과적인 쌍중위 평균 역전 거래 기회를 선택하십시오.
거래 전략 규칙이 명확하고 실행하기 쉽다.
다양한 품종과 기간에 맞게 조정 가능한 거래 시간 및 월 변수
위험을 통제하기 위해 스톱로스를 설정하십시오.
이 전략에는 몇 가지 위험도 있습니다.
이중 중복 평균은 가짜 돌파구를 생성할 수 있고, 스토카스틱 지표는 유효하지 않은 이질적인 K선 형태를 나타낼 수 있으며, 거래 신호 오류를 초래할 수 있다. 파라미터를 적절히 조정하거나, 조합 검증을 위해 다른 지표를 추가할 수 있다.
단지 기술적인 지표에 기초하여 기본적인 요소를 고려하지 않고, 주요 경제 사건이 발생했을 때 실패할 수 있다. 경제 사건 위험 제어에 추가할 수 있다.
이동 평균이 반전되는 정확한 시점을 파악하기 어렵기 때문에 너무 작거나 너무 큰 문제가 발생할 수 있습니다.
매개 변수 설정이 잘못되면 거래 빈도가 너무 높거나 신호 효과가 좋지 않을 수 있습니다. 다양한 품종과 주기별로 매개 변수 최적화 테스트를 수행해야합니다.
단선 거래에만 적합하며, 장선 보유에는 적합하지 않습니다. 포지션 크기를 제어해야합니다.
이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.
KDJ, MACD 등과 같은 더 많은 지표의 조합을 테스트하여 신호의 효과를 높여라.
거래량 지표 분석에 참여하여 가짜 돌파구를 피하십시오.
이중 평균 변수를 최적화하여 보다 정확한 반전 시점을 식별한다.
정지 손실 전략을 최적화하여 정지 손실이 유발될 가능성을 낮추십시오.
경제 사건 위험 제어 모듈을 추가하여 주요 사건의 거래 영향을 피하십시오.
기계 학습 기술을 사용하여 매개 변수를 자동으로 최적화하여 매개 변수의 적응성을 향상시킵니다.
더 많은 품종과 주기에서 재검토하여 최적의 적용 방향을 찾아보세요.
이 전략은 두 개의 중복 평균과 Stochastic 이질적 K 선 형태의 조합을 사용하여 중간 짧은 선의 추세 역점에서 거래하는 목적을 달성합니다. 특정 지표를 사용하는 것에 비해 이 전략은 거래의 수익성을 향상시킬 수 있으며, 전략 규칙은 명확하고 쉽게 작동합니다. 그러나 이 전략에는 또한 위험성이 있습니다.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Intraday Stochiastic Strategy", shorttitle="Intraday Stochiastic Strategy", overlay=true, initial_capital = 1000)
//WORKS FOR BTCUSD M30
//OBVERVED GOOD PERFORMANCES FOR SELL MODE M15 : US30USD / UK100GBP / JP225USD / SPX500USD / BCOUSD / EURGBP
//Best Forex Hours are 7-21
//0 is Long Position
//1 is Short Position
//2 No position
mode=input(1, maxval=2, title="Mode")
lossLimit=input(10000, maxval=10000, title="Loss Limit")
hourStart=input(2, maxval=24, title="Hour Start")
hourStop=input(13, maxval=24, title="Hour Stop")
//Month selected for back testing. 0 is maximum number of months
monthSelected = input(0, maxval=12, title="Month Selected")
/////////////////////////////////////////////////
fast = 20, slow = 50, ultraSlow = 200
fastMA = sma(close, fast)
slowMA = sma(close, slow)
ultraSlowMA = sma(close, ultraSlow)
colorFast = red
colorSlow = black
colorUltraSlowMA = purple
if(timeframe.period == "1" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "15" or timeframe.period == "30" or timeframe.period == "45" or timeframe.period == "60" or timeframe.period == "120" or timeframe.period == "180" or timeframe.period == "240")
fastMA := ema(close, fast)
slowMA := ema(close, slow)
ultraSlowMA := ema(close, ultraSlow)
colorFast := orange
colorSlow := gray
colorUltraSlowMA := blue
p1 = plot(fastMA, color=colorFast)
p2 = plot(slowMA, color=colorSlow, linewidth=2)
p3 = plot(ultraSlowMA, color=colorUltraSlowMA, linewidth=3)
fill(p1, p2, color = fastMA > slowMA ? green : red)
////////////////////////////////////////////////
ema150 = 200
ema150MA = ema(close, ema150)
smooth = input(3, minval=1), K = input(14, minval=1), D=input(3,minval=1)
hh=highest(high,K)
ll=lowest(low,K)
k = sma((close-ll)/(hh-ll)*100, smooth)
d = sma(k, 3)
//plot(k, color=blue)
//plot(d, color=red)
//h0 = hline(80)
//h1 = hline(20)
//fill(h0, h1, color=purple, transp=95)
//plot(hour*100, color=red, linewidth=2)
stochiasticHigh = 80
stochiasticLow = 20
data = close < ema150MA and k>stochiasticHigh and d>stochiasticHigh and close>open
plotshape(data, style=shape.triangledown, location=location.belowbar, color=red)
data2 = close > ema150MA and k<stochiasticLow and d<stochiasticLow and close<open
plotshape(data2, style=shape.triangleup, location=location.abovebar, color=green)
isData = 0
isData := isData[1]
if(isData == 0)
if(data)
if(mode==1 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) //DOW hours : 2-13
strategy.entry("SCALP SHORT", strategy.short)
isData := 1
else
if(k<stochiasticLow and d<stochiasticLow)
if(mode==1)
strategy.close_all(when = true)
isData := 0
isData2 = 0
isData2 := isData2[1]
if(isData2 == 0)
if(data2)
if(mode==0 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected))
strategy.entry("SCALP LONG", strategy.long)
isData2 := 1
else
if(k>stochiasticHigh and d>stochiasticHigh)
if(mode==0)
strategy.close_all(when = true)
isData2 := 0
strategy.exit("STOP LOSS", "SCALP LONG", loss=lossLimit)
strategy.exit("STOP LOSS", "SCALP SHORT", loss=lossLimit)