トートル取引のルールに基づくトレンドフォロー戦略である.この戦略は,トレンド方向と取引ポジションのサイズを決定するためにATR (平均真要範囲) を使用する.価格が特定の期間中の最高価格または最低価格から突破したとき,戦略はロングまたはショートポジションを開く.価格は特定の期間中の最低価格または最高価格から突破するまでポジションを保持し,その時点で戦略はポジションを閉じます.この戦略の目的は,リスクを厳格に制御しながら,強いトレンド市場を捕捉することです.
この戦略の核心は,トレンド方向と取引ポジションのサイズを決定するためにATR指標を使用することです.ATR指標は市場の変動を測定し,適切なストップ・ロストレベルとポジションサイズを決定するのに役立ちます.戦略の主なステップは以下の通りです:
このアプローチに従うことで,戦略は,リスクを厳格に制御しながら,強いトレンド市場を把握することができます.ATR指標の使用は,市場の変動により良く適応するために,ポジションサイズを動的に調整するのに役立ちます.
これらのリスクに対処するために,次の解決策を検討できます.
上記の最適化により,戦略の安定性と収益性がさらに向上できます.
トートル・ATRボリンガーバンドブレイクアウト戦略は,トレンドトレードルールのルールに基づいたトレンドフォロー戦略である.この戦略は,トレンド方向と取引ポジションのサイズを決定するためにATR指標を利用し,価格が一定期間中に最高または最低価格から突破したときのポジションを開設し,トレンドが逆転するまでポジションを保持する.この戦略の利点は,リスクを厳格に制御しながら強いトレンド市場を捕獲する能力にある.しかし,この戦略はトレンド逆転,不安定な市場,パラメータ敏感性などのリスクにも直面している.戦略のパフォーマンスをさらに改善するために,より多くの指標を導入し,パラメータを動的に調整し,利益を引き出すメカニズムを組み込み,ポジション管理を最適化するなどの分野で最適化を検討することができる.全体的に,TURTLE-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)