
この戦略は超トレンド追跡戦略と呼ばれる.この戦略は超トレンド指標に基づいて多空の自動取引システムを開発し,トレンドの方向を自動的に識別し,RSI指標とADX指標と組み合わせて入場と出場を行う.
この戦略は,主に超トレンド指標に基づいて現在の価格傾向を判断する.超トレンド指標は,移動平均とATRを組み合わせて,価格傾向の方向を効果的に判断することができます.超トレンド指標の方向が逆転したとき,価格傾向が変化したことを示す.
具体的には,この戦略は,まず超トレンド指標の方向,およびRSI指標とADX指標を計算する.超トレンド指標の方向は下向きに転じ,そしてRSI指標は多頭的な強さが消退する条件で空白入場を行う.超トレンド指標が再び上向きに転じるとき,空白平準ポジションを実行する.
この戦略の最大の利点は,価格のトレンドを自動的に識別し,トレンドに基づいて入場と出場を行うことであり,人工判断を必要としないことです.さらに,RSI指標とADX指標を組み合わせてフィルタリングを行うことで,偽の突破を効果的にフィルタリングし,利益の確率を向上させることができます.
この戦略の最大のリスクは,超トレンド指標自体が価格の動向を判断する精度が高くないことであり,誤ったシグナルが発生する可能性があることにある.また,ストップ・ロスの仕組みが設定されていないため,単一の損失が大きい可能性があります.
超トレンド指標のパラメータを調整し,移動ストップを追加することで最適化してリスクを低減することができる.
この戦略は以下の点で最適化できます.
超トレンド指標のパラメータを最適化し,判断の正確性を向上させる
モバイル・ストップ・メカニズムへの加入
ブリン・バンド,KDJなど,より多くの指標を組み合わせてフィルタリングして,収益の確率を向上させる
同様の多頭入場・出場戦略を展開し,全面的な戦略を展開する.
この戦略は,全体として超トレンド指数判断トレンドに基づく自動化取引戦略である。優点は,自動化度が高く,トレンドが勝負する判断が可能である。欠点は,超トレンド指数自体の正確性である.通常,止損設定がない。パラメータを最適化して他の指数を追加することで,利益の確率を向上させ,止損を増やすことでリスクを制御でき,この戦略をより強固にする。
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Supertrend Strategy", overlay=true)
atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)
[_, direction] = ta.supertrend(factor, atrPeriod)
adxlen = input(7, title="ADX Smoothing")
dilen = input(7, title="DI Length")
dirmov(len) =>
up = ta.change(high)
down = -ta.change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
truerange = ta.rma(ta.tr, len)
plus = fixnan(100 * ta.rma(plusDM, len) / truerange)
minus = fixnan(100 * ta.rma(minusDM, len) / truerange)
[plus, minus]
adx(dilen, adxlen) =>
[plus, minus] = dirmov(dilen)
sum = plus + minus
adx = 100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), adxlen)
adx
sig = adx(dilen, adxlen)
if ta.change(direction) < 0 and ta.rsi(close, 21) < 66 and ta.rsi(close, 3) > 80 and ta.rsi(close, 28) > 49 and sig > 20
strategy.entry("My Long Entry Id", strategy.long)
if ta.change(direction) > 0
strategy.close("My Long Entry Id")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)