이 전략은 스토카스틱 지표의 %K 라인과 %D 라인의 황금 십자와 죽음의 십자 기반의 거래 신호를 생성합니다. 둘 다 과잉 매입 영역에있을 때 %K 라인이 %D 라인을 넘을 때 짧고 둘 다 과잉 매매 영역에있을 때 %K 라인이 %D 라인을 넘을 때 길게됩니다. 전략은 스토카스틱 지표의 역전 특성을 포착하고 트렌드 전환점에 대해 거래 신호를 형성합니다.
이 전략은 스토카스틱 지표의 %K 및 %D라는 두 줄을 사용합니다. %K 줄은 특정 기간 동안 최고 및 최저 가격에 대한 현재 폐쇄 가격을 표시하고, %D 줄은 %K 줄의 M-day 간단한 이동 평균입니다.
%K 라인이 %D 라인의 아래를 넘으면 하락 추세의 시작을 나타냅니다. 과잉 매입 영역의 두 라인과 함께 가격 반전의 중요한 지점을 나타냅니다. 따라서 짧은 지위가 취지됩니다.
%K 라인이 %D 라인의 위를 넘을 때 상승 추세의 시작을 나타냅니다. 과잉 판매 영역의 두 라인과 함께, 그것은 가격 반전의 중요한 지점을 신호합니다. 따라서 긴 지위가 취합니다.
스토카스틱 지표의 반전 순간을 포착함으로써 트렌드 전환점에 거래 신호를 생성 할 수 있습니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
대응 솔루션:
전략은 다음 측면에서 최적화 될 수 있습니다:
이 전략은 역동적인 거래에 대한 반전을 포착하는 것을 목표로 스토카스틱 지표의 단선과 긴 라인의 교차를 기반으로 거래 신호를 생성합니다. 논리는 간단하고 명확하며 구현하기 쉽지만 일부 결함이 있습니다. 매개 변수 조정, 지표 조합, 위험 통제 등을 통해 더 나은 결과를 얻을 수 있습니다. 이는 고 주파수 거래에 적합한 단기 거래 전략입니다.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 11/01/2017 // This back testing strategy generates a long trade at the Open of the following // bar when the %K line crosses below the %D line and both are above the Overbought level. // It generates a short trade at the Open of the following bar when the %K line // crosses above the %D line and both values are below the Oversold level. // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy(title="Strategy Stochastic Crossover", shorttitle="Strategy Stochastic Crossover1", overlay = true ) Length = input(7, minval=1) DLength = input(3, minval=1) Oversold = input(20, minval=1) Overbought = input(70, minval=1) reverse = input(false, title="Trade reverse") vFast = stoch(close, high, low, Length) vSlow = sma(vFast, DLength) pos = iff(vFast < vSlow and vFast > Overbought and vSlow > Overbought, 1, iff(vFast >= vSlow and vFast < Oversold and vSlow < Oversold, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue )