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

EMA100 및 NUPL 상대적 실현되지 않은 이익 양적 거래 전략

저자:차오장, 날짜: 2024-06-17 14:55:13
태그:EMA

img

전반적인 설명

이 거래 전략은 100 기간 기하급수적 이동 평균 (EMA100), 순실화되지 않은 이익/손실 (NUPL), 상대적 실화되지 않은 이익) 이라는 세 가지 지표에 기반합니다. EMA100과 가격의 교차와 NUPL 및 상대적 실화되지 않은 이익의 긍정 또는 부정성을 결정함으로써 거래 신호를 생성합니다. 가격이 EMA100을 넘어서면 긴 신호가 발사되며 NUPL과 상대적 실화되지 않은 이익 모두 긍정적입니다. 가격이 EMA100을 넘어서면 짧은 신호가 발사되며 NUPL과 상대적 실화되지 않은 이익 모두 부정적입니다. 전략은 10%의 고정 포지션 크기를 사용하고 손실을 10%로 설정합니다.

전략 원칙

  1. 주요 동향 지표로 100주기 EMA를 계산합니다.
  2. NUPL 및 상대적 실적 이윤을 보조 지표로 사용하여 트렌드 강도와 지속가능성을 확인합니다.
  3. 가격이 EMA100 이상/하위를 넘을 때 장기/단기 신호를 생성하고 NUPL와 상대적 실적 이익이 동시에 긍정적/부적일 때
  4. 10%의 고정 포지션 크기를 채택하고 위험을 제어하기 위해 10%의 스톱 로스를 설정합니다.
  5. 긴 포지션을 보유할 때, 가격이 스톱 로스 가격 이하로 떨어지면 긴 포지션을 닫습니다. 짧은 포지션을 보유할 때, 가격이 스톱 로스 가격 이상으로 올라가면 짧은 포지션을 닫습니다.

이점 분석

  1. 단순하고 이해하기 쉽다: 전략 논리는 명확하고 공통 기술 지표를 사용 하 여 이해하기 쉽고 실행 하기 쉽다
  2. 트렌드 추적: EMA100을 사용하여 주요 트렌드를 포착함으로써 트렌드 시장에서 사용하기에 적합합니다.
  3. 리스크 제어: 고정된 포지션 크기와 스톱 손실을 설정하면 효과적으로 리스크를 제어 할 수 있습니다.
  4. 적응성: 전략은 다양한 시장과 거래 수단에 적용될 수 있습니다.

위험 분석

  1. 잘못된 신호: 불안정한 시장에서 가격과 EMA100 사이의 빈번한 교차가 더 많은 잘못된 신호를 생성하여 손실을 초래할 수 있습니다.
  2. 지연: 지연된 지표로서 EMA는 가장 좋은 진입 기회를 놓치면서 트렌드 반전에 느리게 반응할 수 있습니다.
  3. 매개 변수 최적화: 전략 매개 변수 (EMA 기간, 포지션 크기, 스톱 로스 비율 등) 는 다른 시장에 최적화되어야 하며, 부적절한 매개 변수는 전략 성과가 좋지 않을 수 있습니다.

최적화 방향

  1. 매개 변수 최적화: EMA 기간, 포지션 크기 및 스톱 로스 비율과 같은 매개 변수를 최적화하여 전략 성능을 향상시킵니다.
  2. 신호 필터링: 잘못된 신호를 필터링하기 위해 다른 기술적 지표 또는 시장 정서 지표를 추가합니다.
  3. 역동적 위치 관리: 시장 변동성, 계정 이익/손실 및 수익을 높이고 위험을 제어하기 위한 다른 요인에 따라 역동적으로 위치를 조정합니다.
  4. 긴 짧은 조합: 시장 리스크를 헤지하고 전략 안정성을 향상시키기 위해 긴 포지션과 짧은 포지션을 동시에 보유합니다.

요약

이 거래 전략은 EMA100, NUPL 및 상대적 실현되지 않은 이익이라는 세 가지 지표를 통해 거래 신호를 생성합니다. 명확한 논리, 제어 가능한 위험 및 강력한 적응력과 같은 장점이 있습니다. 동시에 잘못된 신호, 지연 및 매개 변수 최적화와 같은 위험도 있습니다. 미래에, 전략은 매개 변수 최적화, 신호 필터링, 동적 위치 관리 및 긴 짧은 조합을 통해 최적화 및 개선 될 수 있습니다.


/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Scalping Strategy with EMA 100, NUPL, and Relative Unrealized Profit", overlay=true)

// Input for EMA period
emaPeriod = input.int(100, title="EMA Period", minval=1)
ema100 = ta.ema(close, emaPeriod)
plot(ema100, color=color.blue, title="EMA 100")

// Placeholder function for NUPL (Net Unrealized Profit/Loss)
// Replace this with actual NUPL data or calculation
NUPL = close * 0.0001 // Dummy calculation

// Placeholder function for relative unrealized profit
// Replace this with actual relative unrealized profit data or calculation
relativeUnrealizedProfit = close * 0.0001 // Dummy calculation

// Define conditions for long and short entries
longCondition = ta.crossover(close, ema100) and NUPL > 0 and relativeUnrealizedProfit > 0
shortCondition = ta.crossunder(close, ema100) and NUPL < 0 and relativeUnrealizedProfit < 0

// Plot buy and sell signals on the chart
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")

// Calculate stop loss levels
longStopLoss = close * 0.90
shortStopLoss = close * 1.10

// Strategy entry and exit rules
if (longCondition)
    strategy.entry("Long", strategy.long, stop=longStopLoss)

if (shortCondition)
    strategy.entry("Short", strategy.short, stop=shortStopLoss)

// Set stop loss levels for active positions
if (strategy.position_size > 0)
    strategy.exit("Exit Long", "Long", stop=longStopLoss)
if (strategy.position_size < 0)
    strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Alerts for long and short entries
alertcondition(longCondition, title="Long Entry Alert", message="Long entry signal based on EMA 100, NUPL, and relative unrealized profit")
alertcondition(shortCondition, title="Short Entry Alert", message="Short entry signal based on EMA 100, NUPL, and relative unrealized profit")

// Visualize the entry conditions
plotshape(series=longCondition, location=location.belowbar, color=color.blue, style=shape.cross, title="Long Condition")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.cross, title="Short Condition")


관련

더 많은