この戦略は,歴史的価格ブレイクと移動平均フィルターに基づくトレンドフォローシステムである. 市場動向を特定するために,多期価格ブレイクシグナルと移動平均を組み合わせ,中長期市場動向を把握するために厳格なエントリーと出口ルールを使用する. この戦略は,長期信号の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="")