
この戦略の主な考えは,超トレンド指標を利用して複数の時間枠で取引信号を生成し,intradayフィルターと組み合わせて盤内に持仓する平仓を行うことで,複数の時間枠の取引を実現し,信号の質を向上させるということである.
この策略は,最初に supertrend関数を呼び,パラメータmultとlenを入力し,超トレンドの指標線superTrendと方向dirを作成します. その後,超トレンドの線図を描きます. 入力パラメータintradyを設定し,中盤平仓の実施かどうかを制御します. intradyがtrueであれば,午後2時45分以降に中盤平仓の実施します.
戦略信号生成のルールは:閉盘価格が超トレンドラインより高いとき generate buy信号;閉盘価格が超トレンドラインより低いとき generate sell信号. 買入信号を受信すると,買入開設戦略を実行し,売出信号を受信すると,売出開設戦略を実行する. intradayフィルターを選択した場合は,trueで,毎日の午後2時45分以降,すべてのポジションの買入と売却を平らにする.
この戦略の最大の利点は,スーパートレンドというシンプルで実用的な技術的指標を利用して,複数の時間枠の取引信号生成を実現することです.スーパートレンド自体は,優れた勝利率と収益率を持っています.また,この戦略は,取引先の激しい変動による損失を防ぐために,追加的にintradayフィルターを追加しています.
さらに,この戦略は非常に簡潔で,ごく少数のコードでコアロジックを実装し,容易に理解し,変更し,拡張できます.これはユーザーに非常に大きな柔軟性を与え,自分のニーズに応じてパラメータを調整したり,他の指標を追加したりできます.
この戦略の主なリスクは,超トレンド指標が一定の遅れをとっていることであり,追加の損失をもたらす可能性があります.また,固定された複数時間枠の取引は,ショートラインの取引機会を逃す可能性があります.
これらのリスクを軽減するために,超トレンドのパラメータmultとlenを最適化して最適なパラメータの組み合わせを見つけるのが推奨されます.また,他の指標を組み合わせてテストして,戦略の安定性を高めるためにより多くの要因を利用することもできます.さらに,固定されたintraday平仓時間をキャンセルし,動的なトラッキング波動で平仓タイミングを決定することを考慮することもできます.
この戦略の改善策は以下の通りです.
超トレンドのパラメータの複数のセットをテストし,最適なパラメータの組み合わせを見つけます.
K線形,移動平均などの他の技術指標を追加して組み合わせ,より多くの要素フィルタリング信号を利用する.
イントラデイの特定の平定時間を最適化して動的に調整し,誤平定の確率を下げます.
固定パーセンテージストップやATRストップのようなストップ戦略を追加します.
適切な資金活用率とポジション管理戦略をテストする.
より長い時間周期を回測し,パラメータの安定性を検証する.
この超トレンドの多時間枠反測戦略は,全体的に非常に実用的です。それは,単純な超トレンド指標を利用して,多時間枠取引を実現し,同時に,ディスク内のフィルターと損失制御を組み合わせている。戦略の最適化スペースは大きい,ユーザーは,必要に応じてパラメータを調整したり,他の技術指標を組み合わせたりすることができます。反測のパフォーマンスは,より安定し,信頼性が高い。全体的に,この戦略は,中長期トレンドの取引にも適しており,初心者学習や改修の実践にも適しています。
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-04 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//@Gurjant_Singh IISMA-Indian Institute of stock Market Analysis
strategy("SupterTrend ", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=300, calc_on_order_fills=false, calc_on_every_tick=false)
mult = input(type=input.float, defval=3)
len = input(type=input.integer, defval=5)
[superTrend, dir] = supertrend(mult, len)
plot(superTrend)
intrady = input(false, "Do you want to exit intrday position", type = input.bool)
IntraDay_SquareOff = minute >= 45 and hour >= 14
buy = close > superTrend
sell = close < superTrend
if buy
strategy.entry("Buy", true)
if sell
strategy.entry("sell", false)
if intrady and IntraDay_SquareOff
strategy.close("buy")
strategy.close("sell")