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

フィッシャー・トランスフォーム ダイナミック・スリージングル トレンド 戦略をフォローする

作者: リン・ハーンチャオチャン開催日:2024年6月17日 15:01:19
タグ:

img

概要

フィッシャー変換動的値トレンドフォロー戦略は,フィッシャー変換指標を使用して価格傾向の変化を特定する.この戦略はフィッシャー変換を使用して価格を標準スケールに正常化し,潜在的なトレンド逆転点を検出しやすくする.値を動的に調整することで,戦略は異なる市場状況に適応し,トレンド認識の精度を向上させる.フィッシャー変換値が正または負の値を超えると,戦略は市場のトレンドに従うために購入または販売信号を生成する.

戦略原則

  1. フィッシャー変換値を計算する: 過去の高値と低値に基づいて,現在の価格を正規化して -0.999 から 0.999 の間のフィッシャー変換値を得ます.
  2. ダイナミック・スロージック: 異なる市場状態に適応するためにフィッシャー・トランスフォームの価値の歴史的変動に基づいて,買い物・売却信号のスロージックをダイナミックに調整します.
  3. トレンド決定:現在のフィッシャー変換値と前2期の値を比較することによって価格動向の変化を決定する.
  4. 買い・売りシグナル:フィッシャー・トランスフォームの値が下から負の値を超えると買い・売りシグナルを生成し,フィッシャー・トランスフォームの値が上から正の値を超えると売り・売りシグナルを生成する.

利点分析

  1. 動的値調整: トレンド判断の精度を向上させるために,市場の変動に基づいて購入・販売値を適応的に調整する.
  2. トレンド追跡:フィッシャー・トランスフォーム指標のトレンド判断により,市場のトレンドとトレンドフォロー取引を効果的に把握できます.
  3. 価格騒音の減少:フィッシャー変換は価格を正常化し,価格騒音がトレンド判断に与える影響を減らすのに役立ちます.
  4. 直感的なチャート表示: 戦略は,チャート上でフィッシャー変換曲線と値線をプロットし,トレーダーは市場動向と購入/販売シグナルを視覚的に観察することができます.

リスク分析

  1. パラメータ最適化リスク: 戦略のパフォーマンスは,フィッシャー変換期間のようなパラメータと動的値計算方法の選択に依存します.異なるパラメータは異なる取引結果をもたらす可能性があります.
  2. トレンド認識遅延:フィッシャー・トランスフォーム指標は,価格動向を判断するのに一定の遅延があり,一部のトレンド動向を見逃す可能性があります.
  3. 不安定な市場での不良パフォーマンス: 不安定な市場条件では,傾向の変化が頻繁に起こり,戦略がより多くの誤った信号を生成し,不適正な取引パフォーマンスにつながることがあります.
  4. 極端な市場リスク:極端な市場状況 (迅速で実質的な変化など) で,フィッシャー・トランスフォームの指標が失敗し,戦略が不正な取引決定を下す可能性があります.

最適化方向

  1. パラメータ最適化:フィッシャー変換期間や動的値計算方法などのキーパラメータを最適化して,戦略の異なる市場状態への適応性を向上させる.
  2. シグナルフィルタリング:トレンド認識に加えて,他の技術指標または市場情勢指標を導入して,取引信号を確認し,信号の信頼性を向上させる.
  3. ストップ・ロストとテイク・プロフィート: 単一の取引リスクを制御し,戦略のリスク・リターン比を改善するために,合理的なストップ・ロストとテイク・プロフィートルールを設定します.
  4. ポジション管理: ポジションのサイズを市場の動向強さと価格変動などの要因に基づいて動的に調整し,保有リスクを軽減します.

概要

フィッシャー・トランスフォームのダイナミック・スリースホール・トレンドフォロー戦略は,フィッシャー・トランスフォームの指標とダイナミック・スリースホールを使用して価格動向の変化を特定し,異なる市場状態に適応する.この戦略は,市場動向を効果的に把握し,トレンドフォロー取引を可能にします.その利点には,ダイナミック・スリースホール調整,価格ノイズ干渉の軽減,直感的なチャート表示が含まれます.しかし,パラメータ最適化リスク,トレンド認識遅延,不安定な市場で不良なパフォーマンス,極端な市場リスクなどの課題に直面しています.パラメータ最適化,信号フィルタリング,ストップ・ロストおよびテイク・プロフィート,ポジション管理などの措置を通じて,戦略の強さと収益性がさらに向上することができます.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Qiuboneminer -  Fisher Transform", overlay=true)

// Parámetros
Len = input.int(10, minval=1)
mult1 = input.int(1, minval=1)
threshold = 2.6

// Función Fisher Transform
fish(Length, timeMultiplier) =>
    var float nValue1 = na
    var float nFish = na
    xHL2 = hl2
    xMaxH = ta.highest(xHL2, Length * timeMultiplier)
    xMinL = ta.lowest(xHL2, Length * timeMultiplier)
    nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
    nValue2 = if nValue1 > 0.99
        0.999
    else if nValue1 < -0.99
        -0.999
    else
        nValue1
    nFish := 0.5 * math.log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
    nFish

// Cálculo del Fisher Transform para mult1
Fisher1 = fish(Len, mult1)

// Condiciones de entrada y salida
longCondition = Fisher1 > nz(Fisher1[1]) and nz(Fisher1[1]) <= nz(Fisher1[2]) and Fisher1 < -threshold
shortCondition = Fisher1 < nz(Fisher1[1]) and nz(Fisher1[1]) >= nz(Fisher1[2]) and Fisher1 > threshold

// Estrategia de entrada
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

// Ploteo del Fisher Transform
plot(Fisher1, color=(Fisher1 > nz(Fisher1[1]) ? color.rgb(34, 255, 0) : color.rgb(255, 0, 212)), title="Fisher TF:1")

// Ploteo de líneas de umbral
hline(threshold, "Umbral Superior", color=color.rgb(255, 0, 0), linestyle=hline.style_dotted)
hline(-threshold, "Umbral Inferior", color=#008704, linestyle=hline.style_dotted)


もっと