ダイナミック・トラッキング・ストップ・ロスの戦略

作者: リン・ハーンチャオチャン開催日:2024年01月31日15時05分30秒
タグ:

img

概要

この戦略は,株の最高値と最低値に基づいて,ロング・ショート・ポジションのストップ・損失ラインを設定するダイナミック・トレイル・ストップ・ロスのメカニズムに基づいています.価格がストップ・ロスのラインに達すると,現在のポジションを閉じて反対方向に新しいポジションを開きます.この戦略は,単一の取引リスクを制御する上でシンプルで有効です.

原則

この戦略の主なステップは以下の通りです.

  1. 入力パラメータ:長または短を選択,期間を設定する長さ,後退停止滑り
  2. 入力長さに基づいて最高値と最低値を取得します.
  3. ストップ・ロスの線を計算する: 長い,最も低い価格マイナススリップ; 短い,最も高い価格プラススリップ
  4. オープン・クローズ・ポジション:価格がストップ・ロストラインに達すると,現在の方向のポジションを閉鎖し,反対方向のポジションをオープンします.

上記は戦略の基本的な論理である.価格が動くと,ストップ・ロスはダイナミックな追跡のために更新され続けます.ストップ・ロスを追跡することで,取引毎の損失を効果的に制御できます.

利点分析

この戦略の主な利点は:

  1. シンプルで清潔な論理,理解し実行しやすい
  2. ダイナミック・トラッキング・ストップ・ロスト・コントロール・シングル・トレード・ロスト
  3. 長期または短期間の選択に柔軟性があり,異なる市場環境に適応できます
  4. 最適化のために期間とスリップのカスタマイズ

簡単に言うと,この戦略は簡単なストップロスのメカニズムによって,ポジションを効果的に管理することができ,典型的なリスク管理戦略です.

リスク分析

また,注意すべきリスクもあります.

  1. 価格変動が頻繁にストップロスを引き起こすことがあり,過剰な取引につながる.
  2. 誤った周期設定は,不適切なストップ損失線を引き起こす可能性があります.
  3. 過剰な滑り設定は,時間内に停止できない緩いストップ損失を引き起こす可能性があります.

これらのリスクは,期間を調整し,合理的にスライドを削減して,より合理的なストップ・ロスの線を作ることで最適化できます.

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

戦略は次の側面から向上させることができる:

  1. ダイナミックストップ損失ライン調整のための最適化を追加,不適切な緊密なまたは緩いストップ損失ラインを避ける
  2. 適切なタイミングでポジションを開くのを避けるために,オープンポジション条件を追加する.
  3. 傾向指標を組み込み,より大きな利益の可能性を持つ傾向を追求する
  4. リスクレベルに基づいてポジションを動的に調整するためにポジションサイズを追加する

結論

取引戦略は,簡単なストップロスの方法によって動的なポジション管理を実現する.理解し,実装しやすく,単一の取引損失を効果的に制御することができます. 我々は利点,潜在的なリスク,将来の最適化方向を分析しました.結論として,これは非常に典型的な実用的なリスク管理戦略です.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)

//Levels
max = highest(high, length)
min = lowest(low, length)

//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)

//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)

if trailing > 0 and size <= 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)

もっと