TURTLE - ATR ボリンジャーバンドブレイクアウト戦略

ATR
作成日: 2024-06-03 10:48:09 最終変更日: 2024-06-03 10:48:09
コピー: 0 クリック数: 710
1
フォロー
1617
フォロワー

TURTLE - ATR ボリンジャーバンドブレイクアウト戦略

概要

これは海取引の法則に基づくトレンド追跡戦略である. この戦略は,トレンドの方向と取引ポジションの規模を決定するためにATR (平均リアル波幅) を使用する. 価格が過去数時間の最高価格または最低価格を破るとき,戦略はポジションを多めに開くか空にする.

戦略原則

この戦略の核心は,ATR指標を使用してトレンドの方向と取引のポジションの規模を決定することです.ATR指標は市場の変動を測定し,適切なストップポイントとポジションの規模を決定するのに役立ちます.戦略の主要なステップは以下のとおりです.

  1. ATR指標値を計算する.
  2. 多頭と空頭の突破価格レベルを決定する. 多頭突破価格は過去一期の最高価格であり,空頭突破価格は過去一期の最低価格である.
  3. 価格が多頭突破価格を突破した場合,多頭開設する.価格が空頭突破価格を突破した場合,空頭開設する.
  4. ATR指数値と口座残高に基づいて,取引毎のポジション規模を計算する.
  5. ポジションを保持し,価格が過去の一段の最低価格 (多頭持仓) を破るまでまたは最高価格 (空頭持仓) を破るまで,平仓を終了する.

このようにして,この戦略は強いトレンドの動きを捉えながらも,リスクを厳密に制御することができます.ATR指標の使用は,市場変動に適応するためにポジションの規模を動的に調整するのに役立ちます.

戦略的優位性

  1. トレンド追跡:この戦略の目的は,強力なトレンドの動きを捉え,それによりかなりの利益を得ることです.
  2. リスク管理:この戦略は,ATR指標を使用して,ポジションの規模とストップポイントを決定することで,リスクを効果的に管理できます.
  3. 適応性:ATR指標は動的に調整され,異なる市場環境に戦略を適応させることができます.
  4. シンプルで使いやすい:この戦略の論理は明確で,理解し,実行しやすい.

戦略リスク

  1. トレンド反転:市場のトレンドが突然反転すると,この戦略は大きな損失を被る可能性があります.
  2. 変動市場:変動市場では,この戦略は頻繁に平仓を打つ可能性があり,高額な取引コストにつながる.
  3. パラメータの感受性:この策略のパフォーマンスは,パラメータの設定に敏感であり,不適切なパラメータは,策略の不良なパフォーマンスを引き起こす可能性があります.

これらのリスクに対処するために,以下のような解決策を考慮することができます.

  1. トレンド確認メカニズムを導入し,トレンドが逆転した時に早急にポジションを開くのを避ける.
  2. 変動する市場では,ポジションの規模を縮小するか,取引を一時停止する.
  3. パラメータを最適化して,最適なパラメータ組み合わせを探します.

戦略最適化の方向性

  1. より多くの指標を導入:ATR指標に加えて,トレンド判断の正確性を高めるために,移動平均などの他のトレンド確認指標を導入することを検討することができます.
  2. 動的調整パラメータ:異なる市場環境に応じて,ATR周期,突破価格周期などの戦略パラメータを動的に調整し,市場変化に適応する.
  3. ストップメカニズムへの加入:一定利益を得て,利益をロックし,リスクを減らすために,部分的に平仓を考慮することができます.
  4. 多空のポジション管理:多頭と空頭のポジションを別々に管理することを考えることができる.例えば,戦略の柔軟性を高めるために,異なるストップ・ストップ基準を採用する.

この戦略の安定性と収益性をさらに向上させることができます.

要約する

TURTLE-ATRブリンブレイク戦略は,海取引法に基づくトレンド追跡戦略である.この戦略は,トレンドの方向と取引ポジションの規模を決定するためにATR指標を使用し,過去の一段の価格の最高値または最低値を破ってポジションを開き,トレンドが逆転するまでポジションを保持する.この戦略の優点は,強烈なトレンドの動きを捉えることができることであり,リスクを厳密に制御することです.しかし,この戦略は,トレンドの逆転,市場の揺れ,パラメータの感受性などのリスクにも直面しています.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © luisfeijoo22

//@version=5
strategy("Estrategia de las tortugas_ES", overlay=true, pyramiding=3)

// Parámetros 
atrLength = input.int(20, "Longitud del ATR")
atrFactor = input.float(2, "Factor del ATR")
entryBreakout = input.int(20, "Breakout de entrada")
exitBreakout = input.int(10, "Breakout de salida")
longOnly = input.bool(false, "Solo largos")
shortOnly = input.bool(false, "Solo cortos")


// Cálculo del ATR
atr = ta.atr(atrLength)

// Cálculo de los niveles de breakout
longEntry = ta.highest(high, exitBreakout)[1]
longExit = ta.lowest(low, exitBreakout)[1]
shortEntry = ta.lowest(low, exitBreakout)[1]
shortExit = ta.highest(high, exitBreakout)[1]

// Cálculo del tamaño de la posición
nContracts = math.floor((strategy.equity * 0.01) / (atrFactor * atr))

// Filtra las fechas según el rango deseado
// in_range = time >= timestamp(year(start_date), month(start_date), dayofmonth(start_date)) 

// Condiciones de entrada y salida
longCondition = not longOnly and close > longEntry and time >= timestamp("2023-03-15")
if longCondition
    strategy.entry("Long", strategy.long, qty = nContracts)

shortCondition = not shortOnly and close < shortEntry and time >=  timestamp("2023-03-15")
if shortCondition
    strategy.entry("Short", strategy.short, qty = nContracts)
    
strategy.exit("Exit Long", "Long", stop = longExit)
strategy.exit("Exit Short", "Short", stop = shortExit)

// Visualización de los niveles de breakout
plot(longEntry, "Entrada larga", color.green, style = plot.style_line)
plot(longExit, "Salida larga", color.red, style = plot.style_line)
plot(shortEntry, "Entrada corta", color.green, style = plot.style_line)
plot(shortExit, "Salida corta", color.red, style = plot.style_line)