
La estrategia de ruptura de la línea de paridad doble es una estrategia de negociación cuantitativa más típica de seguimiento de tendencias. La estrategia juzga la posición mediante el cálculo de un promedio móvil simple de diferentes períodos y la configuración de la señal de negociación como una media móvil de ruptura de precios. La estrategia utiliza la línea de 20 y la línea de 60 días como señales de negociación.
La lógica central de la estrategia de brecha de doble línea es:El uso de medias móviles de diferentes períodos para capturar la tendencia de los precios y emitir señales de negociación cuando los precios superan las medias móviles。
En concreto, la estrategia utiliza una media móvil simple de 20 días y una media móvil simple de 60 días. Estas dos medias móviles se pueden ver como herramientas para capturar tendencias a corto plazo y tendencias a medio plazo, respectivamente.
Aprobado en el códigota.crossoveryta.crossunderPara determinar si el precio se encuentra por encima o por debajo de una media móvil. Cuando se produce una ruptura, se emite una instrucción para hacer más o menos.
La estrategia de la brecha de doble línea de equilibrio tiene las siguientes ventajas:
La estrategia de la brecha en dos líneas equitativas también tiene algunos riesgos:
Las estrategias de penetración en dos líneas equiláteras se pueden optimizar en las siguientes dimensiones:
La estrategia de breakout de doble línea es una estrategia de seguimiento de tendencias sencilla y práctica. Puede capturar de manera efectiva las tendencias a medio y largo plazo, evitando la interferencia del ruido del mercado a corto plazo. A la vez, la estrategia es fácil de entender y implementar, los parámetros son cuantificables, y es muy adecuada para los requisitos de la negociación cuantitativa. Por supuesto, la estrategia también tiene cierto espacio de mejora, que se puede mejorar en aspectos como la optimización de los parámetros, el aumento de la filtración de señales y la lógica de parada, lo que hace que la estrategia sea más estable y rentable.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
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/
// © Astorhsu
//@version=5
strategy("Astor SMA20/60", overlay=true)
backtest_year = input(2018, title='backtest_year') //回測開始年分
backtest_month = input.int(01, title='backtest_month', minval=1, maxval=12) //回測開始月份
backtest_day = input.int(01, title='backtest_day', minval=1, maxval=31) //回測開始日期
start_time = timestamp(backtest_year, backtest_month, backtest_day, 00, 00) //回測開始的時間函數
//Indicators
sma10 = ta.sma(close,10)
sma20 = ta.sma(close,20)
sma60 = ta.sma(close,60)
plot(sma20, color=color.green, title="sma(20)")
plot(sma60, color=color.red, title="sma(60)")
//進場條件
// trend1 = sma60 > sma20 //假設目前趨勢為60>20
longCondition = ta.crossover(close, ta.sma(close, 20))
if (longCondition)
strategy.entry("open long20", strategy.long, qty=1, comment="站上m20做多")
shortCondition = ta.crossunder(close, ta.sma(close, 20))
if (shortCondition)
strategy.close("open long20",comment="跌破m20平倉", qty=1)
longCondition1 = ta.crossover(close, ta.sma(close, 60))
if (longCondition1)
strategy.entry("open long60", strategy.long, qty=1, comment="站上m60做多")
shortCondition1 = ta.crossunder(close, ta.sma(close, 60))
if (shortCondition1)
strategy.close("open long60",comment="跌破m60平倉", qty=1)
// longCondition2 = ta.crossover(close, ta.sma(close, 10))
// if (longCondition2)
// strategy.entry("open long10", strategy.long, qty=1, comment="站上m10做多")
// shortCondition2 = ta.crossunder(close, ta.sma(close, 10))
// if (shortCondition2)
// strategy.close("open long10",comment="跌破m10平倉", qty=1)