다중 지표 양적 거래 전략


생성 날짜: 2023-12-28 17:46:45 마지막으로 수정됨: 2023-12-28 17:46:45
복사: 0 클릭수: 814
avatar of ChaoZhang ChaoZhang
1
집중하다
1623
수행원

다중 지표 양적 거래 전략

개요

이 전략의 이름은 다중 지표 수량 거래 전략 이다. 이 전략은 여러 가지 기술 지표를 통합하는 수량 거래 전략이다. 이 전략은 SuperTrend, QQE 및 Trend Indicator의 세 가지 지표를 결합하여 다차원 분석 시장의 통합 거래 시스템을 형성한다.

주요 아이디어는 다양한 지표를 결합하여 시장의 주요 추세를 포착하는 동시에 판단의 정확도를 높이고 거래자에게 안정적이고 효율적인 거래 신호를 제공하는 것입니다. 이 전략은 추세 판단을 고려하고, 과매도 과매도 상황을 고려하고, 마지막으로 중장기 평균선 판단을 보조하여 층층 검증 된 거래 논리 시스템을 형성합니다.

전략 원칙

이 전략의 핵심 거래 논리는 다음과 같은 세 가지 지표의 통합 판단에 기초합니다.

  1. 슈퍼 트렌드 지표: 가격이 상승 또는 하락하는 추세에 있는지 판단하기 위해. 클로즈 가격이 상회 또는 하락을 돌파 할 때, 그에 따른 구매 및 판매 신호를 생성합니다.

  2. QQE 지표: RSI의 개선된 버전, 평균 반전 특성을 통합하여 시장이 과매매 또는 과매매 상태에 있는지 판단하는 데 사용됩니다. RSI의 표준 격차带动态调整根据标准差带动态判断值,精确判断反转信号.

  3. Trend Indicator A-V2: 가격의 EMA 평균선과 오픈 가격의 EMA 평균선을 계산하고, 대량 관계를 통해 트렌드 방향을 판단한다. 중장기 트렌드를 판단하여 검증한다.

이 세 가지 지표는 각자의 측면이 있습니다. 슈퍼 트렌드는 추세와 반전 지점에 초점을 맞추고, QQE는 과매매 상태에 초점을 맞추고, A-V2 지표는 중기 및 장기 추세를 판단합니다. 이 전략은 그것들을 유기적으로 결합하여 거래 의사 결정 시스템을 형성합니다.

구체적인 거래 논리는 다음과 같습니다.

수퍼트렌드가 상승할 때, QQE 지표가 RSI가 초매상태에 있는 것을 보여주며, A-V2 평균선이 상승할 때, 구매 신호가 발생한다.

수퍼트렌드가 하향을 향하고, QQE 지표가 RSI가 상향을 향하고, A-V2 평균선이 하향을 향할 때, 판매 신호가 발생한다.

위의 다중 지표의 통합 판단은 판단의 정확성을 보장하는 전제 조건에서 시장 기회를 최대한 탐색하여 안정적이고 효율적인 거래를 달성 할 수 있습니다.

전략적 강점 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 지표 융합, 판단이 더 정확하다. 이 전략은 여러 지표를 통합하고, 서로 다른 지표가 서로를 검증할 수 있어 판단의 정확도를 크게 높였다.

  2. 다방위 쌍방향 거래, 커버리지가 더 포괄적이다. 더 많은 코카이드를 허용하고, 시장의 양방향 변동에서도 좋은 수익을 얻을 수 있다.

  3. 위험 통제가 더 완벽하다. 지표 통합 판단, 단일 지표가 잘못된 판단의 위험을 피한다. 또한 QQE와 같은 지표 자체를 포함하면 위험을 통제 할 수 있다.

  4. 사용하기 쉽고, 매개 변수를 조정할 수 있다. 입력 매개 변수 설정은 간단하며, 사용자는 자신의 취향에 따라 매개 변수를 조정할 수 있다.

  5. 적용 범위는 넓고, 모든 대형 시장에 사용할 수 있다. 주식, 외환, 암호화폐와 같은 시장에 적용할 수 있으며, 특히 기술 거래자에게 적합하다.

전략적 위험 분석

이 전략의 주요 위험점은 다음과 같습니다.

  1. 지표 판단이 편향될 위험이 있다. 희귀한 가격 돌파구가 발생하면 지표 판단이 편향될 수 있으며, 일정 위험을 초래한다.

  2. 트렌드 시장 역전 위험. 이 전략은 트렌드 기회를 탐색하는 데 초점을 맞추고 있으며, 중대한 근본적인 변화로 인한 대규모 시장 역전이 발생할 경우 큰 손실을 초래할 수 있습니다.

  3. 파라미터가 잘못 설정되면 지표 판단에 오차가 생기고 신호에 악영향을 미칠 수 있다.

주요한 위험 제어 및 해결 방법은 다음과 같습니다: 1 , 다른 지표 검증, 단일 지표 오류를 방지; 2 , 위치 크기를 적절히 제어, 단독 손실을 제어; 3 , 다른 시장에 따라 조정 매개 변수를 설정하십시오.

전략 최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 수익을 잠금하고 회수량을 줄이기 위해 스톱로스 전략을 추가한다. 포지션이 어느 정도 수익을 올린 후에 스톱로스를 늘리거나, 이동 스톱로스를 추가한다.

  2. 더 많은 지표 판단과 결합하여 시스템 판단 안정성을 높인다. MACD, DMI, OBV 등이 보조 확인 시스템 신호이다.

  3. 변동율에 기반한 포지션 관리 메커니즘을 추가한다. 시장 변동율에 따라 각각의 거래의 특정 포지션을 동적으로 조정한다.

  4. 최적화 지표 파라미터 설정. 더 긴 주기 회귀를 통해 전략에 더 적합한 파라미터를 테스트하여 더 나은 파라미터 조합을 얻을 수 있습니다.

  5. 다른 시장에 따라 다른 파라미터 조합을 사용한다. 전략의 실제 효과에 따라 서로 다른 시장 (주식, 외환, 암호화폐 등) 에서 각각 최적의 파라미터를 선택하여 전략의 안정성을 높인다.

요약하다

이 전략은 SuperTrend, QQE 및 A-V2의 3대 지표를 통합하여, 전체적이고 안정적인 양적 거래 전략을 형성한다. 이 전략은 트렌드 판단, 오버 바이 오버 셀 판단 및 중장기 트렌드 검증을 결합하여, 시장 기회를 효과적으로 발굴하면서 거래 위험을 엄격하게 제어한다. 이 전략의 장점은 분명하며, 기술 거래자가 실험에서 최적화를 입증할 가치가 있으며, 다른 전략 구축에 귀중한 참고 자료를 제공합니다.

전략 소스 코드
/*backtest
start: 2022-12-21 00:00:00
end: 2023-12-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//author:盧振興 芙蓉中華中學畢業 育達科技大學畢業碩士
//參考資料 : QQE MOD By:Mihkel00 ,SuperTrend By:KivancOzbilgic , TrendIndicator A-V2 By:Dziwne

strategy("綜合交易策略", shorttitle="Comprehensive Strategy", overlay=true)

// 添加單邊或多空參數
OnlyLong = input(true, title="單邊")

// SuperTrend 参数
PeriodsST = input(9, title="ST ATR Period")
MultiplierST = input(3.9, title="ST ATR Multiplier")
srcST = input(hl2, title="ST Source")

atrST = atr(PeriodsST)
upST = srcST - (MultiplierST * atrST)
upST := close[2] > upST[1] ? max(upST, upST[1]) : upST
dnST = srcST + (MultiplierST * atrST)
dnST := close[2] < dnST[1] ? min(dnST, dnST[1]) : dnST
trendST = 1
trendST := nz(trendST[1], trendST)
trendST := trendST == -1 and close[2] > dnST[1] ? 1 : trendST == 1 and close[2] < upST[1] ? -1 : trendST

// QQE 参数
RSI_PeriodQQE = input(6, title='QQE RSI Length')
SFQQE = input(5, title='QQE RSI Smoothing')
QQE = input(3, title='QQE Fast Factor')
ThreshHoldQQE = input(3, title="QQE Thresh-hold")
srcQQE = input(close, title="QQE RSI Source")

Wilders_PeriodQQE = RSI_PeriodQQE * 2 - 1

RsiQQE = rsi(srcQQE, RSI_PeriodQQE)
RsiMaQQE = ema(RsiQQE, SFQQE)
AtrRsiQQE = abs(RsiMaQQE[1] - RsiMaQQE)
MaAtrRsiQQE = ema(AtrRsiQQE, Wilders_PeriodQQE)
darQQE = ema(MaAtrRsiQQE, Wilders_PeriodQQE) * QQE

basisQQE = sma(RsiMaQQE - 50, 50)
devQQE = 0.35 * stdev(RsiMaQQE - 50, 50)
upperQQE = basisQQE + devQQE
lowerQQE = basisQQE - devQQE

qqeCondition = RsiMaQQE[1] - 50 > upperQQE[1] ? true : RsiMaQQE[1] - 50 < lowerQQE[1] ? false : na

// Trend Indicator A-V2 参数
ma_periodA_V2 = input(52, title="TIA-V2 EMA Period")
oA_V2 = ema(open, ma_periodA_V2)
cA_V2 = ema(close, ma_periodA_V2)
trendIndicatorAV2Condition = cA_V2[1] >= oA_V2[1] ? true : false

// 综合交易逻辑
longCondition = trendST == 1 and qqeCondition and trendIndicatorAV2Condition
shortCondition = trendST == -1 and not qqeCondition and not trendIndicatorAV2Condition

// 针对多单的开平仓逻辑
if (OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)        
    else
        strategy.close("Buy")

// 多空都做时的逻辑
if (not OnlyLong)
    if (longCondition)
        strategy.entry("Buy", strategy.long)
    else if (shortCondition)
        strategy.entry("Sell",strategy.short)

    // 添加多空平仓逻辑
    if (not longCondition)
        strategy.close("Buy")
    if (not shortCondition)
        strategy.close("Sell")

// 可视化信号
plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=shortCondition and not OnlyLong, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")