
이것은 다중 기술 지표를 사용하여 거래 신호 판단을 하는 전략이다. 그것은 해파리 거래 법칙의 이중 평균선 교차 시스템, 가중 이동 평균, MACD 및 TSI의 네 가지 주류 기술 지표를 통합하여 다중 확인 거래 전략을 형성한다. 이러한 조합은 가짜 신호를 효과적으로 필터링하여 안정성을 향상시킬 수 있다.
이 전략의 핵심 원칙은 여러 기술 지표의 교차 조합이다.
해파리 거래 법칙을 이용한 이중 평균선 교차는 거래 신호를 생성한다. 7일과 14일 각각의 이중 헐 이동 평균을 계산하여, 단기 평균선 상에서 장기 평균선을 통과할 때 부하고, 아래로 통과할 때 하락한다.
1일 중화 이동 평균을 계산하여 중요한 장기 추세를 판단하는 지표로 사용한다.
MACD 지표를 계산하고 신호선과 그것의 금叉死叉를 판단한다. MACD는 신호선보다 커지면 부진하고, 신호선보다 작으면 하락한다.
TSI 지수를 계산하고 초과 구매 라인보다 높거나 초과 판매 라인보다 낮다는 것을 판단하십시오. TSI가 초과 구매 라인보다 높을 때 하락하고 초과 판매 라인보다 낮을 때 상승합니다.
입학시 다음의 여러 조건을 동시에 충족해야 합니다.
이 방법은 단일 기술 지표가 생성하는 잘못된 신호를 효과적으로 방지하고 안정성을 향상시킬 수 있습니다.
다중 지표의 교차 조합 전략에는 다음과 같은 장점이 있습니다.
여러 번 확인하여 가짜 신호를 효과적으로 필터링하여 잘못된 거래를 방지합니다.
기술 지표는 단기, 중기 및 장기 기간에 적용되며, 다양한 수준의 거래 기회를 포착할 수 있습니다.
해안 거래법은 실전 테스트를 거쳐 안정적인 수익을 창출하기 쉽다.
MACD 지표는 단기 시장 변화에 민감하여 전략의 실시간성을 향상시킬 수 있습니다.
TSI 지표는 비교적 부드럽고, 과매매 상황을 효과적으로 식별할 수 있다.
이동 평균은 역동적인 거래를 방지하기 위해 중요한 장기적인 경향 지표입니다.
전체적으로, 이 전략은 여러 지표의 장점을 통합하고, 안정적이고 유연하며, 수익의 여지가 많으며, 매우 훌륭한 수치화 전략이다.
이 전략은 다음과 같은 몇 가지 측면에 초점을 맞춘 위험도 가지고 있습니다.
다중 지표는 전략적 복잡성을 증가시키고, 파라미터를 설정하고 최적화하는 데 어려움이 있습니다.
지표들 사이에는 불일치가 있을 수 있고, 이는 전략의 안정성에 영향을 미칩니다.
기술 지표가 잘못된 신호를 보내는 확률을 완전히 제거할 수는 없습니다.
이 경우, 시장이 급격히 변할 수 있는 기회를 놓치고, 급격히 변할 수 있는 중도적 기회를 잡을 수 없습니다.
따라서, 다음의 몇 가지 측면에서 더 개선될 수 있습니다.
지표 변수들의 최적의 조합을 찾고, 지표들 사이의 호환성을 높인다.
단편적 손실을 통제하기 위한 손해 방지 장치를 추가하십시오.
더 많은 다양한 유형과 다른 주기적 지표와 결합하여 안정성을 더욱 높일 수 있습니다.
재산을 적절히 분할하여, 반전 기술을 활용하여 경매를 진행한다.
이러한 전략은 다음과 같은 측면에서 더욱 개선될 수 있습니다.
매개 변수 최적화: 매개 변수 최적화를 통해 주기의 길이나 선수, 초고가 초고가 되는 간격 등과 같은 매개 변수를 최적화하여 최적의 매개 변수 조합을 찾을 수 있다.
손해 제도를 늘리십시오. 이동식 손해 또는 CLASSES와 같은 손해 제도를 적절하게 설정하여 손실을 제어하십시오.
더 많은 지표를 추가하십시오. KD, OBV, 변동률과 같은 다른 지표를 추가하여 더 많은 차원의 교차 검증을 형성 할 수 있습니다.
기계학습과 결합하여 다양한 기술 지표를 입력으로 사용하고, 신경망을 사용하여 신호 판단과 파라미터 최적화를 수행한다.
적절히 자금을 보호할 수 있다. 특정 반전 포지션을 갖고, 반전 수익을 이용한다.
이 전략은 해파리 거래 법칙, 이동 평균, MACD 및 TSI의 4 가지 기술 지표의 조합을 사용하여 안정성이 높고, 유연성이 강하며, 실전 효과 좋은 양적 전략을 구축합니다. 그것은 단기 및 장기간의 움직임을 포착하고, 다중 지표 교차 검증이 가짜 신호의 가능성을 효과적으로 감소시킵니다. 추가 변수 최적화, 손해 막기 장치의 추가 및 모델의 최적화를 통해 더 나은 전략 효과를 얻을 수 있습니다. 이 전략은 실전 검증 및 적용에 가치가 있습니다.
/*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)