이것은 이동평균을 기반으로 한 단기 추적 전략이다. 그것은 장기 및 단기 이동평균의 황금 크로스오버를 구매 신호로 사용하고, 죽음의 크로스를 판매 신호로 사용합니다. 거짓 신호를 필터하기 위해 RSI 지표와 결합하면 이것은 고 빈도 내일 거래에 적합한 전형적인 단기 거래 전략입니다.
이 전략은 200주기 간단한 이동 평균 마롱을 장기선으로, 21주기 기하급수적인 이동 평균 마쇼트를 단기선으로 사용합니다. 가격이 장기선 위에 넘어가고 RSI가 20 이하일 때 구매 신호를 생성합니다. 가격이 단기선 아래에 넘어가고 RSI가 80를 넘었을 때 판매 신호가 생성됩니다. 잘못된 신호를 필터하기 위해 추가적인 기준이 설정됩니다. 가격은 단기선 아래에 있고 이전 바의 가장 낮은 가격 이상일 때만 긴 포지션을 닫습니다. 가격이 단기선 위에 있고 이전 바의 가장 높은 가격 이하일 때만 단기 포지션을 닫습니다.
이 전략은 또한 1%의 스톱 로스를 설정하고 1%의 수익을 취합니다. 즉, 긴 포지션의 스톱 로스는 입상 가격의 99%로 설정되고, 수익은 입상 가격의 101%로 설정됩니다. 짧은 포지션의 경우 정반대의 경우입니다. 이것은 모든 거래에 대한 엄격한 위험 통제를 보장합니다.
이 전략의 가장 큰 장점은 단기 추적 능력에 있다. 이동 평균의 황금/죽음 크로스 조합은 단기 트렌드 변화를 식별하는 효과적인 기술적 지표로 입증되었다. RSI 극단적 가치 필터링과 결합하여 단기 반전 기회를 효과적으로 감지하고 신속하게 위치를 조정할 수 있다. 이러한 고주파 전략은 단기 가격 변동을 완전히 포착하고 이익을 창출할 수 있다.
또 다른 장점은 전략에 설정된 엄격한 스톱 로스 메커니즘이다. 길거나 짧든 스톱 로스는 엔트리/엑시트 가격의 1% 아래로 설정되어 손실 확대 방지를 위해 빠른 스톱 로스를 허용합니다. 마찬가지로 수익을 취하는 경우 1%로 설정되어 수익을 취한 후 적시에 수익을 확보합니다.
이 전략의 가장 큰 위험은 과도한 거래로 이어질 수 있다는 것입니다. 가격이 이동 평균 근처에 변동할 때, 종종 오픈 및 클로징을 유발하는 경향이 있으며, 이는 캐리 비용과 거래 수수료를 제어하는 데 도움이되지 않습니다. 이 경우 불필요한 거래를 줄이기 위해 지표 매개 변수의 적절한 완화가 필요합니다.
또 다른 위험은 이동 평균의 잘못된 신호에 있다. 가격이 급격한 변동을 겪을 때 실제 트렌드는 변하지 않을 수 있지만 이동 평균은 여전히 잘못된 신호를 줄 수 있다. 이것은 RSI 극한 가치 필터링을 의존해야 하는 경우이다. RSI 매개 변수를 테스트하고 최적화하여 필터링을 더 엄격하게 할 수 있다.
전략의 다음 측면은 더 이상 최적화 될 수 있습니다:
필터링을 위한 다른 지표, 예를 들어 KD, MACD 등을 추가하여 여러 지표에 기초한 실제 시장 트렌드를 결정하여 잘못된 신호를 피합니다.
성능 영향에 대해 다른 사이클 매개 변수를 테스트하여 이동 평균 매개 변수를 최적화합니다.
정지 손실을 최적화하고 수익 매개 변수를 취하여 정지 손실 범위를 적절히 확장하여 정지 확률을 줄이십시오.
오버나이트 리스크를 최소화하기 위해 활성 거래 시간 동안만 포지션을 취하기 위해 거래 세션 필터를 추가합니다.
일내 순환과 빈 창고 필터를 추가하여 불필요한 거래 빈도 및 비용 비용을 줄이십시오.
요약하자면, 이것은 전형적인 단기 추적 전략이다. 단기 트렌드를 결정하기 위해 이동 평균의 황금/죽음 크로스 조합을 활용하고, 잘못된 신호를 필터하기 위해 RSI 지표로 보완한다. 이 전략은 단기 가격 변동을 완전히 포착할 수 있는 높은 주파수 내일 거래의 장점을 가지고 있다. 그러나 또한 잘못된 신호와 과도한 거래의 특정 위험을 가지고 있다. 파라미터 최적화와 더 많은 지표를 통합함으로써 더 많은 지표를 통합하여 전략의 안정적인 수익성을 향상시킬 수 있다.
/*backtest start: 2024-01-27 00:00:00 end: 2024-02-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("simple pull back", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Input values malongperiod = input.int(200, "Long Term SMA Period", group="Parameters") mashortperiod = input.int(21, "Short Term SMA Period", group="Parameters") stoprate = 1 // Set the stop loss percentage to 1% profit = input.int(1, "Take Profit Percentage", group="Parameters") // Change the take profit percentage to 1% startday = input(title="Start Trade Day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="Period") endday = input(title="End Trade Day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Period") // Plotting indicators malong = ta.sma(close, malongperiod) mashort = ta.ema(close, mashortperiod) plot(malong, color=color.aqua, linewidth=2) plot(mashort, color=color.yellow, linewidth=2) // Date range datefilter = true // Long entry condition if close > malong and close < mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) < 20 strategy.entry("Long", strategy.long) // Short entry condition if close < malong and close > mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) > 80 strategy.entry("Short", strategy.short) // Exit conditions with 1% stop loss and 1% take profit strategy.exit("Cut", "Long", stop=(1 - 0.01 * stoprate) * strategy.position_avg_price, limit=(1 + 0.01 * profit) * strategy.position_avg_price) if close > mashort and close < low[1] and strategy.position_size > 0 strategy.close("Long") if close < mashort and close > high[1] and strategy.position_size < 0 strategy.close("Short")