
La estrategia es una estrategia de movimiento intradiario sencilla que no es a la izquierda. Utiliza el SMA, EMA y los indicadores de volumen de transacción para intentar entrar en el mercado en el momento óptimo, es decir, cuando el precio y el movimiento aumentan al mismo tiempo.
La lógica de la estrategia para generar señales de comercio Einty es: al mismo tiempo que se cumplen los indicadores SMA superiores a los indicadores EMA y 3 líneas K consecutivas o 4 líneas K consecutivas, se forma una tendencia alcista, y el precio mínimo de la línea K intermedia es superior al precio de apertura de la línea K ascendente.
La lógica de generación de la señal de salida es la siguiente: Cuando el indicador SMA pasa el indicador EMA, se genera la señal de salida.
La estrategia solo hace más cabeza, no más cabeza hueca. Su lógica de entrada y salida tiene cierta capacidad de reconocimiento de tendencias ascendentes continuas.
La estrategia tiene las siguientes ventajas:
La lógica de la estrategia es simple, fácil de entender y de implementar.
La flexibilidad para ajustar los parámetros utilizando indicadores técnicos comunes como SMA, EMA y volúmenes de transacción;
La capacidad de reconocer las tendencias de alza continua y aprovechar las oportunidades de las tendencias.
La estrategia también tiene los siguientes riesgos:
La falta de identificación de los mercados que se encuentran a la baja o en reestructuración puede provocar un mayor retroceso.
No se aprovechan de las oportunidades que se presentan, no se pueden proteger de la tendencia a la recesión y se pueden perder oportunidades de ganancias.
Los indicadores de volumen de entrega no son efectivos para los datos de alta frecuencia y necesitan ajustar los parámetros;
La pérdida de control puede ser utilizada para controlar el riesgo.
La estrategia puede ser optimizada en los siguientes aspectos:
Aumentar las oportunidades de operaciones en blanco y permitir el arbitraje de tendencias de desaceleración mediante el comercio bidireccional en blanco y negro;
El uso de indicadores más avanzados como el MACD, el RSI y otras estrategias combinadas para mejorar la capacidad de discernimiento de tendencias;
Optimizar la lógica de stop loss para reducir el riesgo de retiro.
Ajustar los parámetros, probar los datos de diferentes períodos y buscar la combinación óptima de parámetros.
La estrategia en su conjunto es una estrategia de seguimiento de tendencias muy simple, para determinar el momento de entrada a través de los indicadores de SMA, EMA y volumen de transacciones. Su ventaja es que es simple y fácil de implementar, adecuado para el aprendizaje de entrada, pero no puede identificar tendencias de reajuste y bajada, existe un cierto riesgo.
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-02 00:00:00
period: 2h
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/
// © slip_stream
//@version=4
// Simple strategy for riding the momentum and optimising the timings of truer/longer price moves upwards for an long posistions on a daily basis (can be used, but with less effect
// on other time frames. Volume settings would have to be adjusted by the user accordingly. (short positions are not used).
// This strategy has default settings of a short(er) SMA of 10, a long(er) EMA of 20, and Volume trigger of 10 units and above. All these settings can be changed by the user
// using the GUI settings and not having to change the script.
// The strategy will only open a long position when there is a clear indication that price momentum is upwards through the SMA moving and remaining above the EMA (mandatory) and price period indicators
// of either 1) a standard 3 bar movement upwards, 2) a standard but "aggressive" 3 or 4 bar play where the low of the middle resting bars can be equal to or higher than (i.e. not
// the more standard low of about half) of the opening of the ignition bar. The "aggression" of the 3/4 bar play was done in order to counteract the conservatisme of having a mandatory
// SMA remaining higher than the EMA (this would have to be changed in the script by the user if they want to optimise to their own specifications. However, be warned, all programmatic
// settings for the maximum acceptable low of the middle resting bars runs a risk of ignoring good entry points due to the low being minutely e.g. 0.01%, lower than the user defined setting)
strategy(title = "Simple Momentum Strategy Based on SMA, EMA and Volume", overlay = true, pyramiding = 1, initial_capital = 100000, currency = currency.USD)
// Obtain inputs
sma_length = input(defval = 10, minval=1, type = input.integer, title = "SMA (small length)")
ema_length = input(defval = 20,minval=1, type = input.integer, title = "EMA (large length)")
volume_trigger = input(defval = 10, title = "Volume Trigger", type = input.integer)
sma_line = sma(close, sma_length)
ema_line = ema(close, ema_length)
// plot SMA and EMA lines with a cross for when they intersect
plot(sma_line, color = #8b0000, title = "SMA")
plot(ema_line, color = #e3d024, title = "EMA")
plot(cross(sma_line, ema_line) ? sma_line : na, style = plot.style_cross, linewidth = 4, color = color.white)
// Create variables
// variables to check if trade should be entered
//three consecutive bar bar moves upwards and volume of at least one bar is more than 10
enter_trade_3_bar_up = sma_line > ema_line and close[1] >= close [2] and close[3] >= close[4] and close[2] >= close[3] and (volume[1] >= volume_trigger or volume[2] >= volume_trigger or volume[3] >= volume_trigger)
// aggressive three bar play that ensures the low of the middle bar is equal to or greater than the open of the instigator bar. Volume is not taken into consideration (i.e. aggressive/risky)
enter_3_bar_play = sma_line > ema_line and close[1] > close[3] and low[2] >= open[3]
// aggressive four bar play similar to the 3 bar play above
enter_4_bar_play = sma_line > ema_line and close[1] > close[4] and low[2] >= open[4]
trade_entry_criteria = enter_trade_3_bar_up or enter_3_bar_play or enter_4_bar_play // has one of the trade entry criterias returned true?
// exit criteria for the trade: when the sma line goes under the ema line
trade_exit_criteria = crossunder (sma_line, ema_line)
if (year >= 2019)
strategy.entry(id = "long", long = true, qty = 1, when = trade_entry_criteria)
strategy.close(id = "long", when = trade_exit_criteria, qty = 1)
// for when you want to brute force close all open positions: strategy.close_all (when = trade_exit_criteria)