移動平均回帰取引戦略

作者: リン・ハーンチャオチャン, 日付: 2023-12-07 18:09:27
タグ:

img

概要

移動平均回帰トレード戦略は,トレンドをフォローする戦略である.それは,長期および短期移動平均間の関係を活用して,全体のトレンド方向を決定し,価格が比較的低いとき,短期回帰中に長いエントリを行う.

戦略の論理

この戦略の重要な決定規則は以下のとおりです.

  1. 閉じる価格が長期移動平均値以上である場合,開設ポジション基準を満たす上昇傾向が確認されます.
  2. 閉じる価格が短期移動平均値以上から短期移動平均値以下に下がると,短期的な引き下がりがあります
  3. この時点で,RSIインジケーターが30未満である場合は,過売りとされ,購入信号が生成されます.
  4. 入場価格の5%以下に設定されたストップロスのロングポジションを設定し,入場価格の10%以上に設定された利益を取ります

このような組み合わせの基準で 短期的な引き下げ時に ポジションを確立できます 傾向方向が期待と一致している間です

戦略 の 利点

この戦略の最大の利点は,期待される上昇傾向でロングトレードを行うのみで,不安定な市場のリスクを効果的に回避できる.同時に,短期移動平均値の引き下げで買いを追いかけるため,比較的良い価格で市場に参入することができます.

さらに,戦略はストップ・ロスのメカニズムと,利益の引き上げを設定しています.これは判断が間違っている場合でも,利益の引き上げは利益の一部をロックすることを可能にします.

戦略 の リスク

この戦略は主要なトレンド判断を考慮し,ストップ・ロスを設定し,利益を取りますが,依然としていくつかのリスクがあります:

  1. 主なトレンドの判断が間違っているリスク.市場がロングポジションを開いた後にブールマーケットに入ったと判断すると,実際の市場はブイシストから横向または下落に転向し,大きな損失を引き起こす.

  2. ストップ・ロスのリスク ストップ・ロスのリスク ストップ・ロスのリスク ストップ・ロスのリスク

リスク軽減には次の方法が考えられます.

  1. ショックゾーンの傾向を誤って判断しないために,一般的な市場をよく分析するか,主要な傾向を確認するために,長いサイクル移動平均値を設定します.

  2. 簡単なストップ・ロスの代わりに,ギャップ・ダウン・ムーブで起動する条件オーダーを採用する.これはストップ・ロスのオーダーが一定程度に侵入するのを防ぐことができる.

戦略の最適化

長期判断と短期入社という戦略の特徴を考えると,以下のような側面でさらに最適化することができます.

  1. 最適なパラメータ組み合わせを見つけるために移動平均のサイクルパラメータを最適化

  2. 他の技術指標のフィルターを増やす.例えば,ボリューム分析を追加したり,RSIに基づいて他の過買い過売指標を組み合わせたりすること.

  3. 市場変動に基づいて適応調整を行うことができ,高い変動期間中に適切なストップ損失範囲を拡大

  4. 異なる製品間の適応性をテストする.このタイプの戦略はインデックス製品により適しているかもしれません.個々のストックに適用する際には追加のフィルターが必要です.

結論

一般的に,移動平均引き下げ取引戦略は,比較的成熟した安定した戦略のアイデアである.主に,短期的な引き下げの主要な傾向と機会を考慮し,新しい高値を追いかけるのではなく,良いエントリー機会を得ること.同時に,ストップ損失と利益の設定を通じて利益をロックし,リスクを制御する.この戦略は,強力な包括的な分析能力と豊富な取引経験を持つ投資家にとって特に適しています.


/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 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")
        




もっと