이동평균 교차 전략


생성 날짜: 2024-01-30 15:39:39 마지막으로 수정됨: 2024-01-30 15:39:39
복사: 1 클릭수: 647
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동평균 교차 전략

개요

이동 평균 크로스 전략은 두 개의 이동 평균 ((빠른 이동 평균과 느린 이동 평균) 을 교차하는 거래 전략이다. 빠른 이동 평균이 위로 느린 이동 평균을 돌파 할 때, 긴 포지션을 취하고 (수입) 하는 동작이다. 반대로, 빠른 이동 평균이 아래로 느린 이동 평균을 돌파 할 때, 이전 다중 포지션을 평행한다.

전략 원칙

이 전략은 두 개의 이동 평균을 사용합니다. 하나는 단기간의 빠른 이동 평균이며 하나는 장기간의 느린 이동 평균입니다. 빠른 이동 평균은 가격 변화에 더 빨리 반응하고 느린 이동 평균은 단기간의 변동을 필터링하여 장기간의 추세를 더 잘 반영합니다. 빠른 이동 평균에 느린 이동 평균을 통과하면 단기간의 가격이 상승하기 시작하면 금 포크 신호에 속하며 더 많은 것을합니다.

전략적 이점

  1. 간단한, 이해하기 쉬운, 파라미터가 적은, 너무 잘 어울리지 않는 구현;
  2. 이동 평균 지표는 가격을 평평하게 하고, 약간의 예측 능력을 가지고 있으며, 잡음으로 오해받지 않습니다.
  3. 전략적 인 철수는 작고 최대 철수는 크지 않습니다.
  4. 대부분의 시장에 적용되며, 특히 유행 시장에 적용됩니다.

전략적 위험

  1. “이런 일이 벌어진다면, 우리는 더 나은 삶을 살 수 있을 것입니다”.
  2. 이동 평균 지표는 지연성이 있으며, 트렌드에 대한 최적의 입구와 출구 지점을 놓칠 수 있습니다.
  3. 손실이 없는 설정으로 큰 손실이 발생할 수 있습니다.
  4. 잘못된 매개 변수 설정으로 인해 정책이 제대로 작동하지 않을 수 있습니다.

위험을 제어하기 위해 스톱로스를 설정할 수 있다. 적절한 매개 변수를 선택하면 전략의 효과를 높일 수 있다.

전략 최적화

  1. 다양한 길이의 이동 평균 조합을 테스트하여 최적의 변수를 찾습니다.
  2. 다른 기술적인 지표들을 필터링하여 신호의 질을 향상시킵니다.
  3. 동적 스톱 손실을 설정하여 위험을 제어합니다.
  4. 진입과 진출을 최적화하기 위해 변동률 지표와 결합;
  5. 투자자금 관리를 최적화하고 포지션 규모를 설정합니다.

요약하다

이동 평균 크로스 전략은 전반적으로 간단하고 실용적인 트렌드 추적 전략이다. 그것은 이동 평균의 지표 역할을 사용하여 가격 트렌드의 변화를 식별한다. 장점은 간단하고 이해하기 쉽고, 회귀가 작다는 것이다. 단점은 잘못된 신호를 일으킬 수 있으며, 지연성이 있다. 변수 최적화, 중지 손실 설정 및 다른 지표 조합과 함께 사용하면 더 나은 전략 효과를 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple Moving Average Crossover", overlay=true)

// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(30, title="Slow MA Length")
stopLossPercent = input(1, title="Stop Loss Percentage")

// Calculate moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Buy condition: Fast MA crosses above Slow MA
buyCondition = ta.crossover(fastMA, slowMA)

// Sell condition: Fast MA crosses below Slow MA
sellCondition = ta.crossunder(fastMA, slowMA)

// Plot moving averages as lines
plot(fastMA, color=color.blue, title="Fast MA", linewidth=2)
plot(slowMA, color=color.red, title="Slow MA", linewidth=2)

// Execute trades based on conditions
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.close("Buy")

// Set stop loss level
stopLossLevel = close * (1 - stopLossPercent / 100)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel)