
이것은 해파리 거래 법칙에 기반한 트렌드 추적 전략이다. 이 전략은 ATR (평균 실제 파도) 를 사용하여 트렌드 방향과 거래 포지션 크기를 결정한다. 가격이 지난 기간의 최고 가격 또는 최저 가격을 돌파 할 때, 전략은 포지션을 열거나 닫는다. 포지션을 보유하는 것은 가격이 지난 기간의 최고 가격 또는 최저 가격을 돌파 할 때까지 계속 유지되며, 전략은 평평합니다. 이 전략의 목적은 강력한 트렌드 실태를 포착하면서 위험을 엄격하게 제어하는 것입니다.
이 전략의 핵심은 ATR 지표를 사용하여 트렌드 방향과 거래 포지션 크기를 결정하는 것입니다. ATR 지표는 시장의 변동성을 측정하여 적절한 중지 및 포지션 크기를 결정하는 데 도움이됩니다. 전략의 주요 단계는 다음과 같습니다.
이런 방식으로, 이 전략은 강력한 트렌드 상황을 포착할 수 있으며, 동시에 위험을 엄격하게 통제할 수 있습니다. ATR 지표의 사용은 시장의 변동에 더 잘 적응하기 위해 포지션 규모를 동적으로 조정하는 데 도움이 될 수 있습니다.
이러한 위험들을 해결하기 위해, 다음과 같은 해결책들을 고려할 수 있습니다.
이러한 최적화를 통해 전략의 안정성과 수익성을 더욱 높일 수 있습니다.
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)