리소스 로딩... 로딩...

이동 평균 크로스오버 전략

저자:차오장, 날짜: 2024-04-30 17:33:09
태그:MASMA

img

전반적인 설명

이 전략은 거래 신호를 생성하기 위해 두 개의 이동 평균 (MA) 을 사용합니다. 짧은 기간 MA가 더 긴 기간 MA를 넘을 때 구매 신호가 생성됩니다. 짧은 기간 MA가 더 긴 기간 MA를 넘을 때 판매 신호가 생성됩니다. 전략은 또한 거래 시간 (8 AM ~ 20 PM UTC) 과 수익 목표 (150 포인트) 를 설정합니다.

전략 원칙

  1. 서로 다른 기간을 가진 두 개의 이동 평균을 계산합니다. (디폴트는 5 및 20 기간입니다.)
  2. 더 짧은 기간 MA가 구매/판매 신호로 사용되는 더 긴 기간 MA보다 높거나 낮을 수 있는지 결정합니다.
  3. 트레이딩 기간을 오전 8시부터 오후 20시 UTC까지 설정하고 이 시간 내에만 트레이드하십시오.
  4. 가장 최근의 4개의 촛불이 MA보다 높거나 낮아 닫혔는지 확인하여 트렌드를 확인합니다.
  5. 구매/판매 조건이 충족되면 150포인트의 수익 목표를 설정하여 포지션을 개설합니다.

전략적 장점

  1. 서로 다른 기간을 가진 두 개의 MA를 사용하면 트렌드를 효과적으로 파악할 수 있으며, 트렌딩 시장에 적합합니다.
  2. 거래 기간을 설정하면 유동성이 낮은 시기에 거래를 피할 수 있으며 위험을 줄일 수 있습니다.
  3. 가장 최근의 4개의 촛불이 MA보다 높거나 낮아 닫혀 있는지 확인함으로써 경향을 확인하면 신호 신뢰성을 향상시킬 수 있습니다.
  4. 고정된 수익 목표를 설정하면 수익을 효과적으로 확보하고 위험을 통제할 수 있습니다.

전략 위험

  1. 불안한 시장에서 이 전략은 종종 잘못된 신호를 만들어 손실을 초래할 수 있습니다.
  2. 고정 수익 목표는 전략의 수익 잠재력을 제한할 수 있습니다.
  3. 이 전략은 스톱 로스를 설정하지 않으며, 시장이 급격히 역전될 때 상당한 위험을 감수할 수 있습니다.

전략 최적화 방향

  1. 신호 신뢰성을 높이기 위해 RSI와 MACD와 같은 더 많은 기술 지표를 통합하는 것을 고려하십시오.
  2. 이윤 목표 및 스톱 손실을 최적화하여, 예를 들어 동적 이윤 목표 및 스톱 손실 또는 ATR 기반의 이윤 목표 및 스톱 손실을 사용하십시오.
  3. 거래 신호의 2차 확인을 위해 주문 흐름과 같은 시장 미시 구조 정보를 결합합니다.
  4. 전략의 적응력을 향상시키기 위해 다른 시장 상태에 대한 다른 매개 변수 설정을 채택하십시오.

요약

이 전략은 트렌딩 시장에 적합한 서로 다른 기간의 두 이동 평균의 교차를 기반으로 거래 신호를 생성합니다. 거래 기간과 고정 수익 목표를 설정함으로써 위험을 어느 정도 제어 할 수 있습니다. 그러나 전략은 불안정한 시장에서 잘 수행하지 않을 수 있으며 고정 수익 목표는 전략의 수익 잠재력을 제한 할 수 있습니다. 미래에 더 많은 기술적 인 지표를 통합하고 수익 목표 설정 및 스톱 손실을 최적화하고 시장 미세 구조 정보를 결합하고 다른 시장 상태에 대한 다른 매개 변수 설정을 채택하여 이 전략을 최적화하는 것을 고려할 수 있습니다.


/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover Strategy", overlay=true)

// User-defined moving average periods
ma1Periods = input(5, title="First Moving Average Periods")
ma2Periods = input(20, title="Second Moving Average Periods")

// Calculate moving averages
ma1 = sma(close, ma1Periods)
ma2 = sma(close, ma2Periods)

// Plot moving averages
plot(ma1, color=color.red, linewidth=2, title="First Moving Average")
plot(ma2, color=color.blue, linewidth=2, title="Second Moving Average")

// Detect crossovers and crossunders
bullishCross = crossover(ma1, ma2)
bearishCross = crossunder(ma1, ma2)

// Define trading hours (8 AM to 2 PM UTC)
startHour = 8
endHour = 20
utcHour = hour(time, "UTC")
isMarketOpen = true

// Define profit target
profitTarget = 150

// Check if the price has closed above/below the MA for the past 4 bars
aboveMa = close[4] > ma1[4] and close[3] > ma1[3] and close[2] > ma1[2] and close[1] > ma1[1]
belowMa = close[4] < ma1[4] and close[3] < ma1[3] and close[2] < ma1[2] and close[1] < ma1[1]

// Create buy and sell signals
if (bullishCross and isMarketOpen and aboveMa)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", profit=profitTarget)
if (bearishCross and isMarketOpen and belowMa)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", profit=profitTarget)

// Plot shapes on crossovers
plotshape(series=bullishCross and isMarketOpen and aboveMa, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=bearishCross and isMarketOpen and belowMa, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")


관련

더 많은