
Strategi ini menggunakan ATR (Average True Rate) untuk menentukan arah trend dan saiz kedudukan perdagangan. Strategi ini akan membuka kedudukan untuk melabur atau melemahkan apabila harga menembusi harga tertinggi atau terendah dalam jangka masa yang lalu.
Inti strategi ini adalah menggunakan indikator ATR untuk menentukan arah trend dan saiz kedudukan perdagangan. Indeks ATR dapat mengukur turun naik pasaran, yang akan membantu kita menentukan titik hentian dan saiz kedudukan yang sesuai. Langkah utama strategi adalah:
Dengan cara ini, strategi ini dapat menangkap trend yang kuat, sambil mengawal risiko dengan ketat. Penggunaan indikator ATR dapat membantu kita menyesuaikan skala kedudukan secara dinamik, sehingga lebih sesuai dengan turun naik pasaran.
Untuk mengatasi risiko ini, anda boleh mempertimbangkan penyelesaian berikut:
Dengan pengoptimuman ini, anda dapat meningkatkan lagi kestabilan dan keuntungan strategi ini.
Strategi TURTLE-ATR adalah strategi pemantauan trend berdasarkan peraturan perdagangan badai. Strategi ini menggunakan indikator ATR untuk menentukan arah trend dan saiz kedudukan perdagangan, membuka kedudukan dengan memecahkan harga tertinggi atau terendah dalam beberapa waktu lalu, dan memegang kedudukan sehingga trend berbalik. Keunggulan strategi ini adalah dapat menangkap trend yang kuat, sambil mengawal risiko dengan ketat.
/*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)