이 전략은 이동 평균에 기반한 트렌드 추적 전략입니다. 그것은 낮은 위험 트렌드 거래의 트렌드 방향을 결정하기 위해 빠르고 느린 이동 평균의 크로스 오버와 크로스 아더를 사용합니다.
이 전략은 기간 9의 빠른 이동 평균과 기간 21의 느린 이동 평균을 사용한다. 빠른 MA가 느린 MA를 넘을 때, 시장의 상승 추세를 신호하고 긴 지위가 취득된다. 빠른 MA가 느린 MA를 넘을 때, 하락 추세를 신호하고 모든 긴 지위가 폐쇄된다.
특히, 전략은 빠른 MA와 느린 MA의 값을 계산하고 트렌드 방향을 결정하기 위해 그 관계를 비교합니다. 상승 트렌드에서 빠른 MA가 느린 MA 위에 넘어가면 긴 엔트리 신호가 트리거됩니다. 하락 트렌드에서 빠른 MA가 느린 MA 아래에 넘어가면 기존의 긴 포지션을 닫기 위해 출구 신호가 트리거됩니다.
이렇게 하면 빠른 MA와 느린 MA의 크로스오버와 크로스온더는 거래 후 낮은 위험 트렌드에 대한 트렌드 전환을 포착합니다.
위험은 매개 변수를 조정하고 필터를 추가하고, 손해를 멈추고/이익을 취함으로써 관리될 수 있습니다.
트렌드를 따르는 간단한 전략으로서, 핵심 아이디어는 트렌드 방향을 결정하기 위해 빠르고 느린 MA를 사용하는 것입니다. 장점은 단순성, 명확한 규칙 및 효과적인 트렌드 추적입니다. 단점은 지연, 잘못된 신호 및 과도한 거래입니다. 우리는 매개 변수를 조정하고 시장 조건에 더 잘 적응하기 위해 다른 지표를 추가하여 최적화 할 수 있습니다. 전반적으로, 이중 MA 전략은 양적 거래에 간단하고 신뢰할 수있는 접근 방식을 제공합니다. 지속적인 개선으로 성능이 더욱 향상 될 수 있습니다.
/*backtest start: 2023-09-01 00:00:00 end: 2023-09-20 23:59:59 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Profitable Crypto Strategy", shorttitle="Profit Strategy", overlay=true) // Define strategy parameters fastLength = input.int(9, title="Fast MA Length", minval=1) slowLength = input.int(21, title="Slow MA Length", minval=1) stopLossPercent = input.float(1.0, title="Stop Loss %", step=0.1) takeProfitPercent = input.float(1.0, title="Take Profit %", step=0.1) // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Entry condition: Buy when fast MA crosses above slow MA longCondition = ta.crossover(fastMA, slowMA) // Exit condition: Sell when fast MA crosses below slow MA shortCondition = ta.crossunder(fastMA, slowMA) // Plot moving averages on the chart plot(fastMA, color=color.blue, title="Fast MA") plot(slowMA, color=color.orange, title="Slow MA") // Strategy entry and exit logic var stopLossPrice = 0.0 var takeProfitPrice = 0.0 if (longCondition) stopLossPrice := close * (1.0 - stopLossPercent / 100) takeProfitPrice := close * (1.0 + takeProfitPercent / 100) strategy.entry("Long", strategy.long) if (shortCondition) strategy.close("Long") // Set stop loss and take profit for open positions strategy.exit("Stop Loss/Profit", stop=stopLossPrice, limit=takeProfitPrice)