高効率衝撃突破二重安全損益戦略


作成日: 2024-02-01 14:46:00 最終変更日: 2024-02-01 14:46:00
コピー: 0 クリック数: 639
1
フォロー
1617
フォロワー

高効率衝撃突破二重安全損益戦略

概要

この戦略は,通路指標と突破原理に基づいて設計された高効率の双方向取引戦略である.これは,株式とデジタル通貨の1分間の時間枠で高勝率の双方向取引を実現する.

戦略原則

戦略は,SMA指数を使用してチャネルを構築する. 価格がチャネルを突破すると,購入または販売する. 利益とリスクの制御をロックするために,ストップとストップを設定する.

具体的には,策略計算チャネルの上位と下位である。上位は,閉盘価格の10周期単行移動平均を1.02で掛け,下位は,最低価格の10周期単行移動平均を1.02で割る。閉盘価格が上位突破したとき,多めにすること,閉盘価格が下位突破したとき,空っぽにする。

オーバーストップは2つのストップ価格を設定し,最初の1%,第二の3%,同時に3%のストップを設定する.空白は,ストップの損失を設定すると同じである.この戦略は,突破原理によってより高い入場勝率を実現し,ダブルストップによってより多くの利益をロックすることができ,ストップによって単一損失を制御する.

優位分析

この通路指標に基づく突破戦略は,入入信号の明瞭性,操作頻度の高さ,多層の利潤をロックできるなどの利点があります.具体的には以下の利点があります.

  1. 経路指標を使用して,株価の変動範囲を識別し,突破点入場を選択し,その結果,勝利の確率を高くすることができる.

  2. 1分レベルでの操作により,より多くの機会を捉え,スピードトレーダーのニーズを満たすことができます.

  3. 2つのストップポイントを設定することで,市場が好転したときにより多くの利益をロックすることができます.

  4. 止損設定が大きいので,動作に一定動作スペースを与え,早めに止損を避ける.

リスク分析

このような突破策の最大のリスクは,誤った突破が容易に形成され,損失を招くことです.また,大きな止損は,損失のリスクを増加させます.主なリスクポイントは以下のとおりです.

  1. 突破信号は偽突破であり,停止または停止まで継続できない.これは技術分析でよくある問題である.最適化パラメータでできるだけ回避できる.

  2. ストップポイントが大きい,3%の単一の損失は,一部の人にとって耐え難いかもしれません.自分の状況に応じて適切なストップポイントを調整することができます.

  3. この戦略は,ショートライン取引と値操作に適しています. 市場をタイムリーに監視できない場合は,ポジションのサイズを減らすことをお勧めします.

最適化の方向

市場を動かすには,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,市場を動かすために,

  1. 偽の突破を減らすために,より信頼できる通路の指標を探すために,通路の構築のためのより多くの指標をテストする.

  2. 移動平均の周期パラメータを最適化して,最適なパラメータの組み合わせを見つける.

  3. 増量能指数などのより複雑な入場メカニズムをテストするフィルタリング条件.

  4. 異なる品種特性に応じて,異なるパラメータの組み合わせを設定して適応させ,パラメータ自律性を実現する.

  5. 自動ストップ・プローブンメカニズムが追加され,ストップ・ポイントを動的に調整できます.

要約する

これは,通道指標をベースに設計された高効率の双方向取引戦略である. 突破原理を利用して市場に入ると,双止まりが利潤をロックし,ストップ・損失を制御するリスクは,最適化によってより良い投資効果を得ることができる. しかし,トレーダーは,偽の突破などの技術分析のリスクに警戒する必要があります.

ストラテジーソースコード
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Erweiterte SSL Channel Strategy mit 2 TPs, SL und BE", overlay=true)

period = input(title="Period", defval=10)
len = input(title="Length", defval=10)
multiplier = input(title="Multiplier", defval=1.0, minval=1.0)
tp1Percent = input(title="Take Profit 1 (%)", defval=1.0) / 100
tp2Percent = input(title="Take Profit 2 (%)", defval=20.0) / 100
slPercent = input(title="Stop Loss (%)", defval=3.0) / 100

var float tp1Price = na
var float tp2Price = na
var float slPrice = na
var bool tp1Reached = false

smaHigh = sma(high * multiplier, len)
smaLow = sma(low / multiplier, len)

Hlv = 0
Hlv := close > smaHigh ? 1 : close < smaLow ? -1 : nz(Hlv[1])
sslDown = Hlv < 0 ? smaHigh : smaLow
sslUp = Hlv < 0 ? smaLow : smaHigh

plot(sslDown, linewidth=2, color=color.red)
plot(sslUp, linewidth=2, color=color.lime)

longCondition = crossover(close, sslUp)
shortCondition = crossunder(close, sslDown)

if (longCondition)
    strategy.entry("Long", strategy.long)
    tp1Price := strategy.position_avg_price * (1 + tp1Percent)
    tp2Price := strategy.position_avg_price * (1 + tp2Percent)
    slPrice := strategy.position_avg_price * (1 - slPercent)
    tp1Reached := false

if (shortCondition)
    strategy.entry("Short", strategy.short)
    tp1Price := strategy.position_avg_price * (1 - tp1Percent)
    tp2Price := strategy.position_avg_price * (1 - tp2Percent)
    slPrice := strategy.position_avg_price * (1 + slPercent)
    tp1Reached := false

// Take Profit, Break-even und Stop-Loss Logik
if (strategy.position_size > 0) // Long-Positionen
    if (not tp1Reached and close >= tp1Price)
        strategy.close("Long", qty_percent = 50)
        strategy.exit("BE Long", "Long", stop = strategy.position_avg_price)
        tp1Reached := true
    if (tp1Reached and close < tp1Price)
        strategy.exit("BE Long", "Long", stop = strategy.position_avg_price)
    if (close >= tp2Price)
        strategy.close("Long", qty_percent = 100)
    if (not tp1Reached)
        strategy.exit("SL Long", "Long", stop = slPrice)

if (strategy.position_size < 0) // Short-Positionen
    if (not tp1Reached and close <= tp1Price)
        strategy.close("Short", qty_percent = 50)
        strategy.exit("BE Short", "Short", stop = strategy.position_avg_price)
        tp1Reached := true
    if (tp1Reached and close > tp1Price)
        strategy.exit("BE Short", "Short", stop = strategy.position_avg_price)
    if (close <= tp2Price)
        strategy.close("Short", qty_percent = 100)
    if (not tp1Reached)
        strategy.exit("SL Short", "Short", stop = slPrice)