この戦略の名称は"動的移動平均突破入入と固定利益取得/ストップ損失出入に基づく定量取引戦略"です.この戦略の主な考え方は,閉店価格が115期間のハル動的移動平均を下回るときに毎週月曜日にロングポジションを開き,その後毎週水曜日に無条件にポジションを閉じることであり,既定の利益目標およびストップ損失比が同時に設定されます.
この戦略は主にハル移動平均と定期取引規則の指標信号に基づいて設計されています.
まず,毎週月曜日の取引セッション中に,閉店価格が115期ハル移動平均値を下回る場合,ロングポジションが開かれます.通常の移動平均値と比較して,ハル移動平均値は価格変化により早く反応し,傾向をより敏感に識別します.したがって,インジケーター信号は市場へのエントリーの精度を向上させることができます.
2つ目に,ポジションは毎週水曜日に取引セッション中に無条件に閉鎖されます.この周期的な操作アプローチは,臨時的な出来事の影響を受けないようにし,引き下げの確率を減らすことができます.一方,ストップロストと利益目標の固定比率は,すべての取引のリスクと報酬を制御するために設定されています.
最後に,取引期間が比較的短く,取引頻度が高くなるため,ある程度ポジションを調整し,単一の取引リスクを減らすことができます.
この戦略には以下の利点があります.
Hull Moving Average をエントリー信号指標として使用することで,市場へのエントリータイミングの精度が向上し,トレンドの機会が把握されます.
定期的な退出方法は不合理な行動によるリスクを回避し,引き出す確率を減らすことができます.
固定利益目標とストップ・ロスのポイントは,それぞれの取引のリスク・リターン比を効果的に制御できます.
高い取引頻度は,ポジションを調整し,単一の取引リスクを減らすのに有益です.
取引規則はシンプルで理解し実行しやすいので,アルゴリズムによる定量取引に適しています.
この戦略にはいくつかのリスクもあります:
市場における長期的統合は,市場への入入後に閉じ込められる可能性が高まる可能性があります.
固定利益目標とストップ・ロスのポイントは柔軟性がなく,ポジションを早すぎたり遅すぎたりする可能性があります.
臨時的な出来事が起きれば 膨大な損失を 引き起こす可能性があります
頻繁な取引はコストと滑り込みに影響を及ぼします
不適切なパラメータ設定 (期間の番号など) は戦略のパフォーマンスに影響を与える可能性があります.
上記のリスクを軽減するために,いくつかの最適化措置を検討することができます:
統合段階に入るのを避けるために,市場への参入前に市場状況を判断する.
収益とストップ・ロスの動的または多重固定比を設定する.
極端な波動を避けるために重要なイベントの周りに取引を中止する.
コストとスライドを減らすために適切な取引頻度を下げる.
パラメータ設定を最適化し 戦略をより安定させるために 安定性テストを行います
この戦略は,次の側面でさらに最適化できます.
機械学習モデルを使って 動的平均値のパラメータを最適化して より正確な信号を出す
複数の指標を組み合わせて より複雑な入出規則を 設計してみてください
異なる期間や市場環境に応じて適応可能な利益とストップ・ロスのメカニズムを設計する.
リスク管理モデルを導入し,資本管理を改善する.
株式分割などのイベントを 円滑に処理する 設計権利調整モジュールです
リアル取引の検証モジュールを追加し,リアルマーケットで戦略のパフォーマンスをテストします.
この戦略は,機械学習,インジケーターポートフォリオ,適応型収益/ストップ損失,リスクマネジメント,その他の方法を有機的に組み合わせることで,より強い安定性と収益性を達成することができる.一方,戦略をさらに完善するために実際の取引検証メカニズムを追加することも重要です.これらはこの戦略の主な最適化方向です.
この戦略は,ハルダイナミック・ムービング・平均指標信号エントリーと固定サイクル出口のアイデアに基づいて設計されています. 単一の取引の利益とストップ・ロスを制御しながら,正確な信号と低引き下げ確率などの利点があります. しかし,罠に閉じ込められ,不適切な利益とストップ・ロスの設定などの問題も存在します. 将来の最適化方向性には,機械学習とより複雑なマルチインジケーターの組み合わせを導入し,適応性のある利益とストップ・ロスのメカニズムを設計し,権利調整と実際の取引検証モジュールを追加することで,この戦略の安定性と収益性が向上します.
/*backtest start: 2024-01-18 00:00:00 end: 2024-02-17 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © gnatskiller //@version=5 strategy("Strategia HMA + LUN/MER", overlay=true) // Inputs: stoploss %, takeProfit % stopLossPercentage = input.float(defval=0.8, title='StopLoss %', minval=0.1, step=0.2) / 100 takeProfit = input.float(defval=1.5, title='Take Profit %', minval=0.3, step=0.2) / 100 // Calculate HMA 115 hma115 = ta.hma(close, 115) // Exit and Entry Conditions - Check current day, session time, and price below HMA 115 isLong = dayofweek == dayofweek.monday and not na(time(timeframe.period, "1000-1101")) and close < hma115 isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1000-1101")) // Calculate Stoploss and Take Profit values SL = strategy.position_avg_price * (1 - stopLossPercentage) TP = strategy.position_avg_price * (1 + takeProfit) // Strategy Enter, and exit when conditions are met if isLong strategy.entry("Enter Long", strategy.long) if strategy.position_size > 0 if isExit strategy.close("Enter Long", comment="Exit") strategy.exit("Exit", "Exit", stop=SL, limit=TP) // Plot Stoploss and TakeProfit lines plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss") plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit") // Plot HMA 115 plot(hma115, color=color.blue, title="HMA 115")