
Chiến lược này là một hệ thống theo dõi xu hướng dựa trên các đợt phá vỡ giá lịch sử và bộ lọc đường trung bình. Nó kết hợp các tín hiệu phá vỡ giá nhiều chu kỳ và các đường trung bình di chuyển để xác định xu hướng thị trường và nắm bắt các động thái thị trường trong trung và dài hạn thông qua các quy tắc nhập cảnh nghiêm ngặt. Chiến lược này sử dụng đợt phá vỡ giá 55 ngày làm tín hiệu nhiều, đợt phá vỡ giá 20 ngày làm tín hiệu vị thế bằng phẳng, đồng thời giới thiệu đường trung bình 200 ngày làm bộ lọc xu hướng, giảm hiệu quả rủi ro do phá vỡ giả định.
Lập luận cốt lõi của chiến lược được xây dựng dựa trên sự phá vỡ giá và theo dõi xu hướng.
Đây là một hệ thống chiến lược kết hợp các quy tắc giao dịch biển cổ điển với các công cụ phân tích kỹ thuật hiện đại. Thu thập xu hướng bằng cách phá vỡ giá, sử dụng bộ lọc đường thẳng để xác nhận hướng, phối hợp với quản lý vị trí hợp lý để kiểm soát rủi ro.
/*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="")