
超トレンド柱の転換融合策は,超トレンド指標と柱の転換指標を融合させる策である.この策は,超トレンド指標と柱の転換指標が任意の多空を行うとき,対応する多空または多空操作を行う.
この戦略は主に2つの指標を利用しています.
スーパートレンド指数:この指数は,平均実際の波幅と1つの因子に基づいてトレンドの方向を決定する.価格が上昇トレンドチャネル内にあるときは多めに,価格が下降トレンドチャネル内にあるときは空っぽにする.
柱の回転指標:この指標は,現在のK線が陽線 ((閉盘価格が開盘価格より高) か陰線 ((開盘価格が閉盘価格より高) か判断する.陽線であるとき返し1,陰線であるとき返し-1である.
戦略の主要な論理は:
超トレンド指数が多めで,柱は指数に陽線を向けたとき,多めを行う.
超トレンドの指数が空白し,柱が指数に陰線として回転すると空白する.
平仓の時には,超トレンドの指標が方向転換した場合に,適時平仓する.
この融合により,超トレンド指標のトレンド判断能力と柱の回転指標の短期判断能力を同時に利用し,よりよいエントリータイミングを実現することができる.
この戦略の利点は以下の通りです.
複数の指標を融合させ,精度を向上させる.スーパートレンドの傾向判断と柱の転換の短期判断を同時に利用することで,エントリータイミングの精度を向上させることができる.
タイムリーストップ. 主要指標の超トレンドの方向が変わるとき,迅速にストップして,損失の拡大を避ける.
シンプルで使いやすい. この戦略は,2つの一般的な指標の組み合わせだけで,非常にシンプルで使いやすい.
適応力 超トレンド指標には,その自体に一定のパラメータがあり,異なる品種と周期に適応することができる.
この戦略にはいくつかのリスクがあります.
融合判定が不適切である場合,誤判が可能である.柱の方向指数と超トレンド指数の判定が一致しない場合,時宜で止損が必要である.
パラメータ設定が不適切であれば効果に影響する.超トレンド指標のATR長と因数パラメータは,異なる品種に合わせて調整する必要がある.
短期的な反転は,小規模な損失を引き起こす可能性があります. 短期的な価格反転は,スーパートレンドが転換する前に小規模な損失を引き起こす可能性があります.
この戦略は以下の点で最適化できます.
リスク管理策の強化,移動ストップ,時間ストップ,ストップを突破するなどによるリスク管理
超トレンド指標のパラメータを最適化し,異なる品種と周期の最適なパラメータの組み合わせを見つけます.機械学習などの方法で自動的に最適化することができます.
複数の指標を統合し,投票の仕組みを整え,判断の安定性を高める.
取引量変化,利差変化などの市場要因を組み合わせて,指標効果の信頼性を判断し,誤導信号をフィルターします.
超トレンド柱は,簡易な指標の組み合わせを使用して,トレンド判断と短期判断の融合を実現し,使いやすいままにしながら,エントリータイミングの正確性を向上させる融合戦略に転換した.この戦略は,パラメータ最適化,止損戦略最適化,多指標投票などの方法によって,効果と信頼性をさらに向上させることができる.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend and BarUpDn Indicator Fusion", overlay=true)
// Supertrend indicator
atrLength = input(10, title="ATR Length")
factor = input(3.0, title="Factor")
[supertrend, direction] = ta.supertrend(factor, atrLength)
lastBar = 0
// BarUpDn indicator
barUpDn = close > open and open > close[1] ? 1 : close < open and open < close[1] ? -1 : 0
if (barUpDn == 1)
lastBar := 1
else if barUpDn == -1
lastBar := -1
// Determine long or short position
longCondition = (direction > 0 and barUpDn > 0) or (direction > 0 and lastBar == 1)
shortCondition = (direction < 0 and barUpDn < 0) or (direction < 0 and lastBar == -1)
// Enter long or short position
if (longCondition)
strategy.entry("Long", strategy.long)
lastBar := 1
else if (shortCondition)
strategy.entry("Short", strategy.short)
lastBar := -1
if (direction < 0 and barUpDn > 0)
strategy.entry("Long", strategy.long)
// Exit long or short position
if (direction > 0 and barUpDn < 0)
strategy.entry("Short", strategy.short)
// Exit long or short position
// if (direction < 0 and barUpDn > 0 or direction > 0 and barUpDn < 0)
// strategy.close_all()