
La estrategia de cruce de la media galileana es una estrategia de negociación basada en promedios móviles. La estrategia genera una señal de negociación mediante el cálculo de promedios móviles indexados de un determinado período y la comparación cruzada con los precios.
El núcleo de la estrategia de cruce de línea de la media galileana es el promedio móvil indexado (EMA). El EMA es un algoritmo de promedio móvil que tiende a dar mayor peso a los precios más recientes. Su fórmula de cálculo es:
EMA de hoy = (el precio de cierre de hoy x la normalidad de la nivelación) + (EMA de ayer x la normalidad de la nivelación)
De ellos, el número de constantes lisas α = ((2/( número de ciclos + 1)) 。
La estrategia calcula los valores de EMA en tiempo real a través de la longitud de los ciclos que ingresa el usuario. Luego se compara el precio con el EMA y se juzga la intersección de los dos como una señal de compra y venta:
Cuando el precio cae desde la parte superior hacia abajo y cae por debajo de la EMA, se genera una señal de venta y se realiza una operación de línea corta.
Cuando el precio rompe la EMA desde abajo, se genera una señal de compra y se realiza una operación múltiple.
Esta estrategia traza las líneas EMA y las flechas que marcan las señales de compra y venta.
La estrategia de cruce de la línea media de Galileo tiene las siguientes ventajas:
La estrategia de la línea de cruce de Galileo también tiene los siguientes riesgos:
La estrategia de la cruz de la línea media de Galileo se puede optimizar en las siguientes direcciones:
En combinación con otros indicadores, construir estrategias de combinación, evitar falsas señales, mejorar la estabilidad. Por ejemplo, agregar volumen de transacciones, indicadores de tendencias, etc.
Aumentar las estrategias de stop loss, establecer un stop loss móvil o un stop loss porcentual y controlar las pérdidas individuales.
Prueba el efecto de los diferentes parámetros de la EMA para seleccionar la combinación de parámetros más adecuada. También se pueden probar otros tipos de medias móviles.
Evaluar la posibilidad de unirse a un mecanismo de reingreso para mejorar la tasa de ganancias al reincorporarse a la bolsa tras una reversión de precios.
La estrategia de cruce de línea uniforme de Galileo es una estrategia de negociación sencilla, práctica, clara, fácil de operar, adecuada para los principiantes que cuantifican el comercio. Con la optimización y mejora continuas, se cree que su eficacia será cada vez mejor y es recomendable.
/*backtest
start: 2022-12-11 00:00:00
end: 2023-12-17 00:00:00
period: 1d
basePeriod: 1h
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/
// © armigoldman
//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)
//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)
// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close
plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)
buy = if cross(close, out) == 1 and close[1] < close
strategy.entry("BUY", strategy.long, when=time_cond)
//strategy.close_all(when=bearish)
// strategy.exit("exit", "Long", profit =, loss = 35)
sell = if cross(close, out) == 1 and close[1] > close
strategy.entry("SELL", strategy.short, when=time_cond)
//sell = if bearish
//strategy.close_all(when=bullish)
// strategy.exit("exit", "Long", profit = bullish, loss = 100)
profit = strategy.netprofit
if not time_cond
strategy.close_all()
//plotshape(true, style=shape.triangleup, location=location.abovebar)