
移動平均プルバック取引戦略 (Moving Average Pullback Trading Strategy) は,トレンドの方向に向かって取引する戦略である.これは,長期と短期の移動平均の関係を利用して,全体的なトレンドの方向を判断し,短期の引き戻しの時に,低価格で買い,平仓の目標をストップとストップにする.
この戦略の主要な判断ルールは以下の通りです.
この組み合わせによって,予測に沿ったトレンドの方向を前提に,短期的な調整の機会を利用してポジションを確立することができます.
この戦略の最大の利点は,大きなトレンド方向の予想の下でのみ多頭取引を行うことであり,波動市場のリスクを効果的に回避できる点にある.同時に,短期平均の回調のタイミングを利用して買い戻しを行うことで,比較的に良い価格で市場に参入できる点にある.
さらに,この戦略は,ストップ・ロズとストップ・ストップのメカニズムを設定している.これは,判断が誤り,逆行が形成されても,ストップ・ロズによって損失を制御することができる.また,利益の後に,ストップ・ロズによって利益の一部をロックすることができる.
この戦略は大きなトレンドを判断し,ストップ・ストップの設定を考慮しているものの,リスクは存在します.
長期トレンド判断誤りのリスク。多頭市場に入ると判断して多頭市場に入るとポジションを多く開くが,実際には市場が多頭から震動または空頭に転移しているので,大きな損失を招く。
ストップ・ロスが追及されるリスク.特に,重大ネガティブなイベントが発生したときに,市場が空飛ぶ可能性があり,事前に設定されたストップ・ロスのラインを超え,損失を制御できない状況を引き起こします.
リスクの軽減には,以下の方法が考えられます.
大市場分析をよくして,震動区間のトレンドを誤判しないようにする。または,より長い周期の移動平均を設定して大トレンドを確認する。
条件式で,市場が空飛んで下落する時に平仓を触発する,単純なストップ・ロスの代わりに,ストップ・ロスの追突を一定程度に防ぐことができる.
この戦略は長線判断と短線入場を特徴としており,以下のような点でさらに最適化できます.
移動平均の周期パラメータを最適化し,最適なパラメータの組み合わせを探します.
他の指標の判断を追加する.例えば,取引量分析を加えるか,またはRSI指標に基づいて他の超買い超売り指標を組み合わせる
ストップ・ストップの幅をリアルタイムで調整します. 市場の変動に応じて自主的に調整し,大きな変動の際には適切な緩解でストップ・ストップの幅を緩和できます.
異なる基準の品種の適性をテストする.このような戦略は,インデックス型の製品に適している可能性があり,個別の株で使用する場合,他のフィルタリングルールを追加する必要があります.
移動平均引き下げ取引戦略は,全体としてより成熟した安定した戦略的考え方である.それは,主に大傾向と短期的な引き下げの機会を考慮し,追及しない前提でより良い入場時間を得る.同時に,止損ストップを設定することで利益をロックし,リスクを制御する.この戦略は,強力な総合的な分析能力と豊富な取引経験を持つ投資家に特に適しています.
/*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")