이동평균 롱숏 잔액 거래 전략


생성 날짜: 2023-11-13 17:59:42 마지막으로 수정됨: 2023-11-13 18:00:09
복사: 1 클릭수: 641
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

이동평균 롱숏 잔액 거래 전략

개요

평균선 다중공간 균형 거래 전략은 다른 주기의 이동 평균 golden과 death의 교차를 이용한 다중공간 균형 거래를 하는 전략이다. 이 전략은 K선 표시 색상, 배경 색상, 모양 표시 등과 같은 여러 가지 시각 효과를 결합하여 트렌드 변화를 보조한다. 이 전략은 이동 평균선 이론에 익숙한 중간 고급 거래자에게 적합하다.

전략 원칙

이 전략은 먼저 사용자가 조정할 수 있는 두 가지 변수를 정의합니다: 활성 평균 주기 len1 및 기준 평균 주기 len2 ᆞ 활성 평균 주기 는 단기 트렌드 변화를 캡처 할 수 있도록 짧고, 기준 평균 주기 는 단기 시장 소음을 필터링 할 수 있습니다. 사용자는 5 가지 다른 유형의 이동 평균을 자유롭게 선택할 수 있습니다: EMA 지수 이동 평균, SMA 간단한 이동 평균, WMA 가중 이동 평균, DEMA 쌍 지수 이동 평균 및 VWMA 교차량 가중 이동 평균.

단기평균선 상에서 장기평균선을 통과할 때 금포크 신호를 생성하고, 더 많은 상을 개시한다. 단기평균선 아래에서 장기평균선을 통과할 때, 더 많은 상을 개시하며, 더 많은 상을 개시한다. 더 많은 상을 개시한 균형 거래는 수익을 올리는 기회를 증가시킨다. 또한, K 선의 색상은 현재 더 많은 상을 개시하는 경향을 보여줍니다.

모양 표시는 직관적으로 황금 포크와 죽은 포크의 위치를 나타냅니다. 배경 색상은 트렌드 방향을 결정하는 데 도움을줍니다. 이 전략은 동시에 多空平衡과 只多頭 두 가지 거래 모드를 선택할 수 있습니다.

전략적 이점

  1. 수평선 여러 지표와 결합하여 거래 신호가 더 안정적입니다.
  2. 다중 공간 균형 거래, 더 많은 수익 기회
  3. 다양한 시장 환경에 맞게 사용자 정의 할 수 있는 평균선 유형 및 주기의 길이를 설정합니다.
  4. 다양한 시각적 효과와 함께 직관적 판단의 변화
  5. 코드 구조가 명확하고, 이해하기 쉽고, 재개발이 가능합니다.

위험과 해결책

  1. 평균선에서 잘못된 신호가 발생할 수 있는 위험

    • 다른 주기 평균선 조합을 사용하여 오도 신호를 줄인다.
    • 다른 Exit 출구 조건을 추가합니다.
  2. 특정 주기가 전략에 더 적합한 위험

    • 다양한 주기 변수를 테스트하여 최적의 주기
    • 주기 변수를 동적으로 조정할 수 있도록 코드를 최적화
  3. 더 많은 거래는 손실 위험을 증가시킵니다.

    • 적당히 조정된 위치 관리
    • 다중 거래 모드만 선택하세요.

최적화 방향

  1. 단위 손실을 통제하기 위해 스톱 라인을 늘립니다.
  2. 다시 시장에 진입할 수 있는 조건을 추가합니다.
  3. 포지션 관리 전략을 최적화
  4. 새로운 거래 신호를 탐구합니다.
  5. 동적 최적화 주기 변수
  6. 이동 평균 유형에 대한 무게를 최적화

요약하다

평평선 다공간 균형 거래 전략은 평평선 지표의 장점을 통합하여 다공간 균형 거래를 구현한다. 이 전략은 시각적으로 효과적이며 시장 추세를 파악하는 데 도움이됩니다. 그리고 매개 변수는 사용자 정의 가능하며 적응력이 강하다. 그러나 잘못된 신호 및 위치 관리 문제를 주의해야합니다. 이 전략은 중간 고위 거래자에게 사용자 정의 및 최적화 가능한 참조 프레임 워크를 제공합니다.

전략 소스 코드
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("MASelect Crossover Strat", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
av1 = input(title="Active MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
av2 = input(title="Base MA", defval="EMA", options=["EMA", "SMA", "WMA", "DEMA", "VWMA"])
len1 = input(20, "Active Length")
len2 = input(100, "Base Length")
src = input(close, "Source")
strat = input(defval="Long+Short", options=["Long+Short", "Long Only"])

ema1 = ema(src, len1)
ema2 = ema(src, len2)
sma1 = sma(src, len1)
sma2 = sma(src, len2)
wma1 = wma(src, len1)
wma2 = wma(src, len2)
e1 = ema(src, len1)
e2 = ema(e1, len1)
dema1 = 2 * e1 - e2
e3 = ema(src, len2)
e4 = ema(e3, len2)
dema2 = 2 * e3 - e4
vwma1 = vwma(src, len1)
vwma2 = vwma(src, len2)

ma1 = av1 == "EMA"?ema1:av1=="SMA"?sma1:av1=="WMA"?wma1:av1=="DEMA"?dema1:av1=="VWMA"?vwma1:na
ma2 = av2 == "EMA"?ema2:av2=="SMA"?sma2:av2=="WMA"?wma2:av2=="DEMA"?dema2:av2=="VWMA"?vwma2:na

co = crossover(ma1, ma2)
cu = crossunder(ma1, ma2)
barcolor(co?lime:cu?yellow:na)
col = ma1 >= ma2?lime:red
bgcolor(co or cu?yellow:col)
plotshape(co, style=shape.triangleup, location=location.belowbar)
plotshape(cu, style=shape.triangledown)
plot(ma1, color=col, linewidth=3), plot(ma2, style=circles, linewidth=1)

strategy.entry("Buy", strategy.long, when=co)
if strat=="Long+Short"
    strategy.entry("Sell", strategy.short, when=cu)
else
    strategy.close("Buy", when=cu)