ストップ・ロスの戦略と簡単な移動平均のクロスオーバー

作者: リン・ハーンチャオチャン, 日付: 2023-09-19 21:42:30
タグ:

概要

この戦略は,シンプル・ムービング・アベアとボリューム・ウェイトド・アベア価格のクロスオーバーによって取引信号を生成し,トレーディング戦略に従う短期トレンドに属するストップ・ロスのように指数的なムービング・アベアを使用します.

戦略の論理

  1. 5日間の単純な移動平均値 (SMA) とボリューム重度の平均値 (VWAP) を計算する.

  2. SMAが VWAPを下から越えると,長い信号を生成し,上から下を通ると,短い信号を生成する.

  3. SMAは価格変動に敏感で,短期的なトレンドを把握することができる.VWAPは最新の価格動態を反映する.そのクロスオーバーは短期的なトレンド変化を特定する.

  4. 9日間指数関数移動平均 (EMA) をストップ損失として設定する.EMAはSMAよりもゆっくり反応し,ストップ損失バッファを提供します.

  5. ロング・ショート・シグナルで取引を行います. リスクをコントロールするために価格がストップ・ロスの下に落ちると退場します.

この戦略は主に,短期の価格変動を把握するために,迅速反応するSMAとリアルタイムVWAPのクロスオーバーを使用し,EMAがリスクを管理するために,シンプルで直感的に停止します.

利点分析

  1. SMAとVWAPのクロスオーバーは,短期的なトレンド変化に対して単純で効果的です.

  2. EMAのストップ・ロスは,早期のストップアウトを回避するバッファを提供します.

  3. 明確な信号と シンプルなルール 実行が簡単です

  4. 大きな最適化空間があり 異なる市場環境に適応できます

  5. ストップ・ロスのメカニズムを変更して,単一の取引損失額を制御することができます.

  6. 拡張が容易で,他の技術指標やリスク管理技術も導入できる.

リスク分析

  1. SMAとVWAPのクロスオーバーには遅延や誤った信号がある可能性があります.

  2. ストップ・ロスの範囲が狭すぎると リスクが高くなり 過剰に最適化され ストップ・ロスの違反を リアル・トレーディングで 監視すべきです

  3. 短期間の範囲にのみ適用され,長期的な傾向を追跡することはできません.

  4. バックテスト期間が不適切であれば 曲線がフィットする危険性があります

  5. 取引コストが 収益性への影響を考慮する必要がある

オプティマイゼーションの方向性

  1. SMAとVWAPの異なるパラメータ組み合わせを試験する.

  2. EMAストップ・ロスの期間パラメータを最適化する.

  3. ストップ・ロスの他のMAタイプやインジケーターを試す.

  4. ポジションサイズとリスク管理戦略を追加する.

  5. パラメータ最適化のための機械学習アルゴリズムを導入する

  6. 市場変化に適応するためにパラメータを定期的に調整する.

概要

このSMAとVWAPクロスオーバー戦略は,EMAのトレーリングストップで,パラメータを通じて短期変動に調整され,操作が簡単で,典型的な短期追跡戦略のアイデアです.より多くの指標またはアルゴリズムを追加することで安定性が向上し,より複雑なマルチ戦略システムに統合されたモジュールとしても使用できます.全体的に,実践的な取引のための大きなインスピレーション価値を持つ使いやすい戦略です.


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 2h
basePeriod: 15m
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/
// © realisticDove62527

//@version=5
strategy("ROoT", overlay=true, margin_long=1, margin_short=1)

longCondition = ta.crossover(ta.sma(close, 5), ta.vwap(hlc3))
if (longCondition)
    strategy.entry("BUY", strategy.long)

shortCondition = ta.crossunder(ta.sma(close, 5), ta.vwap(hlc3))
if (shortCondition)
    strategy.entry("SELL", strategy.short)
    

stoploss = ta.ema(close, 9)



もっと