比較相対強度戦略は,2つの市場の相対強度を比較することによって取引を生成する.比較市場のパフォーマンスがベンチマークと比べて優れているのは購入信号であり,劣悪なパフォーマンスは販売信号と見なされる.
論理的には
比較市場,例えば株式を選択する
基準市場を選択する,例えばS&P 500指数
比較市場と基準の計算比
比較は,比率が過買いレベルを超えると長引く
割引率が過売りゾーンを下回るとショート
価格が下がるときにポジションを閉じるために引き下げラインを設定します.
相対的な強さを比較することで,戦略は過小評価された機会を明らかにし過大評価された状況を回避することを目指します.
比較する相対的な強度 低評価を見つける
トレンドを追いかけるのを避けます
シンプルで明瞭なルール
適切なベンチマークの選択
買い過ぎ/売り過ぎのエリアは最適化が必要
LONG/SHORTは,すべての機会を逃すだけです
相対強度戦略は,2つの市場を比較することで,アビタージの可能性を特定します.しかし,パラメータチューニングとストップ戦略には慎重な評価が必要です.
/*backtest start: 2022-09-07 00:00:00 end: 2023-09-13 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 10/03/2017 // Comparative Relative Strength Strategy for ES // // You can change long to short in the Input Settings // Please, use it only for learning or paper trading. Do not for real trading. //////////////////////////////////////////////////////////// strategy("Comparative Relative Strength Strategy", shorttitle="CRS") a = syminfo.tickerid b = input("BTC_USDT:swap") len = input(10) BuyBand = input(0.9988, step = 0.0001) SellBand = input(0.9960, step = 0.0001) CloseBand = input(0.9975, step = 0.0001) reverse = input(false, title="Trade reverse") hline(CloseBand, color=blue, linestyle=hline.style_dashed) hline(SellBand, color=red, linestyle=hline.style_solid) hline(BuyBand, color=green, linestyle=hline.style_solid) as = security(a, timeframe.period, close) bs = security(b, timeframe.period, close) nRes = sma(as/bs, len) pos = iff(nRes > BuyBand, 1, iff(nRes < SellBand, -1, iff(pos[1] == 1 and nRes < CloseBand, 0, iff(pos[1] == -1 and nRes > CloseBand, 0, nz(pos[1], 0))))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) if (possig == 0) strategy.close("Long", when = possig == 0) strategy.close("Short", when = possig == 0) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(as/bs, title="CRS", color=gray) plot(nRes, color=navy)