長期トレンドに従うシンプルなプルバック戦略


作成日: 2023-12-12 15:32:15 最終変更日: 2023-12-12 15:32:15
コピー: 2 クリック数: 665
1
フォロー
1621
フォロワー

長期トレンドに従うシンプルなプルバック戦略

この戦略は,長期のトレンドを追跡し,短期的な引き下げ時に場に入ることで,低価格で買い高価格で売るという単純な取引ロジックを実現する.

戦略原則

閉盘価格が200日単調移動平均より高いときは,現在長期上向きのトレンドにあることを示している.閉盘価格が10日単調移動平均より低く,RSIが30より低いときは,短期間に価格がより大幅な引き下げがあったことを示している.このとき,入札を多くして,長期上向きのトレンドをより良い価格で追跡することができる.

複数頭ポジションの後に,ストップ・ロースラインとストップ・ストップ・ラインを設定する.具体的には,ストップ・ロースラインは入場価格の95%,ストップ・ストップ・ラインは入場価格の120%である.価格が上昇して10日線を突破するとストップする.価格が前K線の最低値を下回るとストップする.

優位分析

この戦略の最大の利点は,長期的なトレンドを追跡することで,短期的な調整時により良い入場点を選択することです.長期的に見ると,株式指数は全体的に上昇経路にあり,この戦略は長期的な上昇トレンドを効果的に追跡できます.

短期的に見ると,この戦略で選択されたエントリー時刻は,短期的な超下落の段階にあり,一定の低吸入効果があります. RSI ((3)) は,価格が3つのK線で連続して下落したことを示し,これはEntryのより良いタイミングを提供します.

リスク分析

ストップ・メカニズムの保護があるにもかかわらず,この戦略の最大のリスクはトレンド判断の誤りである.長期トレンドの判断が間違っていたら,入場後に大きな損失に遭う可能性がある.さらに,ストップ・ポジションがあまりにも近く設定されてもリスクが増加する可能性がある.

解決策の1つは,入場時に実際にトレンド状態であることを確認するために,ADXのようなより多くのトレンド判断指標を追加することです.また,入場価格の90%まで拡大するなど,適切な緩やかな止損範囲を適用することができます.

最適化の方向

この戦略は以下の点で最適化できます.

  1. より多くのトレンド判断指標を追加し,長期的な短期的なトレンドをより正確に判断できるようにする.

  2. 移動平均の周期パラメータを最適化し,最適なパラメータの組み合わせを探します.

  3. 異なる止止損パラメータ設定をテストし,最適のパラメータ組み合わせを見つける.

  4. 入学時に他の要素を組み込むように努めましょう.例えば,入学率を上げることなど,入学効率を上げます.

要約する

この戦略の主な構想は,長期のトレンドを追跡し,短期の調整時により良い入場ポイントを選択することです.その最大の優点は,入場価格の最適化であり,低買い高売りを実現し,長期の上昇トレンドを追跡することです.また,戦略は,リスク管理を考慮し,ストップダストメカニズムを設定しています.全体として,これは非常にシンプルで直接で,容易に理解し,実行可能なトレンド追跡戦略です.いくつかのパラメータとルールの最適化により,戦略の効果をさらに向上させることができます.

ストラテジーソースコード
/*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")