이 전략은 무작위 지표의 K선과 D선이 교차하여 거래 신호를 생성하며, 전형적인 무작위 지표 거래 전략에 속한다.
일정 주기 내의 임의 지표 K선과 D선 을 계산한다.
K선에서 아래쪽에서 D선을 뚫을 때, 구매 신호가 발생한다.
K선에서 D선 아래로 돌파할 때 팔기 신호가 발생한다.
전략의 효과를 테스트하기 위해 재검토의 시간 범위를 설정할 수 있습니다.
무작위 지표의 교차를 사용하여 거래하고, 전략 규칙은 간단하고 명확하다.
무작위 지표는 과매매에 민감하다.
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")