モメント・リバーサル・トレーディング・戦略

作者: リン・ハーンチャオチャン開催日:2024年1月18日11時26分40秒
タグ:

img

概要

これは非常にシンプルな短期取引戦略で,主に指数先物日取引に適しています.指数が長期上向きのチャネルにあり,短期的な逆転信号がある場合にのみ長くなります.

原則

この戦略は,主に移動平均値とRSI指標を使用して,トレンドと過買い/過売り条件を決定する.具体的な取引信号は:インデックス閉盤価格が長期200日間の移動平均値から反転し,長期トレンド判断としてその上にとどまる;閉盤価格が短期調整信号として10日間の移動平均値以下に突破する;RSI3が過売り信号として30未満である.上記の3つの条件が満たされた場合,短期逆転の確率は比較的大きいと考えられる.

ポジションを取った後,出口はストップ・ロスト,利益採取,短期トレンド判断に基づいて行われます. 閉じる価格が10日間のMAを超えると,短期調整が終了したと判断すると,積極的に利益を取ります. 閉じる価格が新しい低値に達した場合,損失で停止します. 閉じる価格が10%上昇すると利益を取ります.

利点分析

この戦略には以下の利点があります.

  1. シンプルな論理,分かりやすく実行し,初心者にも適しています.
  2. 長期上向きの傾向を最大限に活用し,傾向に反する取引を避ける.
  3. RSIインジケーターを使用して,短期的な逆転点を決定し,利益の確率を高める.
  4. リスクをコントロールするためにストップ・ロストとメリット・テイク・メカニズムがあります.
  5. 低データ要求で 日々のデータで十分で ゼロコストで実行できます

リスク分析

この戦略にはいくつかのリスクもあります:

  1. 熊市場が継続的に下落すると損失が生じます
  2. 失敗した逆転は大きな損失を引き起こす可能性があります.
  3. 誤ったパラメータ設定も結果に影響を与えます.例えば,誤った移動平均期などです.
  4. 取引頻度が低く,すべての調整を把握できない場合もある.
  5. 市場指数よりあまり高くない

上記のリスクに対応して,サイクルパラメータの最適化,ストップ・ロスの比率の調整,他の指標判断の追加など,戦略の改善に用いることができる.

オプティマイゼーションの方向性

戦略は以下の側面で最適化できます.

  1. 判断の正確性を高めるため,長期および短期的傾向に関するMACDとKDなどの多要素判断を拡大する.
  2. トレーディング・ボリュームが急上昇するときにロングに行くような取引量分析を加える.
  3. 最適なパラメータを見つけるために,ウォーク・フォワード分析やその他の方法によってパラメータ設定を最適化する.
  4. リバースレベルを決定するために,フィボナッチリトレースメントレベル,サポートレベル,レジスタンスレベルなどのより多くのリバース要素を組み合わせます.
  5. 利益率の最適化など,ポジションやストップ・ロスの調整を徹底的に検討し,より高い収益を達成する.

概要

概要すると,これは非常にシンプルで実用的な短期取引戦略です.リスクを制御しながら過剰なリターンを獲得するために,長期上向きと短期のプルバック逆転を組み合わせます.継続的な最適化とパラメータ調整により,より良い結果が得られます.


/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © tsujimoto0403

//@version=5
strategy("simple pull back", overlay=true,default_qty_type=strategy.percent_of_equity,
     default_qty_value=100)

//input value 
malongperiod=input.int(200,"長期移動平均BASE200/period of long term sma",group = "パラメータ")
mashortperiod=input.int(10,"長期移動平均BASE10/period of short term sma",group = "パラメータ")
stoprate=input.int(5,title = "損切の割合%/stoploss percentages",group = "パラメータ")
profit=input.int(20,title = "利食いの割合%/take profit percentages",group = "パラメータ")
startday=input(title="バックテストを始める日/start trade day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="期間")
endday=input(title="バックテスを終わる日/finish date day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="期間")


//polt indicators that we use 
malong=ta.sma(close,malongperiod)
mashort=ta.sma(close,mashortperiod)

plot(malong,color=color.aqua,linewidth = 2)
plot(mashort,color=color.yellow,linewidth = 2)

//date range 
datefilter = true

//open conditions
if close>malong and close<mashort and strategy.position_size == 0 and datefilter and ta.rsi(close,3)<30 
    strategy.entry(id="long", direction=strategy.long)
    
//sell conditions 
strategy.exit(id="cut",from_entry="long",stop=(1-0.01*stoprate)*strategy.position_avg_price,limit=(1+0.01*profit)*strategy.position_avg_price)


if close>mashort and close<low[1] and strategy.position_size>0
    strategy.close(id ="long")
        




もっと