スーパートレンド トレンド 戦略

作者: リン・ハーンチャオチャン, 日時: 2023-09-24 13:19:47
タグ:

概要

この戦略は,価格トレンド方向を決定し,トレンドフォロー戦略カテゴリーに属する取引信号を生成するためにスーパートレンド指標を使用しています.特別のテストは,端正な結果を持つテスラ (TSLA) 1分チャートで行われます.

戦略の論理

  1. ATRと最高高値と最低低値の平均を計算し,倍数に基づいてスーパートレンド上位および下位帯を決定します.

  2. スーパートレンドの方向性を特定するために,価格が上部帯以上または下部帯以下に突破するかどうかを決定します.

  3. 価格が下帯を超えるとロング・シグナル. 上帯を超えるとショート・シグナル.

  4. 信号が発信されたときに次のバーに入力するか,価格がスーパートレンド帯に達するとすぐに入力することができます.

利点

  1. スーパートレンドは 傾向を明確に識別し プログラミングが簡単です

  2. 柔軟なエントリーオプションは 異なるトレーダーの好みに適しています

  3. 中期トレンドを迅速に把握し,トレンドをフォローするのに適しています

  4. 頻繁に取引することで 拡張や改良が可能になります

リスク

  1. スーパートレンドはベストエントリーに 欠けている可能性が

  2. 取引頻度が高い場合 スリッパージコストが高くなります

  3. ストップ・ロスのような リスク管理ツールはありません

  4. テスラの1分間のデータだけで 戦略の有効性を証明するのは難しい

解決 できる 方法:

  1. 遅延を減らすためにパラメータを調整します.

  2. コストを制限するために滑り制御を追加します.

  3. ストップ・ロスは,取引ごとにコントロール・ロスを含む.

  4. より多くの製品と時間枠で バックテスト

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

  1. 遅延を減らすために異なるパラメータセットをテストします.

  2. フィルターを加えれば 鞭のが 起きない

  3. より効率的なマネーマネジメントを最適化します

  4. 超トレンドの方向性を予測する機械学習を組み込む

  5. 信号の検証と安定性の向上のために他の指標を追加します.

概要

この戦略は,トレンドフォロー戦略の典型的なトレンドシグナルのための中期トレンド方向性を特定するためにSuperTrendを使用する.全体的な枠組みはシンプルで効果的です.しかし,エントリーチャンス,リスク管理,パラメータ選択などの分野ではさらに改善することができます.製品全体と機械学習のような統合されたテクニックのより多くの歴史的データにより,安定性と収益性が著しく向上することができます.


/*backtest
start: 2023-08-24 00:00:00
end: 2023-09-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - SuperTrend - TSLA - 1m", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// INPUTS //
st_mult   = input(3,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(120, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev = hl2 - (st_mult * atr(st_period))
dn_lev = hl2 + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := close[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := close[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := close > down_trend[1] ? 1: close < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
plot(st_line, color = trend == 1 ? color.green : color.red , style = plot.style_line, linewidth = 2, title = "SuperTrend")

plotshape(crossover( close, st_line), location = location.belowbar, color = color.green)
plotshape(crossunder(close, st_line), location = location.abovebar, color = color.red)

// Strategy with "when"
//strategy.entry("long",  true,  when = crossover( close, down_trend[1]))
//strategy.entry("short", false, when = crossunder(close, up_trend[1]))

// Strategy with stop orders
strategy.entry("long",  true,  stop = down_trend[1])
strategy.entry("short", false, stop = up_trend[1])

もっと