이 전략은
이 전략은 트렌드 방향과 역전 시기를 결정하기 위해 파라볼릭 SAR 지표를 사용합니다. 주식 지표는 과잉 구매 또는 과잉 판매 여부를 판단합니다. 보안 기능은 전체 추세를 결정하기 위해 더 긴 사이클 이동 평균의 방향을 추출합니다. 세 가지가 결합되어 거래 결정을 만듭니다:
Parabolic SAR 점들이 하향으로 전환되면 상승 신호로 간주됩니다. 점들이 상향으로 전환하면 하향을 나타냅니다.
20 이하의 주식 K 값은 과판된 것으로 간주되며, 80 이상은 과판된 것으로 간주됩니다. 과판된 경우 상승하고 과판된 경우 하락합니다.
보안 함수는 더 긴 주기 이동 평균을 호출하여 전체 트렌드 방향을 결정하여 다른 시간 사이클 사이의 결합 분석을 가능하게합니다.
위 3가지 지표가 상승 시그널을 주는 경우, 장기화한다. 하락 시그널을 주는 경우, 단축한다. 여러 지표 필터링의 원칙을 엄격히 따를 때, 거짓 브레이크오웃을 효과적으로 필터링하고 진정한 트렌드를 잠금한다.
이 전략의 가장 큰 장점은 멀티 타임프레임 분석에 있다. 세 가지 지표는 각각 단기, 중기 및 장기 수준에서 가격 행동을 판단한다. 파라볼릭 SAR는 반전 타이밍과 단기 트렌드를 포착한다. 주식은 현재 과잉 구매 및 과잉 판매 조건을 결정한다. 보안 기능은 전반적인 트렌드 방향을 결정한다. 세 가지 지표는 서로 보완하여 가짜 브레이크의 간섭을 효과적으로 피하고 트렌드 확립의 기회를 잡는다.
동시에, 이 전략은 판단 및 필터링을 위해 여러 지표를 채택하여 하나의 잘못된 판단의 가능성을 최소화합니다. 세 번 확인의 연속적 통과는 충분한 신호 강도를 보장하므로 거래 결정의 정확성을 보장합니다.
이 전략의 주요 위험은 지표 매개 변수 설정의 적절함에 있다. 파라볼릭 SAR의 단계 크기 및 최대 단계 크기는 반전을 캡처하는 속도에 직접 영향을 미칩니다. 스톡의 K 값과 D 값 평형 사이클은 시장 특성과 일치해야합니다. 보안 기능의 선택 사이클은 판단에도 영향을 미칩니다. 이러한 주요 매개 변수의 부적절한 설정은 모두 전략의 잘못된 거래 결정으로 이어질 수 있습니다.
또한, 다중 시간 프레임 분석의 원칙은 기간에 걸쳐 지표의 조합을 강조한다. 그러나, 긴 주기와 짧은 주기의 지표 사이의 오차를 처리하는 방법 또한 주목할 가치가 있는 문제이다. 가능한 해결책은 트렌드 지표로 전반적인 방향을 결정하고 BREAKOUT 지표를 사용하여 특정 출구 시기를 파악하는 것이다.
이 전략의 더 이상의 최적화를 위한 주요 방향은 다음 세 가지 측면입니다.
적응 단계 크기의 메커니즘을 증가시킵니다. 역전을 더 잘 포착하기 위해 시장 변동성의 정도에 따라 평형 SAR 매개 변수를 조정 할 수 있습니다.
스톱 로스 메커니즘을 추가합니다. 가격이 불리한 방향으로 특정 수준을 돌파 할 때 스톱 로스로 출입합니다. 단일 거래 손실을 제어합니다.
기계 학습 기법을 도입한다. 알고리즘을 사용하여 서로 다른 기간에 걸쳐 가격 행동 사이의 상관 관계를 훈련한다. 다른 시간 프레임을 결합하는 전략 매개 변수도 알고리즘을 통해 최적화 할 수 있다.
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='kyenji', shorttitle='kyenji90', overlay=true) // Parabolic SAR parabolicSARStart=input.float(0.01) parabolicSARInc=input.float(0.01) parabolicSARMax=input.float(0.2) psarDot = ta.sar(parabolicSARStart,parabolicSARInc,parabolicSARMax) longConditionPSAR = psarDot > close shortConditionPSAR = psarDot < close // Stoch periodK = input.int(14, title="K", minval=1) periodD = input.int(3, title="D", minval=1) smoothK = input.int(3, title="Smooth", minval=1) k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) h0 = 80 h1 = 20 longConditionStoch = k < h1 shortConditionStoch = k > h0 // Security securityPeriod=input('180') longConditionSecurity = ta.crossover(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) shortConditionSecurity = ta.crossunder(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) // Generate Signal longCondition = longConditionSecurity and longConditionPSAR and longConditionStoch shortCondition = shortConditionSecurity and shortConditionPSAR and shortConditionStoch if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)