インテリジェント トレイリング ストップ ロス 戦略

作者: リン・ハーンチャオチャン開催日:2024年01月25日 12:50:12
タグ:

img

概要

インテリジェント・トレーリング・ストップ・ロスの戦略は,価格変化に基づいてストップ・ロスのポイントを自動的に調整する戦略である.SAR指標の論理を組み合わせ,価格が新しい高値または低値に達するとトレーリング・ストップ・ロスのラインを調整し,最大引き下げ制御を達成する.

戦略原則

この戦略の基本的な論理は,SAR指標に基づいてストップ・ロスの線を自動的に調整することです.具体的には,4つの変数を定義します.

  • EP: 極端な点
  • SAR:現在のストップ損失点
  • AF:ストップ・ロストラインの調整幅を制御するために使用されるステップファクター
  • アップトレンド・フラグ:現在アップトレンドかダウントレンドかを判断する

アップトレンドの間,ストップ・ロスは上昇する価格を追うために上昇し続けます.価格がダウントレンドに変わると,ストップ・ロスは次のアップトレンドまで変化しません.

ストップ損失ラインの調整幅はステップファクターAFによって制御されます.新しいストップ損失ポイントが成功して設定されると,AFは増加し,次の調整幅を拡大します.

利点

この戦略の最大の利点は,十分な利益空間を確保し,最大引き下げをできるだけ最小限に抑えながら,市場の変動に応じてストップロスのポイントをスマートに調整できるということです.従来の静的ストップロスの方法と比較して,価格傾向をよりよく把握することができます.

具体的には,主な利点は:

  1. 最大引き下げを減らす: ストップ・ロスの線をスマートに調整することで,トレンド逆転前に退場し,実現利益の保護を最大化することができます.
  2. ストップ・ロスの線は,新しい高値や低値に合わせて調整され,自動的に価格トレンドを追います.
  3. 調整可能なパラメータ: ユーザーは,ストップ損失調整の感度を制御するために,自分のリスク偏見に基づいて,AFステップ値と初期値をカスタマイズすることができます.

リスク分析

この戦略には注意すべきリスクもあります.

  1. 過度に敏感: AF ステップ調整が大きすぎたり,初期値が小さすぎたりすると,ストップ損失線が過度に敏感になり,短期的な市場騒音によって引き起こす可能性があります.
  2. 損失停止を早すぎると,継続的な上昇から利益をもたらす機会を逃すこともあります.
  3. パラメータ選択: パラメータの設定が正しくない場合,戦略のパフォーマンスに影響を与え,異なる市場への調整が必要になります.

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

戦略は,次の側面でも最適化できます.

  1. 他の指標と組み合わせる:主要なサイクル指標がトレンド逆転前に早期ストップ損失を避けるためにシグナルを発したときにストップ損失ラインの調整を一時停止する
  2. パラメータ自己適応モジュールを追加する: 機械学習アルゴリズムを使用して,歴史的なデータに基づいてパラメータを自動的に最適化する
  3. 多レベルストップ・ロース: 市場の変動の異なる大きさを追跡するために複数のストップ・ロースラインを設定する

結論

インテリジェント・トレーリング・ストップ・ロスの戦略は,SAR指標の動作論理をシミュレートすることによって,ストップ・ロスのラインのポジションをリアルタイムで調整する.利益を保護しながらも,機会を最大限に減らします.ストップ・ロスの機能そのものの固有の価値を最大化します.

この戦略は,伝統的な固定ストップ損失戦略と比較して,市場の変化により順応し,より柔軟性があります.カスタムパラメータ設定を通じて,ユーザーは自分のリスク偏向に適したストップ損失モードを選択できます.

もちろん,この戦略には特定のパラメータ最適化スペースがあり,他の指標を組み合わせることで達成できる改善効果もあります. 全体的に,投資家のストップ損失と利益取得の間のより知的なバランスをとります.


/*backtest
start: 2024-01-17 00:00:00
end: 2024-01-24 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Lucid SAR Strategy", shorttitle="Lucid SAR Strategy", overlay=true)

// Full credit to Sawcruhteez, Lucid Investment Strategies LLC and Casey Bowman.
// This is a strategy version of the Lucid SAR indicator created by the above-mentioned parties.
// Original version of the indicator: https://www.tradingview.com/script/OkACQQgL-Lucid-SAR/

// Branded under the name "Lucid SAR" 
// As agreed to with Lucid Investment Strategies LLC on July 9, 2019
// https://lucidinvestmentstrategies.com/


// Created by Casey Bowman on July 4, 2019

// MIT License

// Copyright (c) 2019 Casey Bowman

// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.

// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
// SOFTWARE.


AF_initial = input(0.02)
AF_increment = input(0.02)
AF_maximum = input(0.2)


// start with uptrend
uptrend = true
newtrend = false
EP = high
SAR = low
AF = AF_initial

if not na(uptrend[1]) and not na(newtrend[1])
    if uptrend[1]
        EP := max(high, EP[1])
    else
        EP := min(low, EP[1])
    if newtrend[1]
        AF := AF_initial
    else
        if EP != EP[1]
            AF := min(AF_maximum, AF[1] + AF_increment)
        else
            AF := AF[1]
    SAR := SAR[1] + AF * (EP - SAR[1])
    if uptrend[1]
        if newtrend
            SAR := max(high, EP[1])
            EP := min(low, low[1])
        else
            SAR := min(SAR, low[1])
            if not na(low[2])
                SAR := min(SAR, low[2])
            if SAR > low
                uptrend := false
                newtrend := true
                SAR := max(high, EP[1])
                EP := min(low, low[1])
            else
                uptrend := true
                newtrend := false
    else
        if newtrend
            SAR := min(low, EP[1])
            EP := max(high, high[1])
        else
            SAR := max(SAR, high[1])
            if not na(high[2])
                SAR := max(SAR, high[2])
            if SAR < high
                uptrend := true
                newtrend := true
                SAR := min(low, EP[1])
                EP := max(high, high[1])
            else
                uptrend := false
                newtrend := false
            
        

plot(SAR, color = color.blue, style = plot.style_cross, linewidth = 2)

if (uptrend)
    strategy.entry("PBSARLE", strategy.long, comment="PBSARLE")
if (newtrend)
    strategy.entry("PBSARSE", strategy.short, comment="PBSARSE")

もっと