
이 전략은 역사적인 가격 돌파구와 평행선 필터를 기반으로 한 트렌드 추적 시스템이다. 이 전략은 다중 주기적 가격 돌파구 신호와 이동 평균을 결합하여 시장 트렌드를 식별하고, 엄격한 출구 규칙을 통해 중기 및 장기 시장 움직임을 포착한다. 이 전략은 55 일간의 가격 돌파구를 다중 신호로 사용하고, 20 일간의 가격 돌파구를 평행 위치 신호로 사용하고, 200 일간의 평행선을 트렌드 필터로 도입하여假破裂으로 인한 위험을 효과적으로 줄인다.
이 전략의 핵심 논리는 가격 돌파구와 트렌드 추적에 기반을 두고 있습니다.
이것은 고전적인 해파리 거래 법칙과 현대적인 기술 분석 도구를 결합한 전략 시스템이다. 가격 돌파구를 통해 트렌드를 포착하고, 평평선 필터를 사용하여 방향을 확인하고, 합리적인 포지션 관리와 함께 위험을 제어한다. 전략 논리는 명확하고, 실용성이 강하며, 좋은 확장성을 가지고 있다.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Turtle Traders - Andrei", overlay=true,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// ====== Inputs ======
// Período para a máxima das compras
lookback_buy = input.int(title="Período para Máxima de Compra", defval=55, minval=1)
// Período para a mínima das vendas
lookback_sell = input.int(title="Período para Mínima de Venda", defval=20, minval=1)
// Período da Média Móvel
ma_length = input.int(title="Período da Média Móvel", defval=200, minval=1)
// Tipo de Média Móvel
ma_type = input.string(title="Tipo de Média Móvel", defval="SMA", options=["SMA", "EMA", "WMA", "VWMA"])
// ====== Cálculos ======
// Cálculo da Média Móvel baseada no tipo selecionado
ma = switch ma_type
"SMA" => ta.sma(close, ma_length)
"EMA" => ta.ema(close, ma_length)
"WMA" => ta.wma(close, ma_length)
"VWMA" => ta.vwma(close, ma_length)
// Cálculo da máxima dos últimos 'lookback_buy' candles
highest_buy = ta.highest(high, lookback_buy)
// Cálculo da mínima dos últimos 'lookback_sell' candles
lowest_sell = ta.lowest(low, lookback_sell)
// ====== Condições de Negociação ======
// Condição de entrada: fechamento acima da máxima dos últimos 'lookback_buy' candles E acima da MA
longCondition = (high == highest_buy) and (close > ma)
if (longCondition)
strategy.entry("Comprar", strategy.long)
// Condição de saída: fechamento abaixo da mínima dos últimos 'lookback_sell' candles
exitCondition = (low == lowest_sell)
if (exitCondition)
strategy.close("Comprar")
// ====== Plotagens ======
// Plotar a máxima de 'lookback_buy' candles
plot(highest_buy, color=color.green, title="Máxima", linewidth=2)
// Plotar a mínima de 'lookback_sell' candles
plot(lowest_sell, color=color.red, title="Mínima", linewidth=2)
// Plotar a Média Móvel
plot(ma, color=color.blue, title="Média Móvel", linewidth=2)
// ====== Sinais Visuais ======
// Sinal de entrada
plotshape(series=longCondition, location=location.belowbar, color=color.green,
style=shape.labelup, title="Sinal de Compra", text="")
// Sinal de saída
plotshape(series=exitCondition, location=location.abovebar, color=color.red,
style=shape.labeldown, title="Sinal de Venda", text="")