移動平均値と超トレンド追跡ストップ損失戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-17 11:46:01
タグ:

img

概要

この戦略は,移動平均値とスーパートレンドインジケーターを使用して市場のトレンドを決定し,追跡ストップ損失メカニズムと組み合わせて,追跡ストップ損失取引戦略を設計する.スーパートレンドインジケーターが上昇傾向を判断すると,閉じる価格が14期間の移動平均を突破した場合,ロング;スーパートレンドインジケーターがダウントレンドを判断すると,閉じる価格が14期間の移動平均を突破した場合,ショートする.ロングまたはショートした後,ストップ損失はストップ損失の位置に基づいて起動されます.

戦略原則

この戦略は,移動平均,超トレンド,ストップロスの追跡という3つの技術指標を使用します.

まず,14期間の指数関数移動平均と44期間の指数関数移動平均を計算する.14期間の移動平均は短期トレンドを決定するために使用され,44期間の移動平均は長期トレンドを決定するために使用されます.短期移動平均が長期移動平均を上回ると,それは上昇信号であり,その逆です.

2つ目は,現在の市場傾向を判断するためにスーパートレンド指標を計算する.スーパートレンド指標は,ポジティブな指標DI+とネガティブな指標DIから構成される.DI+がDI−より高いとき,それは上昇傾向であり,DI−がDI+より高いとき,それは下落傾向である.

最後に,移動平均信号とスーパートレンドインジケーターのトレンド判断を組み合わせて取引信号を生成します.スーパートレンドインジケーターが上昇傾向を示し,価格が14期移動平均を突破すると,ロング;スーパートレンドインジケーターが下落傾向を示し,価格が14期移動平均を突破すると,ショートします.市場に参入した後,ストップ・ロスのポイントを44期移動平均に近い位置に設定して,ストップ・ロスを追跡することを実現します.

利点分析

この戦略は,3つの技術指標の優位性を組み合わせて,正確な判断と迅速なストップ損失を行うため,以下の優位性を有します.

  1. 移動平均は短期的・長期的トレンドを決定し 信号を正確に識別します
  2. スーパートレンドインジケーターは,主要なトレンド方向を決定し,誤った信号を減らす.
  3. ストップ損失を追跡するメカニズムは,単一のストップ損失を削減し,全体的に良いストップ損失効果を持っています.

リスク分析

この戦略にはいくつかのリスクもあります:

  1. 失敗したブレイクリスクです 移動平均を突破した後に価格が再び引き下げられ,最高のエントリーポイントを逃します
  2. ストップ損失誘発リスク.ストップ損失を追跡することは完全に損失を回避することができず,特定の範囲内の単一の損失のみを制御することができます.
  3. パラメータ最適化リスク 移動平均周期,スーパートレンドパラメーター等を正しく設定しない場合,信号品質に影響します.

対応する解は次のとおりです.

  1. 他の指標を使って 信号をフィルタリングして 突破成功率を向上させる
  2. ストップ・ロスの追跡パラメータを最適化して,ストップ・ロスのポイントを合理的な位置に設定する.
  3. パラメータをテストし最適化して 最適なパラメータ組み合わせを選択します

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

この戦略は,次の方向でも最適化できます.

  1. 間違った信号をフィルタリングし,戦略の勝利率を改善するために他の指標を増やします.例えば,トレンドを強化するために取引量指標を組み合わせます.

  2. ストップロスの追跡方法を最適化し,ストップロスをよりインテリジェントで柔軟にする.例えば,ATRストップロース,チェンデリア出口など.

  3. より最適なパラメータを見つけるために機械学習方法を使用します.例えば,遺伝子アルゴリズム,ディープラーニング,その他の方法により最適なパラメータの組み合わせを見つけることができます.

  4. 高周波の騒音の干渉を避けるため より長い時間枠で戦略を実行します

結論

この戦略は,移動平均値,スーパートレンド指標,ストップロスの追跡技術を組み合わせて,正確な判断とタイムリーなストップロスを行う.これは実用的で信頼性の高いストップロスのトレーディング戦略です.シグナル品質を改善し,ストップロスの方法を最適化することで,戦略の効果はさらに強化できます.


/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Santanu Strategy", overlay=true)

atrPeriod = input(3, "ATR Length")
factor = input.float(1, "Factor", step = 0.01)

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

bodyMiddle = plot((open + close) / 2, display=display.none)
upTrend = plot(direction < 0 ? supertrend : na, "Up Trend", color = color.green, style=plot.style_linebr)
downTrend = plot(direction < 0? na : supertrend, "Down Trend", color = color.red, style=plot.style_linebr)

fill(bodyMiddle, upTrend, color.new(color.green, 90), fillgaps=false)
fill(bodyMiddle, downTrend, color.new(color.red, 90), fillgaps=false)

len = input.int(14, minval=1, title="Length")
src = input(close, title="Source")
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)
out = ta.ema(src, len)

len44 = input.int(44, minval=1, title="Length")
out44 = ta.ema(src, len44)

isRising = ta.rising(out, 1)
isFalling = ta.falling(out, 1)

plotColor = color.black
if isRising
    plotColor := color.green
else if isFalling
    plotColor := color.red
    

plot(out, color=plotColor, title="MA", offset=offset)
plot(out44, color=color.blue, title="MA", offset=offset)

if direction < 0
    if close >= out
        //if low >= out44
        if isRising
            strategy.entry("Buy Now", strategy.long)

if direction > 0
    if close <= out
        //if high <= out44
        if isFalling
            strategy.entry("Sell Now", strategy.short)


//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

もっと