複数の指標による定量的取引戦略


作成日: 2023-12-28 17:46:45 最終変更日: 2023-12-28 17:46:45
コピー: 0 クリック数: 814
1
フォロー
1623
フォロワー

複数の指標による定量的取引戦略

概要

この戦略は,複数の技術指標を統合した量的な取引戦略である. この戦略は,SuperTrend,QQE,およびTrend Indicatorの3つの指標を統合し,多次元分析市場を統合した取引システムを形成します.

主な考えは,異なる指標を組み合わせて,市場の主要トレンドを捉えながら,判断精度を高め,トレーダーに安定で効率的な取引信号を提供することです.この戦略は,傾向判断を考慮し,超買い超売り状況を考慮し,最終的に中長期均線判断を補足し,層次検証の取引論理体系を形成しています.

戦略原則

この戦略の核心となる取引論理は,以下の3つの指標を集約した判断に基づいています.

  1. スーパートレンド指数:価格が上昇または下落の傾向にあるかどうかを判断するために. 閉じる価格が上線または下線を突破すると,相応の買入と売却のシグナルを生成する.

  2. QQE指標:RSIの改良版で,平均逆転特性を融合させ,市場が過買または過売状態にあるかどうかを判断する.RSIの標準差帯動的調整により値下げを判断し,逆転信号を精密に判断する.

  3. トレンド・インディケーターA-V2:価格のEMA平均線とオープニング価格のEMA平均線を計算し,大小関係によってトレンド方向を判断する。中長期トレンドを判断して検証する。

上記の3つの指標はそれぞれ側面があり,SuperTrendはトレンドと逆転点を重視し,QQEは超買い状態を重視し,A-V2指標は中長期のトレンドを判断するのに役立ちます.この戦略は,それらを有機的に組み合わせて,取引意思決定システムを形成します.

取引の論理は以下の通りです.

スーパートレンドが上昇傾向にあり,QQE指標がRSIが超売り状態の下にあり,A-V2平均線が上昇傾向にあるとき,買取シグナルが生じる.

スーパートレンドは下方傾向で,QQE指標はRSIが超買い状態の上方を示し,A-V2平均線は下方傾向にあるとき,売り込みシグナルが発生します.

上記の複数の指標の総合判断は,判断の正確性を保証する前提で,市場の機会を最大限に開拓し,安定した効率的な取引を実現することができます.

戦略的優位分析

この戦略の主な利点は以下の通りです.

  1. 指数融合,判断の精度が高い。この戦略は複数の指数を統合し,異なる指数は相互に検証することができ,判断の精度が大幅に向上している。

  2. 多空の双方向取引,より包括的なカバー. 多空を許容し,市場双方向の変動でも良い収益を得ることができる.

  3. リスク管理はより完ぺきである。指標集約判断,単一の指標が誤判のリスクを発生させないようにする。また,QQEのような指標を自体に含めることもリスクを制御することができる。

  4. 操作が簡単,パラメータの調整が柔軟.入力パラメータの設定は簡単で,ユーザーは自分の好みに応じて,異なる市場に対応するためにパラメータの調整を柔軟にすることができます.

  5. 適用範囲は広く,あらゆる主要市場で使用できます.株式,外貨,暗号通貨などの市場に適用できます.特に技術トレーダーに適しています.

戦略的リスク分析

この戦略の主なリスクは以下の通りです.

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