この戦略は長期的トレンドを追跡し,短期的な引き下げ時に市場に参入し,低価格で購入し高価格で販売する単純な取引論理を達成します.
閉じる価格が200日間のシンプル・ムービング・平均値以上になると,現在の市場が長期上昇傾向にあることを示します.閉じる価格が10日間のシンプル・ムービング・平均値を下回り,RSIが30を下回ると,価格は短期的に急激に下がったことを示します.この時点で,より良い価格で長期上昇傾向を追跡するためにロングをします.
ロングポジションを取った後,ストップロスを設定し,利益を得ます.具体的には,ストップロスはエントリー価格の95%に設定され,利益を得ることはエントリー価格の120%に設定されます.価格が上向きの10日線を突破すると,利益を得ます.価格が前のKラインの低値を下回ると,ストップロスをします.
この戦略の最大の利点は,長期的トレンドを追跡し,短期的調整中により良いエントリーポイントを選択することで,低購入と高販売を達成できるということです.長期的には,株式指数は一般的に上向きのチャネルにあり,この戦略は長期的上向きのトレンドを効果的に追跡することができます.
短期的には,この戦略によって選択されたエントリーポイントは,短期的な過売期間にあり,一定の低買い効果があります.RSI (3) は30を下回ると,3つのKラインで価格が継続的に下落していることを示します.これはエントリーに最適なタイミングを提供します.
ストップ・ロスのメカニズムの保護にもかかわらず,この戦略の最大のリスクは依然としてトレンドの誤った判断から生じる.長期トレンドが誤って判断された場合,市場に参入した後,より大きな損失に直面する可能性があります.また,ストップ・ロスのポジションがあまりにも近く設定された場合,リスクも増加する可能性があります.
ADX などの傾向判断指標を追加することで,市場に入場する際に実際にトレンド状態にあることを確認できます.また,エントリー価格の90%に拡大するなど,ストップロスの範囲を適切に緩和します.
この戦略は,次の側面で最適化できます.
短期的および長期的動向のより正確な判断を確保するために,より多くの傾向判断指標を追加する.
最適なパラメータ組み合わせを見つけるために移動平均のサイクルパラメータを最適化する.
利回り・ストップ・ロスのパラメータを異なる設定でテストし,最適なパラメータの組み合わせを見つけます.
市場への参入の効率を高めるために,取引量の増幅などの他の要因を追加してみてください.
この戦略の主な考え方は,短期調整中により良いエントリーポイントを選択し,長期トレンドを追跡することである.その最大の利点は,低価格の購入と高価格の販売を達成し,長期上昇傾向を追跡できる.同時に,ストップロスのメカニズムを設定することでリスク管理も考慮する.全体的に,これは非常にシンプルで,直接的で,理解し,実装しやすいトレンドトラッキング戦略である.いくつかのパラメータとルールを最適化することで,戦略の効果はさらに改善することができる.
/*backtest start: 2022-12-05 00:00:00 end: 2023-12-11 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")