逆転トラッキング戦略はパラドールラインのストップ損失逆転と相対強度指数指標をベースに,価格の突破を識別して取引信号を生成する.価格が上行または下行トレンドラインを破るとき,この戦略は取引信号を発し,逆のポジションをとる.これは価格の逆転のチャンスを掴むことができる.
この戦略は主に2つの技術指標を用いています.
パラボリック・ストップ・ライン・リバース ((Parabolic SAR):この指標は,パラボリック・ラインを動的ストップ・ラインとして描きます.価格がこのラインを破るとき,ストップ・ラインの位置と方向は,買いまたは売り信号を生成するために,リセットされます.
相対強度指数 ((RSI):この指標は,価格の上昇速度と変化を一段の期間で反映している. RSIが超買線より高いときは超買区,超売区より低いときは超売区である.
具体的には,戦略は,最初にユーザの入力によりパラロイドストップの逆転の初期値,ステップ長と最大値を設定します. そして,価格がパラロイドを突破するかどうかによって,買入と売却のタイミングを判断します.
また,戦略は,RSI指標を監視し,超買い超売り領域にあるかどうかを判断します. RSIが超買い領域に入ると,多頭位を平らげ,RSIが超売り領域に入ると,空頭位を平らげます.
統合パラロックスリバースシグナルとRSIフィルターシグナル,この戦略は,価格が逆転する時に,時効的に逆操作して,低買い高売りの目標を達成する.
逆転トラッキング戦略の利点は以下の通りです.
Capture Price Reversal - 突破を利用して反転シグナルを生成し,価格が転じるときに適時に逆操作を行い,反転の機会をキャプチャする.
Dynamic Stop Loss - パラロースは,リアルタイム価格の動向に応じてストップロスの位置を動的に調整して,利益保護を実現する移動のストップである.
適応性 - 戦略のパラメータは,異なる市場環境に適用して調整可能であり,適応性がある.
RSIフィルター - RSI指標は,反転しない時に反操作を逃さないように,偽の突破をフィルターします.
Easy to Implement - シンプルな指標,コードの少ない量,実装し,反省しやすい.
この戦略には以下のリスクもあります.
Whipsaw Risk - 偽の突破がストップローズを反転させ誤信号を生じさせれば,再発的な損失が生じます.
オーバー最適化 (Over Optimization) - 戦略パラメータを最適化すると,過度に適合したデータで不確実性が失われる.
基本的根拠がない - 基本的情報を無視して,純粋に技術的な指標を駆使する.
トランザクションコストを無視する - 繰り返し取引が取引コストを増加させる
Subject to Price Gaps - 価格の飛躍は誤ったストップ・ロスの反転を誘発する可能性がある.
この戦略は以下の点で最適化できます.
Combine with other indicators - 他の指標と組み合わせて突破信号を確認し,偽突破を回避する.例えば,取引量指標を追加する.
パラメータチューニング - 指数パラメータをテスト最適化して,最適なパラメータ組み合わせを見つける.
ポジションサイジング - 市場状況に応じてポジションのサイズを調整し,リスクをコントロールする.
Trade only on significant levels - 重要なサポート・レジスタンス位置の近くでのみ取引し,頻繁な取引を避ける.
基本を考慮して,大トレンドに逆らわないようにしましょう.
逆転追跡戦略は,パラパラ線のストップ・リバースとRSI指標によって取引信号を形成し,価格の逆転点で反転の機会を捉えます. この戦略は,ストップ・ロスを動的に調整し,突破から生じるショートラインの利益を捉えます. しかし,騒音を追跡するリスクもあります. パラメータの最適化,意思決定の質の向上などによって戦略の安定性と収益性を向上させることができます.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// strategy("SARSI",overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_type = strategy.commission.percent, commission_value = 0.0675, initial_capital = 10000, currency = currency.USD, calc_on_order_fills = true, calc_on_every_tick = true)
//study("SARSI",overlay = true)
src = input(close, title="Source")
len = input(14, minval=1, title="Length")
rob = input(title="RSI Overbought Level", defval=82, minval=1, maxval=100)
ros = input(title="RSI Oversold Level", defval=21, minval=1, maxval=100)
start = input(title="SAR Start", defval=0.007, minval=0.001, maxval=10)
inc = input(title="SAR Increment", defval=0.017, minval=0.001, maxval=100)
max = input(title="SAR Maximum", defval=0.24, minval=0.01, maxval=10)
asar = sar(start,inc,max)
xrsi = rsi(close,len)
date = timestamp(2018, 8, 1, 00, 00)
up = crossunder(asar,src)
dn = crossover(asar,src)
//ob = crossunder(xrsi,rob)
//os = crossover(xrsi,ros)
strategy.entry("long", strategy.long, when=up and time>=date, comment="Long")
strategy.entry("short", strategy.short, when=dn and time>=date, comment="Short")
//strategy.close("long", when=ob)
//strategy.close("short", when=os)
alertcondition(up, "Long", "Long Msg")
alertcondition(dn, "Short", "Short Msg")
//uptrend=plotshape(up,"uptrend",shape.triangleup,color=#48A498,transp=0, size = size.tiny, location = location.belowbar,text="฿")
//downtrend=plotshape(dn,"downtrend",shape.triangledown,color=#E25655,transp=0, size = size.tiny, location = location.abovebar,text="$")
//plotshape(ob,"overbuy",shape.triangleup,color=#48A498,transp=0, size = size.small, location = location.belowbar,text="0฿")
//plotshape(os,"oversell",shape.triangledown,color=#E25655,transp=0, size = size.small, location = location.abovebar,text="0$")
plot(asar, style=cross, color=gray, transp=0, linewidth=1, title="SAR")