資源の読み込みに... 荷物...

適応性重度のトレンド (VIDYAマルチインジケータシステム)

作者: リン・ハーンチャオチャン開催日:2024年12月5日15時07分47秒
タグ:エイマCMOマルチ

img

概要

この戦略は,VIDYA (変数指数動的平均値) 指標に基づくトレンドフォロートレーディングシステムである.この戦略は,チャンデのモメントオシレーター (CMO) と標準偏差 (StDev) 計算方法を組み合わせて,ダイナミックに調整することで市場変動に適応し,より正確なトレンド識別と取引信号生成を達成する.このシステムは,伝統的な移動平均値の上に適応メカニズムを導入し,市場の状況に基づいて敏感性を自動的に調整する.

戦略の原則

戦略の核心は VIDYA指標で,計算プロセスは以下の主要なステップを含みます.

  1. 基本期間の設定 (デフォルトは21) とスムーズ化係数alpha
  2. 流動性計算方法としてCMOまたはStDevを組み込む
  3. 価格変化に対するVIDYAの感受性を調整するために動的重量kを使用する
  4. VIDYA が上を横切るときに長信号と下を横切るときに短信号を生成する

この戦略により,ユーザはCMOまたは標準偏差の間で変動率の計算を選択し,柔軟性を高めることができます.CMOモードは固定9期サイクルを使用し,StDevモードはベース期と一貫性を維持します.

戦略 の 利点

  1. 強力な適応性: ダイナミックな重量調整によって異なる市場環境で良いパフォーマンスを維持する
  2. 安定した信号: 伝統的な移動平均値と比較して,誤った信号をよりよくフィルターします.
  3. 調整可能なパラメータ: 異なる市場の特徴に基づいて最適化するための複数の調整可能なパラメータを提供します.
  4. 二重計算方法:CMOとStDevの変動計算の両方をサポートし,戦略の適応性を高めます
  5. ユーザフレンドリー: 明確な戦略論理と決定的な信号,実用的な操作に便利

戦略リスク

  1. トレンド依存性: 振動する市場で頻繁に誤った信号を生む可能性があります.
  2. パラメータ敏感性: 異なるパラメータの組み合わせが戦略のパフォーマンスを著しく影響する
  3. 遅延: 移動平均の型指標として固有の遅延がある.
  4. 市場適応性: 特定の特定の市場環境で劣る可能性があります.
  5. 資金管理: ストップ・ロスのメカニズムがない場合,大幅な引き上げにつながる可能性があります.

戦略の最適化方向

  1. 波動性フィルター導入: 波動性の高い環境で信号生成規則を調整する
  2. 傾向確認指標を追加する:信号信頼性を向上させるために他の技術指標と組み合わせる
  3. 資金管理の改善: ダイナミックなストップ・ロストとポジション管理メカニズムの設計
  4. パラメータ選択を最適化: 異なる市場サイクルのための自動パラメータ最適化方法を開発
  5. 市場環境の評価を強化する: 市場状況に基づいて戦略パラメータを動的に調整する

概要

VIDYA戦略は,革新的な適応型重量メカニズムを通じて比較的信頼性の高いトレンドフォローソリューションを提供します. シンプルさと使いやすさを維持しながら,戦略はダイナミックな調整を通じて市場変化への適応性を向上させます. いくつかの固有の制限が存在しているにもかかわらず,提供された最適化方向性は戦略の安定性と信頼性をさらに高めることができます. 双重計算方法は,異なる市場環境での適用により柔軟性を提供します.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © GriffinJames


//@version=5
strategy("VIDYA Strategy", overlay=true, initial_capital=25000)

// Inputs
src = input(close, title="Source")
pds = input.int(21, title="Length")
fixCMO = input.bool(true, title="Fixed CMO Length (9)?")
select = input.bool(true, title="Calculation Method: CMO/StDev?")
alpha = 2 / (pds + 1)
momm = ta.change(src)

// Functions to calculate MOM
f1(m) => m >= 0.0 ? m : 0.0
f2(m) => m >= 0.0 ? 0.0 : -m

m1 = f1(momm)
m2 = f2(momm)
sm1 = fixCMO ? math.sum(m1, 9) : math.sum(m1, pds)
sm2 = fixCMO ? math.sum(m2, 9) : math.sum(m2, pds)

percent(nom, div) => 100 * nom / div
chandeMO = na(percent(sm1 - sm2, sm1 + sm2)) ? 0 : percent(sm1 - sm2, sm1 + sm2)

// Select calculation method
k = select ? math.abs(chandeMO) / 100 : ta.stdev(src, pds)

// Calculate VIDYA
var float VIDYA = na
VIDYA := na(VIDYA[1]) ? src : alpha * k * src + (1 - alpha * k) * VIDYA[1]

// Conditions for long and short
col12 = VIDYA > VIDYA[1]
col32 = VIDYA < VIDYA[1]

// Plot VIDYA with dynamic colors
color2 = col12 ? color.new(color.blue, 0) : col32 ? color.new(color.maroon, 0) : color.new(color.blue, 0)
plot(VIDYA, "VAR", color=color2, linewidth=2)

// Long and Short Strategy
if (col12)
    strategy.entry("Go Long", strategy.long)
if (col32)
    strategy.entry("Go Short", strategy.short)

// Alert for VIDYA color change
alertcondition(ta.cross(VIDYA, VIDYA[1]), title="Color ALARM!", message="VIDYA has changed color!")


関連性

もっと