カメの脱出戦略

作者: リン・ハーンチャオチャン,日付: 2023年12月4日 16:25:53
タグ:

img

概要

これはブレイクアウト理論に基づく短期取引戦略である.ブレイクアウト信号を特定し,短期トレンドから利益を得るために移動平均指標と最高/最低価格指標を使用する.

戦略の論理

この戦略は,上昇傾向を特定するために20日間の最高価格を使用する. 閉じる価格が20日間の最高値を超えると,ロングになります. ダウントレンドを特定するために10日間の最低価格を使用します. 閉じる価格が10日間の低値を下回ると,ショートになります. また,10日間の最高価格をショート取引のストップ損失出口信号として使用します.

具体的には,この戦略には以下の規則が含まれています.

  1. 閉店価格が20日高値を超えるとロングに入ります.
  2. 閉店価格が10日間の低値を下回るときにショートに入ります.
  3. クロージング価格が10日間の高値を超えるとショートポジションを閉じる.
  4. 閉じる価格が10日間の低値を下回る場合,ロングポジションを閉じる.

閉店価格と異なる期間の最高/最低価格を比較することで,短期サイクル内のトレンドブレイクを把握し,短期取引を行います.

利点分析

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

  1. シンプルで明快な論理で 分かりやすく実行できます
  2. 短期の動向を突破理論に基づいて迅速に把握する.
  3. 双方向取引の長期と短期の機会を特定する.
  4. 異なるパラメータ範囲を設定することで保持期間を柔軟に調整できます.

リスク分析

リスクもあります:

  1. ブレイクアウト取引は罠にかかった傾向があり,リスクをコントロールするためにストップロスは必要である.
  2. 長期と短期間の頻繁な切り替えは,取引コストと滑り幅を増加させる.
  3. パラメータの設定が正しくない場合,過剰取引や遅延を引き起こす可能性があります.

取引頻度を制御するためにパラメータ範囲を調整できます ストップ・ロスは

最適化

戦略は以下の側面から最適化できます.

  1. 偽のブレイクを避けるために他のフィルターを追加する.
  2. ダイナミックな退出方法を設定し,ストップ・ロスを利益で追跡する.
  3. 逆トレンド取引を避けるためにトレンド決定規則を追加する.
  4. パラメータ範囲を最適化し,異なるサイクルと市場条件に適応する.

結論

結論として,これはシンプルで実用的な短期ブレイクアウト戦略です. 短期的なトレンド機会を掴むのに役立ちます. しかし,罠にかかり,取引頻度が高いリスクがあります. フィルター,ストップ損失,パラメータ最適化を追加することで,リスクを制御し,効率を改善することができます. 戦略は短期的なチャンスに焦点を当て,高いターンオーバー率を追求するトレーダーに適しています.


/*backtest
start: 2022-11-27 00:00:00
end: 2023-12-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("TurtleBC Strategy v2 V.Troussel", shorttitle="TurtleBC-V.Troussel", overlay=true, pyramiding=0)

// === BACKTEST RANGE ===
FromMonth = input(defval = 1, title = "From Month", minval = 1)
FromDay   = input(defval = 1, title = "From Day", minval = 1)
FromYear  = input(defval = 2016, title = "From Year", minval = 2016)
ToMonth   = input(defval = 1, title = "To Month", minval = 1)
ToDay     = input(defval = 1, title = "To Day", minval = 1)
ToYear    = input(defval = 9999, title = "To Year", minval = 9999)

enter_fast = input(20, minval=1)
exit_fast = input(10, minval=1)
exit_fast_short=input(10,minval=1)


fastL = highest(close, enter_fast)
fastS = highest(close ,exit_fast_short)
fastLC = lowest(close, exit_fast)
//Sortie pour le short
exitS=close>fastS[1]


enterL1 = close > fastL[1]
exitL1 = close <= fastLC[1]




strategy.entry("Long", strategy.long, when = enterL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Long", when = exitL1 and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))

//le trigger de sortie est 
strategy.entry("Short", strategy.short, when = exitL1 and (time > timestamp(FromYear, FromMonth, FromDay, 00, 00)) and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))
strategy.close("Short", when = exitS and (time < timestamp(ToYear, ToMonth, ToDay, 23, 59)))




もっと