이중 이동 평균 역전 전략

저자:차오장, 날짜: 2023-12-20 14:43:41
태그:

img

전반적인 설명

이것은 단순한 이동 평균에 기반한 트렌드 추적 및 역전 거래 전략입니다. 트렌드 방향을 결정하고 구매 및 판매 신호를 생성하기 위해 1 일 및 4 일 이동 평균의 크로스오버를 사용합니다.

전략 논리

1일 MA가 4일 MA보다 낮을 때 판매 신호가 생성됩니다. 1일 MA가 4일 MA보다 높을 때 구매 신호가 생성됩니다. 트렌드 반전 지점을 식별하기 위해 빠르고 느린 이동 평균의 크로스오버를 사용하여 수익을 창출하는 것을 목표로합니다.

시장에 진입한 후, 스톱 로스와 트레이프 포인트가 설정됩니다. 스톱 로스는 엔트리 가격보다 10 포인트 낮게 설정됩니다. 트레이프 이익은 엔트리 가격보다 100 포인트 높게 설정됩니다. 이것은 손실을 제한하고 이익을 잠금 할 수 있습니다.

이점 분석

  • 이중 MA를 사용하여 간단하고 실용적으로 전환점을 식별합니다.
  • 리스크를 제한하기 위해 손해를 멈추고 수익을 취하는 세트
  • 다른 시장 조건에 적응할 수 있는 조정 가능한 매개 변수
  • 이해하기 쉽고 적용하기 쉽고 초보자도 사용할 수 있습니다.

위험 분석

  • 유효하지 않은 MA 매개 변수는 과잉 거래 또는 놓친 기회를 유발할 수 있습니다.
  • 잘못된 스톱 로스 및 취득 설정으로 인해 조기 종료가 발생할 수 있습니다.
  • 반전을 식별하는 이중 MAs의 지연은 손실을 초래할 수 있습니다.
  • 시장 변화에 따라 매개 변수를 조정하지 않으면 낮은 성과

위험은 매개 변수를 조정, 동적 정지 설정, 신호 검증을 위한 다른 지표 등을 통합함으로써 완화 될 수 있습니다.

최적화 방향

  • 가짜 신호를 필터하기 위해 MACD, KD를 추가합니다.
  • 다른 MA 기간의 효과를 연구
  • 트렌드 필터를 추가하여 트렌드 반대 거래를 피합니다.
  • 고정값 대신 비례적인 정지값을 사용함
  • 변동성에 따라 파라미터의 동적 조정

요약

이것은 일반적으로 전형적인 이중 MA 역전 전략이다. 빠른 및 느린 MA 크로스오버로 역전을 식별하고, 시작자를 위해 간단하고 실용적으로 이해하기 쉬운 중지로 위험을 제어합니다. 매개 변수 조정 및 최적화로 적응이 가능하며 필터를 추가하면 더 향상 될 수 있습니다. 배우는 매우 좋은 시작 전략입니다.


/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-19 00:00:00
period: 1h
basePeriod: 15m
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/
// © cesarpieres72

//@version=5
strategy("300% STRATEGY", overlay=true, margin_long=10, margin_short=10)
 
var float lastLongOrderPrice = na
var float lastShortOrderPrice = na

longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 4))
if (longCondition)
    strategy.entry("Long Entry", strategy.long)  // Enter long

shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 4))
if (shortCondition)
    strategy.entry("Short Entry", strategy.short)  // Enter short

if (longCondition)
    lastLongOrderPrice := close

if (shortCondition)
    lastShortOrderPrice := close

// Calculate stop loss and take profit based on the last executed order's price
stopLossLong = lastLongOrderPrice - 170  // 10 USDT lower than the last long order price
takeProfitLong = lastLongOrderPrice + 150  // 100 USDT higher than the last long order price
stopLossShort = lastShortOrderPrice + 170  // 10 USDT higher than the last short order price
takeProfitShort = lastShortOrderPrice - 150  // 100 USDT lower than the last short order price

// Apply stop loss and take profit to long positions
strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong)

// Apply stop loss and take profit to short positions
strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort) 

더 많은