다중 크로스오버 거북이 및 가중화 이동 평균 및 MACD 및 TSI 조합 전략

저자:차오장, 날짜: 2024-01-08 14:19:02
태그:

img

전반적인 설명

이 전략은 거래 신호 판단을 위해 여러 가지 기술적 지표를 활용하는 전략이다. 이 전략은 거북이 거래 규칙, 가중 이동 평균, MACD 및 TSI의 이중 이동 평균 크로스오버 시스템을 통합하여 여러 가지 확인된 기술 지표를 형성합니다. 이 조합은 잘못된 신호를 효과적으로 필터하고 안정성을 향상시킬 수 있습니다.

원칙

이 전략의 핵심 원칙은 여러 가지 기술 지표의 조합입니다.

  1. 트레이딩 신호를 생성하기 위해 거북이 거래 규칙의 이중 이동 평균 크로스오버를 사용하십시오. 7 일 및 14 일 이중 허ల్ 이동 평균을 계산하십시오. 단기 이동 평균이 장기 이동 평균을 넘으면 상승하고 아래로 넘으면 하락합니다.

  2. 1일 가중화 이동 평균을 중요한 장기 트렌드 지표로 계산합니다.

  3. MACD 지표를 계산하고 신호선과 함께 황금 십자와 죽은 십자 판정을하십시오. MACD가 신호선보다 크면 상승합니다. 이보다 작으면 하락합니다.

  4. TSI 지표를 계산하고 과잉 구매 라인 이상 또는 과잉 판매 라인 아래에 있는지 결정합니다. TSI가 과잉 구매 라인 이상이면 하향적입니다. 과잉 판매 라인 아래에 있으면 상승합니다.

시장에 진출할 때 다음 여러 조건이 동시에 충족되어야 합니다.

  • 7일 선이 14일 선 위에 넘는다
  • 1일 가중화 이동 평균이 이보다 낮다면, 단지 장점만; 이보다 높다면, 단지 단점만
  • MACD가 신호선 위를 넘는다
  • TSI는 과판된 라인보다 높습니다 (장거리) 또는 과반 구매 된 라인보다 낮습니다 (단거리)

이것은 단일 기술 지표로 생성되는 잘못된 신호를 효과적으로 방지하고 안정성을 향상시킬 수 있습니다.

장점

이 다중 지표 크로스오버 조합 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 여러 번 확인하면 잘못된 신호를 효과적으로 필터링하고 잘못된 거래를 피합니다.

  2. 기술 지표는 단기, 중장기, 그리고 다양한 수준의 거래 기회를 포착할 수 있습니다.

  3. 거북이 거래 규칙은 전투 테스트를 받았고 안정적인 수익을 쉽게 얻을 수 있습니다.

  4. MACD 지표는 전략의 실시간 성능을 향상시킬 수 있는 단기 시장 변화에 민감합니다.

  5. 이 TSI 지표는 비교적 원활하며 과반 구매 및 과반 판매 상황을 효과적으로 식별 할 수 있습니다.

  6. 중요한 장기 트렌드 지표로서의 이동 평균은 트렌드에 반하는 거래를 방지합니다.

요약하자면, 이 전략은 여러 지표의 장점을 결합하고 안정적이고 유연하며 큰 수익 잠재력을 가지고 있습니다. 그것은 훌륭한 양적 전략입니다.

위험성

이 전략은 또한 다음과 같은 영역에서 주로 몇 가지 위험을 초래합니다.

  1. 여러 지표가 전략의 복잡성을 높이고 매개 변수 설정과 최적화를 더 어렵게 만듭니다.

  2. 전략 안정성에 영향을 미치는 지표들 사이에 오차가 발생할 수 있습니다.

  3. 기술 지표에서 나오는 잘못된 신호의 확률은 완전히 제거 할 수 없습니다.

  4. 단기적인 시장 변동에 대한 기회를 놓치는 것은 빠른 변동으로부터 중재 공간을 확보하지 못합니다.

이에 따라 다음 영역에서 더 많은 최적화를 할 수 있습니다.

  1. 지표 매개 변수들의 최적의 조합을 찾아서 지표들 간의 조화를 개선합니다.

  2. 단일 손실을 통제하기 위해 스톱 손실 메커니즘을 늘려라.

  3. 안정성을 더 향상시키기 위해 더 다양한 유형의 지표와 주기를 포함합니다.

  4. 적당한 재원을 아비트레이지를 위한 반전 기술을 사용하여 예약하십시오.

최적화 방향

이 전략은 다음과 같은 측면에서 더 이상 최적화 될 수 있습니다.

  1. 매개 변수 최적화. 최선 매개 변수 조합을 찾기 위해 사이클 길이, 라인 수, 과잉 구매 및 과잉 판매 간격 등 매개 변수를 최적화합니다.

  2. 스톱 로스 메커니즘을 강화합니다. 손실을 제어하기 위해 적절한 이동 스톱 로스 또는 CLASSES 및 다른 스톱 로스 방법을 설정하십시오.

  3. 더 많은 지표를 추가합니다. 더 많은 차원에서 교차 검증을 형성하기 위해 KD, OBV, 변동성 등과 같은 지표를 추가합니다.

  4. 머신러닝을 결합하고 다양한 기술 지표를 입력으로 받아 신호 판단과 매개 변수 최적화를 위해 신경망을 사용합니다.

  5. 헤지링을 위해 자금을 확보하고 회전으로부터 이익을 얻기 위해 특정 리버스 포지션을 보유하십시오.

요약

이 전략은 거북이 거래 규칙, 이동 평균, MACD 및 TSI 기술 지표를 결합하여 높은 안정성, 높은 유연성 및 전투 검증 된 양적 전략을 구축합니다. 단기, 중장기 및 장기 시장 움직임을 모두 포착합니다. 여러 지표의 크로스 검증은 잘못된 신호의 가능성을 효과적으로 감소시킵니다. 매개 변수, 스톱 로스 메커니즘 및 모델에 대한 추가 최적화는 더 나은 전략 성능을 달성 할 수 있습니다. 이 전략은 실시간 거래 검증 및 적용 가치가 있습니다.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross", overlay=true)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)

더 많은