이 전략은 K선과 D선 사이의 스토카스틱 크로스오버를 사용하여 전형적인 스토카스틱 트레이딩 전략인 트레이딩 신호를 생성합니다.
정해진 기간 동안 스토카스틱 K와 D 선을 계산합니다.
D선 위의 K선 교차는 구매 신호를 생성합니다.
D선 아래의 K선 교차는 판매 신호를 생성합니다.
역 테스트 날짜 범위를 설정하여 전략의 효과를 테스트할 수 있습니다
단순하고 명확한 규칙 거래 스토카스틱 크로스오버
과잉 구매 및 과잉 판매 수준에 민감한 스토카스틱스
K선과 D선은 쉬운 거래 신호를 형성합니다.
백테스트는 전략 수행을 확인합니다.
스토카스틱은 계산하고 구현하기 쉽습니다.
더 발전하기 쉬운 간결한 코드.
크로스오버는 잘못된 신호를 생성할 수 있습니다.
손해를 멈추거나 이익을 취하지 않습니다.
추세와 범위를 구분하지 못합니다.
백테스트는 미래지향적인 편견을 가지고 있습니다.
실제 거래 성과는 백테스트와 다를 수 있습니다.
최적값을 찾기 위한 테스트 매개 변수
추가 검증을 위해 트렌드 필터를 추가합니다.
스톱 로스 및 수익 메커니즘을 구축합니다.
신호 확인을 위한 다른 요소를 포함합니다.
편견을 제거하기 위해 백테스트 데이터를 처리합니다.
종이 거래는 실시간 거래의 매개 변수를 최적화합니다.
이 전략은 간단한 스토카스틱 크로스오버를 거래하지만 안정성을 위해 정교화가 필요합니다. 매개 변수 조정, 위험 통제 등을 통해 개선하면 강력한 양 거래 시스템으로 전환 될 수 있습니다.
/*backtest start: 2023-08-20 00:00:00 end: 2023-09-19 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © utanico //@version=4 strategy(title="Stochastic", overlay=true, shorttitle="Stoch") periodK = input(35, title="K", minval=1) periodD = input(21, title="D", minval=1) smoothK = input(21, title="Smooth", minval=1) startYear = input(type=input.integer, title = "開始年", defval = 2020) startMonth = input(type=input.integer, title = "開始月", defval = 1) startDay = input(type=input.integer, title = "開始日", defval = 1) endYear = input(type=input.integer, title = "終了年", defval = 2030) endMonth = input(type=input.integer, title = "終了月", defval = 12) endDay = input(type=input.integer, title = "終了日", defval = 31) //開始日時 test_start = timestamp(startYear, startMonth, startDay, 00, 00) //終了日時 test_end = timestamp(endYear, endMonth, endDay, 00, 00) //テスト期間の指定 is_test = true k = sma(stoch(close, high, low, periodK), smoothK) d = sma(k, periodD) if (is_test) if (k > d) strategy.entry("Stoch_LE", strategy.long, comment="Stoch_LE") //if (strategy.opentrades > 0 and k < d) //strategy.close("Stoch_LE",comment="CloseLONG") if (k < d) strategy.entry("Stoch_SE", strategy.short, comment="Stoch_SE") //if (strategy.opentrades < 0 and k > d) //strategy.close("Stoch_SE",comment="CloseShort")