複数の指標に基づく包括的な量的な取引戦略

作者: リン・ハーンチャオチャン開催日:2023年12月28日17時46分45秒
タグ:

img

概要

この戦略は"複数の指標に基づく包括的定量取引戦略"と名付けられている.この戦略は,スーパートレンド,QQE,トレンドインジケーターA-V2を含むいくつかの技術指標を統合し,複数の次元から市場を分析する包括的な取引システムを形成する.

この戦略は,市場における主要なトレンドを把握しながら判断の正確性を向上させるために異なる指標を組み合わせ,トレーダーに安定した効率的な取引信号を提供することです.この戦略は,トレンド,過剰購入/過剰販売レベル,また中期および長期的トレンドを考慮し,取引決定のための多層検証ロジックを形成します.

戦略の論理

この戦略の基本的取引論理は,以下の3つの指標の判断を組み合わせたものです.

  1. スーパートレンド: 価格が上昇傾向か下落傾向にあるかどうかを判断する. 閉じる価格が上または下帯を突破したとき,購入および販売信号を生成する.

  2. QQE: RSIの改善されたバージョンで,平均逆転特性を組み込む.市場が過買いまたは過売れているかどうかを判断するために使用される.RSIの標準偏差帯に基づいて,値が動的に調整される.

  3. トレンドインジケーター A-V2: トレンド方向を決定するために,価格のEMAとオープン価格のEMAを比較します. 中期および長期のトレンドを検証します.

上記の3つの指標は異なる焦点を持っています.スーパートレンドはトレンドと逆転点をターゲットとしています.QQEは過買い/過売りレベルに焦点を当てています.A-V2は中期および長期的傾向を決定するのに役立ちます.この戦略はそれらを統合して完全な取引決定システムを形成します.

具体的な取引論理は次のとおりです

スーパートレンドが上昇傾向を示し,QQEがRSIが過売値を下回り,A-V2EMAが上昇しているときに購入信号が生成されます.

スーパートレンドがダウントレンドを示し,QQEがRSIがオーバー買いレベルを超えていることを示し,A-V2EMAが下がっているときにセールシグナルが生成されます.

複数の指標の包括的な判断は,シグナルの高い精度を保証し,安定した効率的な取引を達成するための市場の機会を最大化します.

利点分析

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

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


もっと