多指標のクロスオーバー 強力なトレンド追跡戦略

作者: リン・ハーンチャオチャン,日付: 2023-11-13 16:59:12
タグ:

img

概要

この戦略は,RSI,MF,CCIおよびストックRSIを含む複数の強いモメンタム指標を統合し,インディケータークロスオーバーを通じて強いトレンドを特定し,追跡する.まず複数のサイクル指標を計算し,その後平均値を取る.すべての指標が強い値を突破すると,購入信号が生成される.インディケーターが弱い値を下回ると,トレンドターニングポイントを捕捉し,強いトレンドを追跡するために販売信号が生成される.

戦略の論理

この戦略は,RSI,MF,CCI,ストックRSIという4つの強力なモメンタム指標を計算する.RSIは,期間中の価格変動を計算することによって強さを判断する.MFは上下の比率も考慮する.CCIは,移動平均値からの偏差を計算することによって過買い/過売りレベルを判断する.ストックRSIは,RSIの上にKDJ計算方法を取り入れている.

この戦略は,指標の中立レベルとして50を設定する.RSI,MF,CCI,ストックRSI KおよびD線が50を超えると,強固な上昇傾向を示す買い信号が生成される.指標が50を下回ると,横向またはダウントレンドを示唆する売り信号が生成される.入力した後,強固なトレンドを追跡するために広いストップ損失が設定される.

この戦略の利点は,指標が包括的で,価格動向を測定するための複数の方法を含み,不一致を避けるために互いに検証できるということです.平均値を取ることで,いくつかのノイズをフィルタリングすることができます.

利点

  1. RSI,MF,CCI,STOCH RSIを含む包括的な指標は,強烈な動向判断と検証のために,正確性を向上させる.

  2. 平均値を取ると 騒音をフィルタリングし 信号をより信頼できます

  3. 複数の指標のクロスオーバーをエントリータイミングとして使用することで,強力なトレンドターニングポイントを効果的に特定できます.

  4. ストップ・ロスの幅が広いため,過剰収益の強い傾向を追跡できる.

  5. 戦略の論理は明確で分かりやすく,パラメータはライブ取引に適しています.

リスク

  1. 強いトレンド逆転のリスク.突然の逆転は,戦略が損失を停止させる可能性があります.

  2. トレンド内の変動のリスク. 上向きのトレンド中に価格が大きく引き下がる可能性があるため,合理的なストップロスの範囲が必要です.

  3. この戦略は,主に強い傾向を追跡するためであり,熊市では劣悪な業績を示す可能性があります.

  4. パラメータ最適化リスク 指標パラメータは,異なる製品でテストと最適化が必要で,そうでなければパフォーマンスが損なわれる可能性があります.

  5. リスクは適切なストップ・ロスト,パラメータテスト,ポジション調整などによって管理できる.

オプティマイゼーションの方向性

  1. 異なるパラメータの組み合わせをテストして,特定の製品に対して,RSI,CCIなどのための最適なサイクルを見つけます.

  2. 論理を豊かにするために 波動性指標やボリューム指標などの インディケーターを導入します

  3. 市場状況に基づいてポジションサイズを自動的に調整する.

  4. 市場変動レベルに基づいて ダイナミックストップ・ロスを採用します

  5. 段階的なクロスオーバーの可能性を調査し,第一レベルの指標に基づいて取引を行い,次に第2レベルの指標でトレンドを追跡します.

結論

この戦略は,RSI,MF,CCI,ストックRSIなどの強力なモメンタム指標のクロスオーバーによって強いトレンドを特定し,追跡する.平均値計算による包括的で補完的な指標は,誤った信号を効果的にフィルタリングする.指標クロスオーバーエントリータイミングは信頼性があり,広範なストップ損失範囲は持続的なトレンド追跡を可能にします.しかし,逆転リスクは注意が必要であり,パラメータ最適化は重要です.全体として,戦略はシンプルで明確なコンセプトを持ち,指標検証,ストップ損失最適化を通じて良いトレンド追跡効果を達成することができます.


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SoftKill21

//@version=4

strategy(title="something", initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.03, pyramiding=1  )

length = input(title="Length", type=input.integer, defval=100, minval=1, maxval=2000)
src = hlc3
upper = sum(volume * (change(src) <= 0 ? 0 : src), length)
lower = sum(volume * (change(src) >= 0 ? 0 : src), length)
_rsi(upper, lower) =>
    if lower == 0
        100
    if upper == 0
        0
	100.0 - (100.0 / (1.0 + upper / lower))
mf = _rsi(upper, lower)

up = rma(max(change(src), 0), length)
down = rma(-min(change(src), 0), length)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, "RSI", color=#8E1599)

plot(mf, "MF", color=#459915)
hline(50, title="zap", color=#c0c0c0)



ma = sma(src, length)
cci = (src - ma) / (0.015 * dev(src, length))
//plot(cci, "CCI", color=#996A15)


smoothK = input(1, "K", minval=1)
smoothD = input(1, "D", minval=1)

rsi1 = rsi(src, length)
k = sma(stoch(rsi1, rsi1, rsi1, length), smoothK)
d = sma(k, smoothD)
plot(k, "K", color=#0094FF)
plot(d, "D", color=#FF6A00)

avg = (rsi + mf + cci + k + d)/5

long = rsi > 50 and mf > 50 and cci >50 and (k > 50 or d>50)
short= rsi<49 and mf<49 and cci<0 and (k<50 or d<50)

// long= avg > 100
// short=avg<0

plot(avg)

strategy.entry('long',1,when=long)
strategy.close("long",when=short)
//strategy.entry('short',0,when=short)
//strategy.close("short",when=exitshort)



もっと