Chiến lược này là một hệ thống theo xu hướng dựa trên các dấu hiệu bứt phá giá lịch sử và các bộ lọc trung bình động. Nó kết hợp các tín hiệu bứt phá giá nhiều giai đoạn với trung bình động để xác định xu hướng thị trường, sử dụng các quy tắc vào và ra nghiêm ngặt để nắm bắt các biến động thị trường trung hạn đến dài hạn. Chiến lược sử dụng các dấu hiệu bứt phá giá 55 ngày cho các tín hiệu dài, các dấu hiệu bứt phá giá 20 ngày cho các bước ra, và kết hợp trung bình động 200 ngày như một bộ lọc xu hướng để giảm hiệu quả rủi ro bứt phá sai.
Lý thuyết cốt lõi được xây dựng trên sự đột phá giá và xu hướng theo dõi.
Đây là một hệ thống chiến lược kết hợp các quy tắc giao dịch rùa cổ điển với các công cụ phân tích kỹ thuật hiện đại. Nó nắm bắt xu hướng thông qua sự đột phá giá, xác nhận hướng sử dụng đường trung bình động, và kiểm soát rủi ro bằng quản lý vị trí hợp lý. Logic chiến lược rõ ràng, thực tế và có khả năng mở rộng tốt. Mặc dù nó có thể hoạt động kém trong các thị trường hỗn loạn, thông qua tối ưu hóa tham số và kiểm soát rủi ro thích hợp, nó vẫn có thể đạt được lợi nhuận ổn định trong các thị trường xu hướng. Các nhà giao dịch được khuyên nên điều chỉnh các tham số dựa trên các đặc điểm thị trường cụ thể và thiết lập các hệ thống quản lý tiền toàn diện khi áp dụng giao dịch trực tiếp.
/*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="")