KST 지표 수익 전략은 SPY의 30분 주기에 적용되는 주식 선택 전략이다. 이 전략은 KST 지표의 크로스오버를 사용하여 입출 시기를 결정한다.
이 전략은 주로 KST 지표에 기반합니다. KST 지표는 다음과 같은 부분으로 구성됩니다.
구매 및 판매 신호는 KST 라인과 신호 라인 사이의 황금 십자가와 죽음의 십자가에 의해 결정됩니다.
이 전략의 주요 장점은 다음과 같습니다.
KST 지표는 다양한 시간 지평에 걸쳐 가격 움직임을 포괄적으로 고려하여 전략을 더 안정적이고 신뢰할 수 있습니다.
KST 지표에서 ROC 곡선의 가중화 평균은 장기 가격 변화가 주도적인 역할을 하는 것을 보장하며, 이는 시장 추세를 파악하는 데 도움이됩니다.
SPY 같은 유동성 높은 제품에서 잘 작동합니다.
이 전략에는 몇 가지 위험도 있습니다.
MA 지표와 마찬가지로 KST 지표는 옆 시장에서 잘못된 신호를 생성 할 수 있습니다. 이는 매개 변수 조정으로 개선 될 수 있습니다.
진입과 출입은 근본적인 요소나 시장 체제를 고려하지 않고 완전히 지표에 의존하며, 중요한 사건의 경우 큰 손실을 초래합니다.
투자 우주에는 SPY만 포함되어 있기 때문에 단일 자산의 위험은 높을 수 있습니다.
전략을 최적화 할 수있는 방법:
최고의 조합을 찾기 위해 KST 매개 변수를 최적화해
변동성 지표를 포함해서 불온 시장에서 잘못된 신호를 피합니다.
거래당 하락 위험을 제한하기 위해 스톱 로스 오더를 추가합니다.
안정성을 높이기 위해 특정 기준을 충족하는 개별 주식을 포함하도록 주식 풀을 확장하십시오.
이 전략은 KST 지표를 사용하여 SPY의 단기 트렌드를 확인하고 좋은 백테스트 결과를 얻습니다. 우리는 매개 변수 조정, 위험 통제 및 증권 선택 기준 확장을 통해 안정성과 실제 성능을 향상시킬 수 있습니다. 더 보편적으로 적용 할 수 있습니다.
/*backtest start: 2022-11-20 00:00:00 end: 2023-11-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("KST Strategy", shorttitle="KST", overlay=true) roclen1 = input.int(11, minval=1, title="ROC Length #1") roclen2 = input.int(15, minval=1, title="ROC Length #2") roclen3 = input.int(20, minval=1, title="ROC Length #3") roclen4 = input.int(33, minval=1, title="ROC Length #4") smalen1 = input.int(9, minval=1, title="SMA Length #1") smalen2 = input.int(14, minval=1, title="SMA Length #2") smalen3 = input.int(8, minval=1, title="SMA Length #3") smalen4 = input.int(15, minval=1, title="SMA Length #4") siglen = input.int(9, minval=1, title="Signal Line Length") smaroc(roclen, smalen) => ta.sma(ta.roc(close, roclen), smalen) kst = smaroc(roclen1, smalen1) + 2 * smaroc(roclen2, smalen2) + 3 * smaroc(roclen3, smalen3) + 4 * smaroc(roclen4, smalen4) sig = ta.sma(kst, siglen) // Plot the KST and Signal Line plot(kst, color=#009688, title="KST") plot(sig, color=#F44336, title="Signal") hline(0, title="Zero", color=#787B86) // Strategy logic longCondition = ta.crossover(kst, sig) shortCondition = ta.crossunder(kst, sig) strategy.entry("Long", strategy.long, when=longCondition) strategy.entry("Short", strategy.short, when=shortCondition)