이 전략은 역사적인 가격 브레이크와 이동 평균 필터를 기반으로하는 트렌드 다음 시스템이다. 중장기 시장 움직임을 파악하기 위해 엄격한 입출입 규칙을 사용하여 시장 추세를 식별하기 위해 다기간의 가격 브레이크 신호와 이동 평균을 결합합니다. 이 전략은 긴 신호에 대한 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="")