Strategi ini adalah sistem trend following berdasarkan retak harga historis dan filter rata-rata bergerak. Strategi ini menggabungkan sinyal retak harga multi-periode dengan rata-rata bergerak untuk mengidentifikasi tren pasar, menggunakan aturan masuk dan keluar yang ketat untuk menangkap pergerakan pasar jangka menengah hingga panjang. Strategi ini menggunakan retak harga 55 hari untuk sinyal panjang, retak harga 20 hari untuk keluar, dan menggabungkan rata-rata bergerak 200 hari sebagai filter tren untuk secara efektif mengurangi risiko retak palsu.
Logika inti dibangun pada harga pecah dan tren berikut.
Ini adalah sistem strategis yang menggabungkan aturan perdagangan kura-kura klasik dengan alat analisis teknis modern. Ini menangkap tren melalui price breakout, mengkonfirmasi arah menggunakan moving average, dan mengendalikan risiko dengan manajemen posisi yang wajar. Logika strategi jelas, praktis, dan memiliki skalabilitas yang baik. Meskipun mungkin berkinerja buruk di pasar yang bergolak, melalui optimasi parameter yang tepat dan pengendalian risiko, itu masih dapat mencapai pengembalian yang stabil di pasar tren. Pedagang disarankan untuk menyesuaikan parameter berdasarkan karakteristik pasar tertentu dan membangun sistem manajemen uang yang komprehensif ketika menerapkan perdagangan langsung.
/*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="")