변동과 이동 평균에 기반한 변동성 전략

저자:차오장, 날짜: 2024-03-28 17:33:08
태그:

img

변화 및 이동 평균 기반 변동성 전략이라는 전략은 지난 30 개의 촛불과 세 개의 이동 평균 (MA5, MA15, MA30) 의 가격 변동성의 변동을 사용하여 거래 결정을합니다.

전략의 주요 아이디어는 가격 변동성의 변수를 계산하여 시장 변동성을 측정하고 트렌드 방향을 결정하기 위해 다른 기간의 이동 평균과 결합하는 것입니다. 변동성이 낮고 단기 이동 평균이 장기 이동 평균보다 높을 때 전략은 긴 위치에 진입합니다. 동시에 전략은 위험을 제어하고 이익을 잠금하기 위해 스톱 로스 및 영업 조건을 설정합니다.

전략의 원칙은 다음 단계로 나눌 수 있습니다.

  1. 5일, 15일, 30일 이동 평균 (MA5, MA15, MA30) 을 계산합니다.
  2. 지난 30개의 촛불에서 가격 변동의 변동 (최고 가격과 최저 가격의 차이, 종료 가격으로 나누기) 을 계산하고, 더 쉽게 관찰하기 위해 1,000,000로 곱합니다.
  3. 구매 조건을 정의합니다. 변동은 35보다 작고 MA5는 MA15보다 크고 MA15는 MA30보다 크습니다.
  4. 스톱 로스 조건을 정의합니다. 닫기 가격은 MA30보다 낮습니다. 또는 MA5는 MA30보다 낮습니다.
  5. 이윤을 취하는 조건을 정의합니다. 변동은 500보다 크죠.
  6. 매수 조건이 충족되면 전략은 긴 포지션에 진입합니다. 스톱 로스 또는 영업 조건이 충족되면 전략은 포지션을 닫습니다.

이 전략의 장점은 다음과 같습니다.

  1. 변동성과 트렌드 지표를 결합함으로써 트렌드가 명확하고 변동성이 낮을 때 거래를 할 수 있으며 매우 변동적인 시장 조건에서 거래를 피할 수 있습니다.
  2. 여러 이동 평균을 사용하면 트렌드 방향에 대한 더 포괄적인 평가가 가능하며 거래의 정확성을 향상시킵니다.
  3. 명확한 스톱 로즈와 취리 조건이 설정되면 위험과 수익을 효과적으로 통제할 수 있습니다.

이 전략의 위험은 주로 다음과 같습니다.

  1. 시장 트렌드가 불분명하거나 변동성이 갑자기 증가하면 전략은 빈번한 거래 또는 잘못된 신호를 경험할 수 있습니다.
  2. 스톱 로스 및 취득 조건은 모든 시장 환경에 완전히 적응하지 않을 수 있으며 실제 상황에 따라 조정이 필요할 수 있습니다.
  3. 이 전략은 역사적인 데이터에 의존하고 있으며 예상치 못한 사건이나 비정상적인 시장 변동에 신속하게 반응하지 않을 수 있습니다.

이 전략을 최적화하기 위해 다음 방향이 고려될 수 있습니다.

  1. 구매 조건에서 변동 임계와 이동 평균 조합에 대해 최적 값은 백테스팅과 매개 변수 최적화를 통해 찾을 수 있습니다.
  2. 더 많은 기술적 지표 또는 시장 정서 지표, 예를 들어 RSI와 MACD는 신호의 신뢰성을 향상시키기 위해 스톱 로스 및 영업 조건에 도입 될 수 있습니다.
  3. 동적 위치 조정 및 변동성 조정과 같은 시장 위험 관리 메커니즘은 시장 조건의 변화에 적응하기 위해 도입될 수 있습니다.

요약하자면, 변동 및 이동 평균 기반 변동성 전략은 변동성과 트렌드 지표를 결합한 거래 전략이다. 가격 변동성의 변동성을 계산하여 시장 변동성을 측정하고 다른 기간의 이동 평균과 결합하여 트렌드 방향을 결정하고 적절한 시장 조건에서 거래를 수행합니다. 전략은 위험을 효과적으로 제어하고 이익을 잠금 할 수있는 명확한 스톱 로스 및 영업 조건을 설정합니다. 동시에 전략은 최적화 할 수있는 공간이 있으며 매개 변수 최적화, 더 많은 지표 도입 및 위험 관리 메커니즘 구현을 통해 적응성과 견고성을 향상시킬 수 있습니다.


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

//@version=5
strategy("Variance and Moving Averages Strategy", overlay=true)

// 计算MA5、MA15和MA30
ma5 = ta.sma(close, 5)
ma15 = ta.sma(close, 15)
ma30 = ta.sma(close, 30)

// 计算过去30根K线的波动幅度(最高价和最低价)的方差
variance = ta.variance((high - low) / close, 30) * 1000000

// 定义买入条件
buy_condition = variance < 35 and ma5 > ma15 and ma15 > ma30

// 定义止损条件 close < ma30 or ma5 < ma30
stop_loss_condition = true

// 定义止盈条件
take_profit_condition = variance > 500

// 执行交易逻辑
if (buy_condition)
    strategy.entry("Long", strategy.long)
if (stop_loss_condition)
    strategy.close("Long")
if (take_profit_condition)
    strategy.close("Long")
    
// 绘制MA5、MA15和MA30
// plot(ma5, color=color.blue, title="MA5")
// plot(ma15, color=color.orange, title="MA15")
// plot(ma30, color=color.red, title="MA30")

// 绘制方差
hline(0.0004, color=color.green, linestyle=hline.style_dashed, title="Variance < 0.0004")
hline(0.0005, color=color.red, linestyle=hline.style_dashed, title="Variance > 0.0005")
plot(variance, color=color.white, title="Variance")


더 많은