トレンド 調整された偏差に基づく戦略

作者: リン・ハーンチャオチャン開催日:2024年2月20日11時15分54秒
タグ:

img

概要

この戦略は,短期高低,短期・長期平均コストとの間の偏差を利用して傾向を決定する.これは,短期間の敏感性を高め,トレンドが現れるときに有意な利益を維持しながら,統合中に小さな損失を減らすために,以前のおよび後の平滑平均関数を拡大することによって統合コストを削減することを目的としています.

戦略の原則

  1. 短期コストを計算する:最近の短期キャンドルの最高価格と最低価格を計算するために,最高値と最低値の関数を使用し,短期コストとして平均を取ります.

  2. 長期コストを計算する: タ.スマ関数を使用して,最近の長期キャンドルの閉店価格の単純な移動平均を計算します.

  3. 計算偏差: 短期コストから長期コストを引く

  4. 滑らかな偏差: 単純な移動平均のtas.smaを使用して誤判を減らすために偏差を滑らかにします.

  5. 傾向を決定する: 滑らかな偏差が 限界値よりも大きい場合,上向きの傾向として判断する. 負の限界値よりも小さい場合,下向きの傾向として判断する.

  6. 入口と出口: 上向きトレンドを追跡するときにロング,下向きトレンドを追跡するときにショート.

利点分析

  1. 短期的な機会を迅速に把握するために 短期的な敏感性を高める
  2. 処理をスムーズにすることで 判断の誤りの可能性が減ります
  3. チャンネル設定は,不要な開口位置を減らす
  4. 傾向を緊密に追跡することで,時宜のストップ損失と利益を取ることができます.

リスク分析

  1. 短期的な集中は簡単に罠に引っかかることを導きます,ストップ損失範囲を適切に拡大する必要があります
  2. パラメータは繰り返しテストが必要であり,短時間や長期間の設定が不適切で,偏差を平滑するパラメータは過敏性や遅延を引き起こす可能性があります.
  3. チャンネルの振幅は,合理的に設定する必要があります,あまりにも大きいまたは小さい両方の問題を引き起こすことができます
  4. 波動性のある横向市場において,繰り返し開場するポジションに閉じ込められる可能性

リスク解決:

  1. トラップを避けるため,ストップ損失範囲を適切に拡大する
  2. センシビリティと誤判率をバランスするためにパラメータ設定を最適化します
  3. チャンネルパラメータをテストし最適化
  4. 波動性中に不必要な開口ポジションを避けるためにフィルタリング条件を追加する.

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

  1. 短期高低点を最適化します.例えば,平らな短期コスト (PAや重度の平均値) を計算します.
  2. 長期的なコスト計算の異なる方法を試す
  3. 異なる偏差を滑らかにするアルゴリズムを試す
  4. チャネルパラメータを最適化
  5. ブレイクアウト,ボリューム上昇など
  6. 逆転 逆転取引機会を追加する

概要

一般的に,これは非常にシンプルで直接的なトレンドフォロー戦略である.移動平均値のような一般的な指標と比較して,短期および長期間のコストの間の偏差を計算することによって,傾向の変化をより早く判断することができる.一方,スムージング処理はパラメータ最適化にもより柔軟性を提供し,スムージングパラメータを調整することで,敏感性と誤判率をバランスできるようにする.要するに,この戦略は敏捷性,直接性,高いカスタマイズ可能性などの特徴を持っています.これはより深く探求する価値のある有望な戦略です.パラメータを引き続き最適化し,補助判断条件を追加することで,戦略のパフォーマンスをさらに向上させる可能性があります.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © dead0001ing1

//@version=5
strategy("Trend-Following Indicator", overlay=true)

// 設置參數
shortTerm = input(5, "Short Term")
longTerm = input(20, "Long Term")
smooth = input(5, "Smoothing")
threshold = input(0, "Threshold")

// 計算短期成本
shortH = ta.highest(high, shortTerm)
shortL = ta.lowest(low, shortTerm)
shortCost = (shortH + shortL) / 2

// 計算長期成本
longCost = ta.sma(close, longTerm)

// 計算均差
deviation = shortCost - longCost

// 平滑均差
smoothedDeviation = ta.sma(deviation, smooth)

// 判斷順勢
isTrendingUp = smoothedDeviation > threshold
isTrendingDown = smoothedDeviation < -threshold

// 顯示順勢信號
plotshape(isTrendingUp, title="Trending Up", location=location.belowbar, color=color.green, style=shape.labelup, text="Up", size=size.small)
plotshape(isTrendingDown, title="Trending Down", location=location.abovebar, color=color.red, style=shape.labeldown, text="Down", size=size.small)

// 定義進出場策略
if isTrendingUp
    strategy.entry("Long", strategy.long)
    strategy.close("Long", when=isTrendingDown)
if isTrendingDown
    strategy.entry("Short", strategy.short)
    strategy.close("Short", when=isTrendingUp)



もっと