전략에 따른 SMA 크로스오버 상승 추세

저자:차오장, 날짜: 2024-02-04 14:56:00
태그:

img

전반적인 설명

이 전략은 간단한 이동 평균 (SMA) 의 크로스오버를 기반으로 한 장기 트렌드 다음 전략입니다. 단기 SMA가 장기 기간 SMA를 넘어서 상승 추세를 따라가면 구매 신호를 생성합니다. 동시에 위험을 관리하기 위해 엔트리 가격의 특정 비율에 따라 수익을 취하고 손실을 중지합니다.

전략 논리

이 전략은 주로 진입 시기를 결정하기 위해 SMA 지표의 골든 크로스 크로스오버 신호를 사용합니다. 구체적으로, 9 기간 및 21 기간 SMA를 각각 계산합니다. 단기 9 기간 SMA가 아래에서 장기 기간 21 기간 SMA를 넘을 때 가격은 통합에서 상승 추세로 이동하고 있음을 나타냅니다. 이는 추세를 따르는 좋은 시점입니다. 전략은 트렌드를 따르는 구매 신호를 생성합니다.

또한, 전략은 또한 입력 가격의 1.5%와 1%에 기초하여 수익을 취하고 손실을 중지합니다. 즉, 수익은 입력 가격보다 1.5% 높고 중지 손실은 1% 낮을 것입니다. 이 접근 방식을 통해 미리 정의된 위험-상금 비율을 설정하여 위험을 관리합니다.

장점

  • 진입을 결정하기 위해 SMA를 사용하면 단기 시장 소음을 필터링하고 중장기 트렌드를 잡습니다.
  • SMA 기간은 조정 가능하며 다른 시간 지평에서의 경향에 적응할 수 있습니다.
  • 리스크 관리 메커니즘은 포괄적이며 리스크/이익 비율을 조정함으로써 단일 거래 손실을 제어할 수 있습니다.
  • 전략은 이해하기 쉽고 양적 거래에 초보자에게 적합합니다.

위험 과 해결책

  • SMA 크로스오버 신호는 잘못된 브레이크오프를 가지고 불필요한 손실을 유발할 수 있습니다. 다른 지표는 신호를 필터링하는 데 사용될 수 있습니다.
  • 이윤을 취하고 손실을 멈추는 것은 상대적으로 고정되어 있으며, 이는 예상 수익으로 이어질 수 있지만 실제 손실을 초래할 수 있습니다. 동적으로 수익을 취하고 손실을 멈추는 것을 고려하십시오.
  • 리스크/이익 비율은 고정되어 있으며 변화하는 시장 변동에 적응할 수 없습니다. ATR 및 다른 지표를 사용하여 리스크/이익 수준을 동적으로 조정하는 것을 고려하십시오.
  • 일정 시간 간격이 있습니다. SMA 기간을 줄이거나 주요 지표를 도입하는 것을 고려할 수 있습니다.

더 나은 기회

  • 다른 지표를 추가하여 SMA 크로스오버 신호를 필터링하고 잘못된 신호를 피합니다. 예를 들어 KDJ, 변동성 지표 등.
  • 동적으로 수익을 취하고 손실을 멈추는 것을 추적합니다. 예를 들어 Chandelier Exit 알고리즘을 사용하여.
  • ATR 및 다른 지표를 사용하여 시장 변동성에 따라 위험/이익 비율을 동적으로 조정합니다.
  • SMA 기간을 줄이거나 시간 차이를 줄이기 위해 선도적 지표를 도입하십시오.

결론

이것은 SMA 크로스오버에 기반한 중장기 트렌드를 따르는 전략이다. 그것은 SMA와 트렌드를 식별하고 수익을 취하고 손실을 중지하여 위험을 제어한다. 이점은 단순하고 쉽게 구현할 수 있다는 것이며, 양적 거래에 초보자에게 적합하다. 한편, 다른 신호 필터를 추가하고, 수익을 취하고 / 손실을 중지하는 것을 동적으로 추적하고, 변동성에 따라 위험-상금 비율을 조정하는 등 향상시킬 방도 있다. 지속적인 개선을 통해 전략은 더 견고해지고 더 많은 시장 환경에 적응할 수 있다.


/*backtest
start: 2023-01-28 00:00:00
end: 2024-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Masterdata

//@version=5
strategy("Simple MA Crossover Long Strategy v5", overlay=true)

// Define the short and long moving averages
shortMa = ta.sma(close, 9)
longMa = ta.sma(close, 21)

// Plot the moving averages on the chart
plot(shortMa, color=color.green)
plot(longMa, color=color.orange)

// Generate a long entry signal when the short MA crosses over the long MA
longCondition = ta.crossover(shortMa, longMa)
if (longCondition)
    strategy.entry("Long", strategy.long)

// Define the take profit and stop loss as a percentage of the entry price
takeProfitPerc = 1.5 / 100 // Take profit at 1.5% above entry price

stopLossPerc = 1.0 / 100 // Stop loss at 1.0% below entry price

// Calculate the take profit and stop loss price levels dynamically
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc)
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc)

// Set the take profit and stop loss for the trade
if (longCondition)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=takeProfitLevel, stop=stopLossLevel)

더 많은