이 전략은 이동 평균의 크로스오버를 기반으로 시장 트렌드 방향을 판단하고 트렌드를 추적하는 양적 거래 전략입니다. 진입점과 출구점을 결정하기 위해 다른 매개 변수와 간단한 이동 평균의 크로스오버를 사용합니다.
이 전략의 주요 판단 규칙은 다음과 같습니다.
단기 이동 평균이 하위에서 장기 이동 평균을 넘으면 시장이 상승 추세로 진입할 수 있음을 나타냅니다.
단기 이동 평균이 상위로부터 장기 이동 평균 아래로 넘어가면 시장이 하락 추세로 진입할 수 있음을 나타냅니다.
서로 다른 매개 변수를 가진 이동 평균을 사용하여 서로 다른 시간 스케일에서 트렌드를 판단하고 서로 다른 수준에서 트렌드를 추적합니다.
특히, 전략은 20일, 30일, 50일, 60일 및 200일 5개의 이동평균을 사용합니다. 20일 MA가 50일 MA를 넘으면 구매 신호입니다. 10일 MA가 30일 MA를 넘으면 판매 신호입니다. 다른 매개 변수의 MA를 사용하면 더 길고 짧은 시간 스케일에서 트렌드를 알 수 있습니다.
MA 크로스오버에 기반한 이러한 트렌드 추적 전략은 다음과 같은 장점을 가지고 있습니다.
이 전략에는 몇 가지 위험도 있습니다.
위험을 줄이기 위해 MA 매개 변수를 조정하고 매개 변수 설정을 최적화하고 다른 지표를 사용하여 의사결정을 도울 수 있습니다.
우리는 다음 영역에서 이 전략을 최적화 할 수 있습니다:
이것은 매우 기본적인 트렌드 추적 전략입니다. 그것은 MA 크로스오버 원리를 사용하여 시장 트렌드 방향을 결정합니다. 간단하고 효과적이며 이해하기 쉽고 구현하기 쉽습니다. 우리는 더 복잡한 양적 거래에 적합하도록 많은 확장 및 최적화를 할 수 있습니다. 전반적으로 이것은 구축 할 수있는 훌륭한 전략 프레임워크입니다.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Grafik Formasyonları Alım-Satım Stratejisi", overlay=true) // Inverse Head and Shoulders (İnverse Omuz-Baş-Omuz) ihs_condition = ta.crossover(ta.sma(close, 50), ta.sma(close, 200)) // Head and Shoulders (Omuz-Baş-Omuz) hs_condition = ta.crossunder(ta.sma(close, 50), ta.sma(close, 200)) // Flag Pattern (Bayrak Formasyonu) flag_condition = ta.crossover(ta.sma(close, 10), ta.sma(close, 30)) // Triangle Pattern (Trekgen Formasyonu) triangle_condition = ta.crossover(ta.sma(close, 20), ta.sma(close, 50)) // Pennant Pattern (Ters Bayrak Formasyonu) pennant_condition = ta.crossunder(ta.sma(close, 10), ta.sma(close, 20)) // Inverse Triangle Pattern (Ters Üçgen Formasyonu) inverse_triangle_condition = ta.crossunder(ta.sma(close, 30), ta.sma(close, 60)) // Alım-Satım Sinyalleri if (ihs_condition) strategy.entry("İHS_Long", strategy.long) if (hs_condition) strategy.close("İHS_Long") if (flag_condition) strategy.entry("Flag_Long", strategy.long) if (triangle_condition) strategy.entry("Triangle_Long", strategy.long) if (pennant_condition) strategy.entry("Pennant_Short", strategy.short) if (inverse_triangle_condition) strategy.close("Pennant_Short")