Esta estrategia es un sistema de negociación de seguimiento de tendencias que combina indicadores técnicos MACD y RSI. Captura los cambios de tendencia de precios utilizando MACD mientras utiliza RSI para la confirmación de sobrecompra / sobreventa, implementando un enfoque de validación de doble señal. La estrategia emplea gestión de dinero fijo para el control de posiciones e incluye un mecanismo de parada de seguimiento para proteger las ganancias.
La lógica central de la estrategia se basa en varios elementos clave: 1. El sistema de señales MACD utiliza períodos más cortos (6,13,5), lo que aumenta la sensibilidad a las reacciones del mercado. 2. El RSI sirve como herramienta de confirmación auxiliar, con 30 establecido como el umbral de sobreventa. Las señales de compra solo se activan cuando el valor del RSI es mayor o igual a 30, evitando el comercio frecuente en áreas de sobreventa. La gestión monetaria adopta una estrategia de importe fijo, invirtiendo 110 monedas de cotización por operación, con el tamaño de la posición calculado dinámicamente en función del precio actual. El mecanismo de parada de trail se establece a una distancia de seguimiento del 2%, bloqueando efectivamente las ganancias y controlando el riesgo de retirada.
Esta es una estrategia de seguimiento de tendencias basada en indicadores técnicos clásicos, logrando una generación confiable de señales comerciales a través del uso combinado de MACD y RSI. El diseño general de la estrategia es conciso y práctico, con un buen valor de aplicación en el mundo real. A través de una optimización razonable de parámetros y una expansión funcional, esta estrategia tiene el potencial de lograr un rendimiento comercial estable en diferentes entornos de mercado.
/*backtest start: 2024-11-11 00:00:00 end: 2024-12-11 00:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © cryptohitman09 //@version=6 strategy("MACD + RSI 交易系统 - 110 美金买入", overlay=true) // MACD 設定 fastLength = input.int(6, title="MACD Fast Length") slowLength = input.int(13, title="MACD Slow Length") signalSmoothing = input.int(5, title="MACD Signal Smoothing") [macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing) // RSI 設定 rsiLength = input.int(14, title="RSI Length") // RSI 計算週期 rsiValue = ta.rsi(close, rsiLength) // 計算 RSI 值 rsiThresholdHigh = input.int(70, title="RSI 超買閾值") // RSI 超買閾值 rsiThresholdLow = input.int(30, title="RSI 超賣閾值") // RSI 超賣閾值 // 做多信号条件:MACD 線突破信号線,且 RSI 不低於 30 buySignal = (macdLine > signalLine) and (rsiValue >= rsiThresholdLow) // 只有 RSI 大於或等於 30 時才觸發買入 // 计算每次交易的仓位(每次交易目标为 110 美金的买入金额) tradeAmount = 20010 // 每次买入110 美金 orderSize = tradeAmount / close // 根据当前价格计算仓位大小 // 移动止损(Trailing Stop) enableTrailingStop = input.bool(true, title="启用移动止损") trailingStopDistance = input.float(2, title="移动止损距离 (%)") / 89500 // 增加移动止损的距离 longTrailingStop = strategy.position_avg_price * (1 - trailingStopDistance) // 交易逻辑:仅做多 if buySignal strategy.entry("买入", strategy.long, qty=orderSize) if enableTrailingStop strategy.exit("卖出", from_entry="买入", trail_price=longTrailingStop, trail_offset=trailingStopDistance * close) // 绘制 MACD 指标 plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.red, title="Signal Line") // 绘制 RSI 值 plot(rsiValue, color=color.orange, title="RSI Value") hline(rsiThresholdHigh, "RSI 超买", color=color.red) hline(rsiThresholdLow, "RSI 超卖", color=color.green) // 绘制买入信号 plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="买入信号", text="BUY") // 如果触发买入信号,则发送警报 if buySignal alert('{"secret": "eyJhbGciOiJIUzI1NiJ9.eyJzaWduYWxzX3NvdXJjZV9pZCI6MTAwMDAyfQ.G1wLNjNyUPlTqYWsIqXSWnn_M4pRCKerBm7eTpyCiH8", "max_lag": "300", "timestamp": "{{timenow}}", "trigger_price": "{{close}}", "tv_exchange": "{{exchange}}", "tv_instrument": "{{ticker}}", "action": "{{strategy.order.action}}", "bot_uuid": "493b76f0-8a3c-4633-8b2b-90c02659dd4d", "strategy_info": {"market_position": "{{strategy.market_position}}", "market_position_size": "{{strategy.market_position_size}}", "prev_market_position": "{{strategy.prev_market_position}}", "prev_market_position_size": "{{strategy.prev_market_position_size}}"}, "order": {"amount": "{{strategy.order.contracts}}", "currency_type": "base"}}', alert.freq_once_per_bar_close)