
Esta estrategia de negociación es una estrategia de seguimiento de tendencias basada en un simple sistema de medias móviles y medias cruzadas. Utiliza el cruce de medias móviles rápidas y medias móviles lentas de diferentes períodos como señal para hacer más compras.
La estrategia utiliza un ciclo rápido como el promedio móvil simple de 60 días y un ciclo lento como el promedio móvil simple de 200 días. El promedio móvil rápido responde más rápidamente a los cambios de precios, reflejando tendencias de precios recientes; el promedio móvil lento responde más lentamente a los cambios de precios, reflejando tendencias de mediano y largo plazo.
Cuando la media de corto periodo cruza la media de largo periodo desde abajo, indica que el precio de corto periodo comienza a subir, entrando en el mercado de varios encabezados, esto hace más. Cuando la media de corto periodo cruza la media de largo periodo desde arriba hacia abajo, indica que el precio de corto periodo comienza a bajar, entrando en el mercado de encabezados, esto hace más.
La estrategia utiliza el principio de cruce de las medias para determinar la dirección de la tendencia. Cuando los precios de los períodos cortos suben más rápido, las medias de los períodos cortos empujan a las medias de los períodos largos hacia arriba y las atraviesan desde abajo. Esto indica que el mercado está en una tendencia alcista y se debe hacer más.
Capturar los puntos de inflexión de las tendencias de precios mediante la intersección de las líneas de media rápida y media lenta y ajustar las posiciones abiertas en consecuencia. Este es el principio principal de la estrategia para determinar las tendencias y generar señales de negociación.
Se puede ajustar la frecuencia de oscilación de las diferentes variedades mediante el ajuste de los parámetros periódicos de las medias móviles; mejorar las estrategias de stop loss y stop loss, utilizando indicadores más complejos para reducir las señales erróneas; agregar métodos como el filtro de volumen de transacción para optimizar la estrategia y mejorar la estabilidad de la estrategia.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros de ciclo rápido y lento de las medias móviles para adaptarse a variedades con diferentes frecuencias de oscilación. Se pueden probar más combinaciones para encontrar los parámetros óptimos.
Cambiar las condiciones de entrada y filtrar más indicadores, como el incremento en el volumen de transacciones, para reducir las señales erróneas.
Mejorar las estrategias de stop-loss, como el seguimiento de los stops o los stops dinámicos, para obtener ganancias más eficientes.
Tenga en cuenta los costos de la transacción, como los honorarios, y agregue un módulo de evaluación de costos para que la simulación sea más realista.
Para las características de las diferentes variedades, diseñar un universo de parámetros para buscar la combinación óptima de parámetros.
Aumentar la identificación de características locales, ayudar a determinar el punto de inflexión de la tendencia, mejorar la comprensión de la hora de abrir y cerrar posiciones.
A través de la optimización de la estrategia del sistema, se puede aumentar considerablemente la rentabilidad y la estabilidad de la inversión, reduciendo el retiro.
La estrategia de negociación se basa en el cruce de la línea de equilibrio para determinar el cambio en la tendencia de los precios, y es una estrategia típica de seguimiento de tendencias. Utiliza el cruce de diferentes líneas de equilibrio periódicas como una señal de compresión múltiple, determina la dirección de la tendencia a través de una combinación de líneas de equilibrio rápidas y lentas, y logra una captura de tendencia efectiva. La estrategia es estable, confiable, fácil de entender y implementar, se puede adaptar a la mayoría de las variedades mediante optimización de parámetros, y es un tipo de estrategia básica para el comercio cuantitativo.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © thebearfib
//
//@version=5
//
strategy("x-over 150d_200d_sma - Free", overlay = true)
repaint = input.bool(defval = false, title = "[RePaint] Uncheck to see real time results") //when you deselect it - it shows what would have happened in real time while trading the system
srcmc = request.security(syminfo.tickerid, 'D', open, lookahead= repaint ? barmerge.lookahead_on : barmerge.lookahead_off, gaps=barmerge.gaps_off)
fast_length = input(title="Fast Length", defval=60)
slow_length = input(title="Slow Length", defval=275)
_fast = ta.sma(srcmc, fast_length)
_slow = ta.sma(srcmc, slow_length)
plot(_fast,
title="Fast SMA",
color=color.red,
linewidth = 1)
plot(_slow,
title="Slow SMA",
color=color.white,
linewidth = 3)
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Calculating —————————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//
longProfitPerc = input.float(title="Long Take Profit (%)", minval=0.01, step=1.0, defval=42) * .01
longStopPerc = input.float(title="Long Stop (%)", minval=0.01, step=1.0, defval=13) * .01
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Stop Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longExitPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 + longProfitPerc) : srcmc * (1 + longProfitPerc)
longStopPrice = strategy.opentrades > 0 ? strategy.position_avg_price * (1 - longStopPerc) : srcmc * (1 - longStopPerc)
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Long Conditions ————————————————————————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
longCondition = srcmc > _slow and ta.crossover(_fast, _slow)
closeCondition = ta.crossover(srcmc, _slow)
if (longCondition)
strategy.entry("Entry (long)", strategy.long, comment="→ 𝗟𝗴 𝗘𝗻𝘁𝗿𝘆")
if (closeCondition)
strategy.close("Entry (long)", comment=" 𝗟𝗴 𝗘𝘅𝗶𝘁 ←")
if (strategy.position_size > 0)
strategy.exit(id="XL", limit=longExitPrice, stop = longStopPrice, comment_profit = "Take Profit", comment_loss = "Stop Loss")
//
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
// ————————————————————————————————— Never the End Just the beginning —————————————————————————————————————————————————
// ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
//