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

이동평균 크로스오버에 기반한 리스크/어워드 비율 최적화 전략

저자:차오장, 날짜: 2024-12-27 15:46:05
태그:MASMARRSLTP

img

전반적인 설명

이 전략은 고정된 리스크-어워드 비율을 통해 최적화 된 이동 평균 크로스오버 신호를 기반으로 한 자동화 거래 시스템입니다. 전략은 포지션 리스크 관리를 위해 미리 설정된 스톱 로스 및 영업 수준을 결합하여 시장 트렌드 방향을 결정하기 위해 빠른 MA와 느린 MA의 크로스오버를 사용합니다.

전략 원칙

핵심 논리는 두 개의 이동 평균 (10주기 및 30주기) 에 의해 생성되는 크로스오버 신호에 의존합니다. 빠른 MA가 느린 MA를 넘을 때 시스템은 긴 신호를 생성하고 빠른 MA가 아래를 넘을 때 짧은 신호를 생성합니다. 각 입력 후 시스템은 미리 설정된 2% 손실 비율에 따라 자동으로 스톱 로스 수준을 계산하고 2.5 위험-상금 비율에 따라 수익 목표를 설정합니다.이 접근법은 각 거래가 일관된 위험-상금 특성을 가지고 있음을 보장합니다.

전략적 장점

  1. 체계적 리스크 관리: 고정 스톱-러스 비율과 리스크/어워드 비율을 통해 표준화된 자본 관리를 달성
  2. 목표 거래 메커니즘: MA 크로스오버에 기반한 신호 시스템은 주관적인 판단 편향을 제거합니다.
  3. 강력한 매개 변수 적응성: 중지 손실 비율 및 위험 보상 비율과 같은 주요 매개 변수 유연하게 조정 할 수 있습니다.
  4. 높은 자동화 수준: 신호 생성에서 위치 관리까지 자동화 된 프로세스는 인간 오류를 줄입니다.

전략 위험

  1. 시장 위험: MA 크로스오버 신호는 다양한 시장에서 빈번한 거짓 파장을 일으킬 수 있습니다.
  2. 미끄러짐 위험: 실제 실행 가격은 빠르게 움직이는 시장에서 신호 가격과 크게 다를 수 있습니다.
  3. 고정 스톱 로스 위험: 단일 스톱 로스 비율은 모든 시장 조건에 적합하지 않을 수 있습니다.
  4. 위원회 비용: 빈번한 거래는 높은 거래 비용을 초래할 수 있습니다.

전략 최적화 방향

  1. 트렌드 필터를 구현합니다. 거짓 신호를 필터링하기 위해 더 긴 기간 이동 평균 또는 다른 트렌드 지표를 추가합니다.
  2. 동적 스톱 로스 메커니즘: 더 나은 적응력을 위해 시장 변동성에 따라 스톱 로스 비율을 조정합니다.
  3. 부피 확인: 분산 유효성을 확인하기 위해 부피 지표를 포함합니다.
  4. 입력 타이밍 최적화: 포지션을 입력하기 전에 MA 크로스오버 후 인기를 기다립니다

요약

이 전략은 완전한 거래 시스템을 구축하기 위해 고전적인 기술 분석 방법과 현대적인 위험 관리 개념을 결합합니다. 특정 한계점이 있지만 지속적인 최적화와 개선은 전략이 다양한 시장 조건에서 안정적인 성능을 유지할 수 있도록합니다. 핵심은 현재 시장 환경에 가장 적합한 구성을 찾기 위해 실제 거래 결과에 따라 매개 변수 설정을 지속적으로 조정하는 데 있습니다.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SOL 15m 2.5 R:R Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1)

//---------------------------------------------------
// User Inputs
//---------------------------------------------------
// sym = input.symbol("swap", "Symbol")
timeframe = input.timeframe("15", "Timeframe")

fastLength  = input.int(10, "Fast MA Length")
slowLength  = input.int(30, "Slow MA Length")

stopLossPerc = input.float(2.0, "Stop Loss %", step=0.1) // This is an example; adjust to achieve ~45% win rate
RR           = input.float(2.5, "Risk to Reward Ratio", step=0.1)

//---------------------------------------------------
// Data Sources
//---------------------------------------------------
price = request.security("swap", timeframe, close)

// Compute moving averages
fastMA = ta.sma(price, fastLength)
slowMA = ta.sma(price, slowLength)

// Entry Conditions
longCondition  = ta.crossover(fastMA, slowMA)
shortCondition = ta.crossunder(fastMA, slowMA)

//---------------------------------------------------
// Stop Loss and Take Profit Calculation
//---------------------------------------------------
var entryPrice = 0.0

if (strategy.position_size == 0) // not in a position
    if longCondition
        // Long entry
        entryPrice := price
        strategy.entry("Long", strategy.long)

    if shortCondition
        // Short entry
        entryPrice := price
        strategy.entry("Short", strategy.short)

if strategy.position_size > 0
    // We are in a long position
    if strategy.position_avg_price > 0 and strategy.position_size > 0
        longStop  = strategy.position_avg_price * (1 - stopLossPerc/100)
        longTarget = strategy.position_avg_price * (1 + (stopLossPerc/100)*RR)
        strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget)

if strategy.position_size < 0
    // We are in a short position
    if strategy.position_avg_price > 0 and strategy.position_size < 0
        shortStop  = strategy.position_avg_price * (1 + stopLossPerc/100)
        shortTarget = strategy.position_avg_price * (1 - (stopLossPerc/100)*RR)
        strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget)

//---------------------------------------------------
// Plotting
//---------------------------------------------------
plot(fastMA, color=color.new(color.teal, 0), title="Fast MA")
plot(slowMA, color=color.new(color.orange, 0), title="Slow MA")


관련

더 많은