最高最低センターレビュー戦略


作成日: 2023-12-28 15:42:10 最終変更日: 2023-12-28 15:42:10
コピー: 0 クリック数: 648
1
フォロー
1623
フォロワー

最高最低センターレビュー戦略

概要

最高最低中央回転戦略は,トレンドを追跡する戦略である.その主な考えは,過去一定期間の最高価格と最低価格の中間価格を基準価格として計算し,この基準価格と波動率を組み合わせて,建仓区と平仓区を計算することである.価格が建仓区に入るとき,多めにすること;価格が平仓区に入るとき,平仓することである.

戦略原則

この戦略は主に以下のステップを踏まえて実行されます.

  1. 過去 lookback_length 期間の最高値hと最低値lを計算し,EMA を平滑化します.
  2. 基準価格として最高価格と最低価格の中間価格を計算する
  3. ATRとATRマルチファクターによる変動率vola
  4. centerとvolaに基づいて建倉区upperと和平倉区lowerを計算する
  5. 価格が上がったときに多額の取引をします. 価格が下がったときに平仓します.

この方法によって,価格がトレンド状態に入るときにトレンドをタイムリーに追跡することができる.同時に,波動率によってリスクを制御することもできる.

優位分析

この戦略には以下の利点があります.

  1. 価格の変化を把握し,トレンドを効果的に追跡できる
  2. 最高最低の中間価格を基準価格として使用することで,偽突破の確率を減らす
  3. 変動率は自動的に調整され,リスクを制御できます.
  4. 短期保有により,高頻度の取引機会を得ることができます.
  5. シンプルで理解しやすく,最適化できます.

リスク分析

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

  1. 金融危機が起きたとき,多くの無意味な取引が起こる可能性がある.
  2. ATR サイズと倍数の設定は,戦略のパフォーマンスに影響し,慎重にテストして最適化する必要があります.
  3. 中間値の破綻後,回調が起こり,ストップダストが発生する可能性があります.
  4. 価格変動の逆転が速すぎると,大きな損失を招く

これらのリスクを制御するために,以下の方法で最適化できます.

  1. ATRパラメータを調整し,波動率を低減し,振動をフィルターする
  2. フィルタリング条件を高め,無駄な取引を避ける
  3. 移動止損を利得に固定する
  4. トレンド指数と組み合わせて真のトレンドの始まりと終わりを判断する

最適化の方向

この戦略は,さらに最適化できる余地があります.

  1. 異なる市場と異なる周期のパラメータの効果をテストできます
  2. 機械学習アルゴリズムを組み込む自動最適化パラメータ
  3. トレンドの始まりと終わりを判断する
  4. ポジションの割合を動的に調整することも考えられます.
  5. 感情の指標を組み合わせて 極端な感情に偏らないようにする

これらの最適化により,戦略の安定性や収益性がさらに向上すると期待できます.

要約する

最高最低中央回転戦略は,シンプルで実用的なトレンド追跡戦略である.価格の変化をタイムリーに捉え,トレンドを追跡し,また,波動率を介してリスクを制御することができる.この戦略は,簡単に実行し,量子取引の初心者の学習と実践に適しています.パラメータの最適化とルール最適化により,戦略の効果をさらに向上させることができます.全体的に,これは推奨される量化戦略です.

ストラテジーソースコード
/*backtest
start: 2023-11-27 00:00:00
end: 2023-12-27 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Highest/Lowest Center Lookback Strategy", overlay=true)

lookback_length = input(200, type=input.integer, minval=1, title="Lookback Length")
smoother_length = input(5, type=input.integer, minval=1, title="Smoother Length")
atr_length = input(10, type=input.integer, minval=1, title="ATR Length")
atr_multiplier = input(1.5, type=input.float, minval=0.5, title="ATR Multiplier")

vola = atr(atr_length) * atr_multiplier
price = sma(close, 3)

l = ema(lowest(low, lookback_length), smoother_length)
h = ema(highest(high, lookback_length), smoother_length)
center = (h + l) * 0.5
upper = center + vola
lower = center - vola
trend = price > upper ? true : (price < lower ? false : na)

bull_cross = crossover(price, upper)
bear_cross = crossunder(price, lower)

strategy.entry("Buy", strategy.long, when=bull_cross)
strategy.close("Buy", when=bear_cross)

plot(h, title="High", color=color.red, transp=75, linewidth=2)
plot(l, title="Low", color=color.green, transp=75, linewidth=2)

pc = plot(center, title="Center", color=color.black, transp=25, linewidth=2)
pu = plot(upper, title="Upper", color=color.green, transp=75, linewidth=2)
pl = plot(lower, title="Lower", color=color.red, transp=75, linewidth=2)

fill(pu, pc, color=color.green, transp=85)
fill(pl, pc, color=color.red, transp=85)

bgcolor(trend == true ? color.green : (trend == false ? color.red : color.gray), transp=85)