단기 공매도 고유통화쌍 전략

MACD RSI ATR SMA EMA
생성 날짜: 2024-05-24 17:31:56 마지막으로 수정됨: 2024-05-24 17:31:56
복사: 4 클릭수: 430
avatar of ChaoZhang ChaoZhang
1
집중하다
1237
수행원

단기 공매도 고유통화쌍 전략

개요

“단계 상장 고 유통 통화 쌍 전략”은 고 유통 통화 쌍의 단기 하락 추세를 이용하여 가격이 예상 하락 시 상장 거래를 하여 이익을 취하는 것을 목적으로 한다. 이 전략은 특정 조건에 따라 상장 입장에 들어가고, 동적 입장 규모와 위험 관리 조치를 사용하여 위험을 제어하고 이익을 잠금한다.

이 전략의 주요 내용은 다음과 같습니다.

  1. 유통이 높은 통화 쌍을 거래 지표로 선택하십시오.
  2. 가격 하락의 비율 조건에 따라 공백 입장에 들어갑니다.
  3. 동적으로 포지션 규모를 계산하고, 계정 지분 비율에 따라 위험을 제어한다.
  4. 스톱 로즈와 스톱 스톱 조건을 설정하여 잠재적인 손실을 제한하고 수익을 잠금합니다.
  5. 거래 기간이나 가격 변화 조건에 따라 거래에서 탈퇴한다.

전략 원칙

이 전략은 높은 유통 화폐 쌍이 단기간에 하락하는 경향을 이용한다. 가격이 특정 조건을 충족하면 전략은 공시 입장에 들어간다. 구체적인 원칙은 다음과 같다:

  1. 매번 하나의 거래만 활성화되도록 현재 매매가 없는지 확인합니다.
  2. 공백 거래의 지속 기간은 7일입니다.
  3. 가격이 입시 가격에서 예상된 비율 (부정값 30%) 에 도달했을 때, 공시 입장에 들어갑니다.
  4. 거래당 투자금 분배와 전체 위험을 제어하기 위해 계좌의 이익에 대한 예상 위험 비율에 따라 포지션 크기를 동적으로 계산합니다.
  5. 스톱로스 및 스톱 스톱 조건을 설정하여, 가격이 불리한 방향으로 움직일 때, 전략은 거래를 종료하여 손실을 최소화합니다. 가격이 유리 방향으로 움직일 때, 전략은 거래를 종료하여 이익을 잠금합니다.
  6. 거래 기간이나 가격 변화 조건에 따라 거래에서 탈퇴한다.

전략적 이점

  1. 단기 거래: 이 전략은 높은 유통 통화 쌍의 단기 하락 추세를 포착하는 데 초점을 맞추고, 거래 주기는 상대적으로 짧아 수익 목표를 신속하게 달성하는 데 도움이됩니다.
  2. 동적 포지션 규모: 계정 권리 이익의 예상 위험 비율에 따라 동적으로 포지션 규모를 계산하여 각 거래의 위험 경로를 효과적으로 제어하고 다양한 시장 조건에 적응합니다.
  3. 위험 관리: 스톱 로즈와 스톱 스톱 조건을 설정하고, 가격이 불리한 방향으로 움직일 때 거래를 조기에 종료하여 잠재적 인 손실을 최소화합니다. 가격이 유리하게 움직일 때 수익을 잠금하고, 달성 된 수익을 보호합니다.
  4. 사용 편의성: 이 전략의 조건과 논리는 비교적 간단하며, 이해하기 쉽고 구현하기 쉽고, 다양한 경험 수준의 거래자가 사용할 수 있습니다.

전략적 위험

  1. 시장 위험: 통화 쌍의 가격 변화는 불확실하며, 단기간에 갑작스러운 사건이나 예상치 못한 움직임이 발생할 수 있으므로 전략이 예상대로 작동하지 않습니다.
  2. 슬라이드 포인트 위험: 시장의 급격한 변동이나 유동성이 부족한 상황에서 실제 거래 가격은 예상 가격과 차이가 있을 수 있으며, 전략의 수익성에 영향을 미칠 수 있다.
  3. 파라미터 최적화 위험: 이 전략의 성능은 공백 지속 시간, 가격 하락 비율, 스톱 스톱 비율 등과 같은 여러 파라미터의 선택에 달려 있습니다. 부적절한 파라미터 설정은 전략의 성능이 좋지 않을 수 있습니다.

전략 최적화 방향

  1. 더 많은 기술 지표를 도입: 입구 및 출구 조건에 이동 평균, 상대 강도 지수 (RSI) 등과 같은 다른 기술 지표를 도입하여 입구 신호의 신뢰성과 정확성을 높인다.
  2. 최적화 파라미터 선택: 핵심 파라미터에 대한 최적화 및 민감성 분석을 수행합니다. 예를 들어, 공백 지속 시간, 가격 하락 비율, 스톱 스톱 비율 등이 있습니다. 최적의 파라미터 조합을 찾고, 전략의 수익성과 안정성을 향상시킵니다.
  3. 시장 정서 분석에 참여: 공포 지수 (VIX) 와 거래량과 같은 시장 정서 지표와 결합하여 시장 정서를 판단하고, 시장이 극도로 비관적이거나 거래량이 크게 줄어들 때 진출을 피하고, 전략의 적응성을 향상시킨다.
  4. 다중 통화 쌍 포트폴리오: 이 전략을 여러 개의 높은 유통 통화 쌍에 적용하여 다원화된 포트폴리오를 구축하여 단일 통화 쌍의 위험을 분산시키고 전체 수익의 안정성을 향상시킵니다.

요약하다

“단계 하위 거래 고 유통 통화 쌍 전략”은 고 유통 통화 쌍의 단기 하락 트렌드를 포착하여 특정 조건에서 하위 거래를하고 동적 위치 규모와 위험 관리 조치를 사용하여 이익을 취하고 위험을 통제합니다. 이 전략의 장점은 단기 거래, 동적 위치 규모 및 간단한 사용 편리성이지만 시장 위험, 슬라이드 포인트 위험 및 파라미터 최적화 위험에 직면합니다. 전략을 추가적으로 최적화하기 위해, 더 많은 기술 지표, 최적화 파라미터 선택, 시장 감정 분석 및 여러 통화 쌍에 적용하는 것을 고려 할 수 있습니다. 지속적인 최적화 및 개선으로, 이 전략은 통화 시장에서 안정적인 이익을 얻을 것으로 예상됩니다.

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

//@version=5
strategy("Short High-Grossing Forex Pair", overlay=true)

// Parameters
shortDuration = input.int(7, title="Short Duration (days)")
priceDropPercentage = input.float(30, title="Price Drop Percentage", minval=0, maxval=100)
riskPerTrade = input.float(1, title="Risk per Trade (%)", minval=0.1, maxval=100) / 100  // Risk per trade as a percentage of equity
stopLossPercent = input.float(5, title="Stop Loss Percentage", minval=0)  // Stop Loss Percentage
takeProfitPercent = input.float(30, title="Take Profit Percentage", minval=0)  // Take Profit Percentage

// Initialize variables
var int shortEnd = na
var float entryPrice = na

// Calculate dynamic position size
equity = strategy.equity
riskAmount = equity * riskPerTrade
pipValue = syminfo.pointvalue
stopLossPips = close * (stopLossPercent / 100)
positionSize = riskAmount / (stopLossPips * pipValue)

// Entry condition: Enter short position at the first bar with calculated position size
if (strategy.opentrades == 0)
    strategy.entry("Short", strategy.short, qty=positionSize)
    shortEnd := bar_index + shortDuration
    entryPrice := close
    alert("Entering short position", alert.freq_once_per_bar_close)

// Exit conditions
exitCondition = (bar_index >= shortEnd) or (close <= entryPrice * (1 - priceDropPercentage / 100))

// Stop-loss and take-profit conditions
stopLossCondition = (close >= entryPrice * (1 + stopLossPercent / 100))
takeProfitCondition = (close <= entryPrice * (1 - takeProfitPercent / 100))

// Exit the short position based on the conditions
if (strategy.opentrades > 0 and (exitCondition or stopLossCondition or takeProfitCondition))
    strategy.close("Short")
    alert("Exiting short position", alert.freq_once_per_bar_close)

// Plot entry and exit points for visualization
plotshape(series=strategy.opentrades > 0, location=location.belowbar, color=color.red, style=shape.labeldown, text="Short")
plotshape(series=strategy.opentrades == 0, location=location.abovebar, color=color.green, style=shape.labelup, text="Exit")

// Add alert conditions
alertcondition(strategy.opentrades > 0, title="Short Entry Alert", message="Entering short position")
alertcondition(strategy.opentrades == 0, title="Short Exit Alert", message="Exiting short position")