다중 지표에 기초한 포괄적 인 양적 거래 전략

저자:차오장, 날짜: 2023-12-28 17:46:45
태그:

img

전반적인 설명

이 전략은 다양한 지표에 기반한 포괄적 양적 거래 전략이라고 불린다. 이 전략은 슈퍼 트렌드, QQE 및 트렌드 지표 A-V2를 포함한 여러 기술적 지표를 통합하여 여러 차원에서 시장을 분석하는 포괄적 인 거래 시스템을 형성한다.

핵심 아이디어는 시장의 주요 트렌드를 포착하는 동시에 판단의 정확성을 향상시키기 위해 다른 지표를 결합하여 거래자에게 안정적이고 효율적인 거래 신호를 제공하는 것입니다. 이 전략은 트렌드, 과잉 구매 / 과잉 판매 수준, 중장기 및 장기 트렌드를 고려하여 거래 의사 결정에 대한 다층 검증 논리를 형성합니다.

전략 논리

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

  1. 슈퍼 트렌드: 가격이 상승 추세 또는 하락 추세인지 결정합니다. 닫기 가격이 상부 또는 하부 대역을 넘을 때 구매 및 판매 신호를 생성합니다.

  2. QQE: 평균 회전 특성을 포함하는 RSI의 향상된 버전. 시장이 과소매 또는 과소매인지 판단하는 데 사용됩니다. 문턱은 RSI의 표준편차 대역에 따라 동적으로 조정됩니다.

  3. 트렌드 지표 A-V2: 트렌드 방향을 결정하기 위해 가격의 EMA와 오픈 가격의 EMA를 비교합니다. 중장기 트렌드를 확인합니다.

위의 세 가지 지표는 서로 다른 초점을 가지고 있습니다. 슈퍼 트렌드는 트렌드와 반전 지점을 목표로합니다. QQE는 과잉 구매 / 과잉 판매 수준에 초점을 맞추고 있습니다. A-V2는 중간 및 장기 트렌드를 결정하는 데 도움이됩니다. 이 전략은 그들을 통합하여 완전한 거래 결정 시스템을 형성합니다.

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

슈퍼트렌드가 상승 추세를 보이고, QQE가 RSI가 과잉판매 수준 이하이며, A-V2 EMA가 상승할 때 구매 신호가 생성됩니다.

판매 신호는 슈퍼 트렌드가 하락 추세를 보이고, QQE가 RSI가 과잉 매수 수준을 넘고, A-V2 EMA가 하락하는 것을 보여주면 생성됩니다.

여러 지표의 포괄적 인 판단은 안정적이고 효율적인 거래를 달성하기위한 시장의 기회를 극대화하면서 신호의 높은 정확성을 보장합니다.

이점 분석

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

  1. 지표 융합으로 인해 더 정확한 판단. 여러 지표의 통합은 상호 검증을 가능하게하여 정확성을 크게 향상시킵니다.

  2. 양방향 거래에 대한 더 포괄적인 커버리지: 긴 포지션과 짧은 포지션을 허용하면 시장의 상승과 하락 두 가지 변동에서 적당한 수익을 얻을 수 있습니다.

  3. 더 나은 위험 통제. 지표의 조합은 개별 지표의 잘못된 신호를 방지합니다. QQE와 같은 지표는 또한 본질적으로 위험을 제어합니다.

  4. 사용하기 쉽고 유연한 매개 변수 조정. 입력 매개 변수는 사용자가 자신의 선호도에 따라 다른 시장 조건에 맞게 조정하기 쉽습니다.

  5. 주요 시장에서 광범위한 적용 가능성. 주식, 외환, 암호화폐와 같은 시장에 적용 될 수 있으며 특히 기술 트레이더에 적합합니다.

위험 분석

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

  1. 지표 판단에서 편향의 위험이 있습니다. 희귀한 가격 이상으로 인해 지표 신호에 편향이 발생할 수 있으며 따라서 위험이 있습니다.

  2. 트렌드 역전 위험. 이 전략은 트렌드 추종에 초점을 맞추고, 따라서 근본적인 역전으로 인해 엄청난 손실이 발생할 수 있습니다.

  3. 부적절한 매개 변수 조정으로 인한 위험. 매개 변수에 대한 사용자 설정이 부적절하면 표시 신호가 왜곡 될 수 있습니다.

주요 위험 관리 솔루션은: 1) 단일 지표에 의존하는 것을 방지하기 위해 여러 지표에서 신호를 확인; 2) 거래 당 관리 손실에 대한 위치 크기를 제어; 3) 다른 시장별 매개 변수를 조정합니다.

최적화 방향

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

  1. 이윤 취득 및 마감 감소에 대한 스톱 손실을 추가하십시오. 수익과 함께 후속 스톱 손실 또는 스톱 손실을 도입 할 수 있습니다.

  2. 시스템 안정성을 향상시키기 위해 더 많은 지표를 통합합니다. 신호 확인을 위해 MACD, DMI, OBV와 같은 지표를 추가 할 수 있습니다.

  3. 변동성 기반 포지션 크기를 도입합니다. 시장 변동성에 따라 포지션 크기를 동적으로 조정합니다.

  4. 매개 변수 조정 최적화. 더 긴 백테스트는 이 전략에 최적의 매개 변수 세트를 찾기 위해 수행될 수 있다.

  5. 다른 시장에 대한 다른 매개 변수 세트를 사용하십시오. 매개 변수는 다른 시장 (주식, 외환, 암호화폐 등) 에서 최상의 결과를 위해 개별적으로 최적화 할 수 있습니다.

결론

이 전략은 슈퍼트렌드, QQE 및 A-V2 지표를 견고한 신호 판단과 함께 포괄적인 양적 거래 시스템에 통합합니다. 트렌드, 과잉 구매 / 과잉 판매 수준 및 중장기 트렌드 검증을 결합함으로써 위험을 엄격하게 제어하면서 기회를 효과적으로 식별 할 수 있습니다. 전략은 상당한 이점을 가지고 있으며 기술 거래자에 의해 라이브 거래에서 평가하고 최적화 할 가치가 있습니다. 또한 다른 전략 개발에 귀중한 참조를 제공합니다.


/*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")


더 많은