CMARSI取引戦略は,RSI指標と均線を組み合わせたトレンドフォロー戦略である.これは,改善されたRSI指標を使用してトレンドを識別し,均線を入場と退出の決定信号として使用する.この戦略は,中長期線取引に適用され,トレンドフォローによってより良い利益を得ることができます.
CMARSI策略は,改良されたRSI指標であるConnors RSIを使用しています.Connors RSIは,クラシックRSI,RSI多空平均線,価格変化率ROCの3つの指標を組み合わせています.その計算式は次のとおりです.
コナーズ RSI = (RSI + RSI 多空平均線 + ROC パーセント) / 3
RSIは3日周期,RSI多空平均線は2日周期,ROCパーセントは100日周期を使用している.
コナーズRSIの利点は,複数の指標を統合することで,トレンドの変化をより正確に識別できるということです. コナーズRSIの40の境界を突破すると多見信号,70の境界を突破すると空見信号です.
CMARSI策略はConnors RSIをベースに,平均線ファクターを追加して導入する.この策略は2日間の平均線を計算し,Connors RSIと平均線の金叉死叉を取引シグナルとして使用する.具体的取引規則は:
コナーズはRSIで40分を突破し,金叉2日平均線を打ったとき,追加入場を行った.
コナーズ RSI下70分界を突破し,死叉2日平均線に突入すると平仓は出場した.
均線の波を利用することで,コナーズRSIの部分的な偽信号を回避し,戦略の安定性を向上させることができる.
CMARSI戦略の最大の利点は,複数の指標のトレンドを統合して,単一のRSI指標の限界を回避することです.具体的には,この戦略には以下の利点があります.
コナーズRSIは,トレンドの転換点を正確に識別するために,クラシックRSIよりも安定しています.
均線の導入は,部分的な騒音をフィルターし,高殺低を追うのを避けるのに有効である.
複数の指標の組み合わせは,トレンドをたどって利益を得ることで,勝率を高めることができます.
取引のルールはシンプルでわかりやすく,実行しやすい.
トレンドフォロー戦略として,中長線トレンドの利潤を十分に捉えることができます.
CMARSI戦略の主なリスクは,トレンド判断の誤りとストップ・ポジションの設定から生じる.具体的リスクは以下の通りである.
Connors RSI指標は誤った信号を発し,不必要な入場を引き起こします. 適切なパラメータを調整したり,他の指標の確認を追加したりできます.
止損位置の設定は不合理であり,早すぎる止損または止損幅が大きすぎることがあります.異なる品種と市場環境に応じて止損位置を最適化する必要があります.
震動の状況では,均線フィルタリングの効果は不十分であり,戦略パラメータに対応して最適化を行う.
長期にわたる運用は過度な最適化につながる可能性があるため,定期的に反省し,市場環境に応じてパラメータを調整する必要があります.
CMARSIの戦略は,以下の点で最適化できます.
コナーズ RSIのパラメータを最適化して,異なる周期と品種に対応する。
フィルター効果をさらに高めるために,様々な種類の均線を試す.
MACD,ブリンズなどの他の指標を追加して取引信号を確認する.
合理的な移動ストップまたは階差ストップを設定して,ストップ戦略を最適化します.
取引品種を選択して,特定の品種に適した戦略を策定する.
ウォーク・フォワード・アナリスト (Walk Forward Analysis) の手法を使ってパラメータを定期的に最適化して,過最適化を避ける.
CMARSI戦略は,コンナーズRSIと均線指標を総合的に使用し,トレンドをフォローすることによって中長線取引を行う.この戦略は,安定し,実行しやすいので,トレンドを効果的に追跡して利益を得ることができる.我々は,市場環境に応じて戦略パラメータを継続的に最適化し,リスク管理を行えば,よりよい収益性を得ることができる.全体的にCMARSIは,推奨されるトレンド取引戦略である.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
src = close, lenrsi = 3, lenupdown = 2, lenroc = 100, malengt = 2, low = 40, high = 70, a = 1
updown(s) =>
isEqual = s == s[1]
isGrowing = s > s[1]
ud = 0.0
ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1])+1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1])-1)
ud
rsi = rsi(src, lenrsi)
updownrsi = rsi(updown(src), lenupdown)
percentrank = percentrank(roc(src, 1), lenroc)
crsi = avg(rsi, updownrsi, percentrank)
MA = sma(crsi, malengt)
band1 = 70
band0 = 40
ColorMA = MA>=band0 ? lime : red
p1 = plot(MA, title="BuyNiggers", style=line, linewidth=4, color=ColorMA)
p2 = plot(low, title="idk", style=line, linewidth=2, color=blue)
p3 = plot(high, title="idk2", style=line, linewidth=2, color=orange)
//@version=2
strategy("CMARSI")
if crossover(MA,band0)
strategy.entry("buy", strategy.long, when=strategy.position_size <= 0)
if crossunder(MA,band1)
strategy.exit("sell", "buy", profit=1000000, stop=10000000)
plot(strategy.equity)