
Esta estrategia utiliza una combinación de indicadores para determinar la dirección de la tendencia y el momento de negociar, y utiliza un método de equilibrio de presión para aumentar la probabilidad de ganar las operaciones. Se utilizan principalmente los tres indicadores MACD, PSAR y EMA para juzgar, combinados con los paros de stop loss para obtener ganancias eficientes.
Utiliza la EMA para calcular la línea media y determinar la dirección de la tendencia general. Los valores más altos de EMA representan que se encuentra en una tendencia ascendente, mientras que los valores más bajos representan que se encuentra en una tendencia descendente.
Utilizando el MACD para calcular el diferencial entre la línea rápida y la línea lenta, cuando el diferencial es mayor que 0 significa que se encuentra actualmente en una tendencia ascendente, y cuando el diferencial es menor que 0 significa que se encuentra actualmente en una tendencia descendente.
Utiliza el PSAR para calcular los puntos de cambio continuos, cuando los valores más altos del PSAR representan que se encuentra actualmente en una tendencia descendente, y cuando los valores más bajos del PSAR representan que se encuentra actualmente en una tendencia ascendente.
La combinación de los tres indicadores anteriores determina la consistencia de la tendencia. Cuando los resultados de los tres indicadores coinciden, la tendencia es más clara y se puede comprar o vender.
Abrir posiciones de acuerdo con las condiciones de compra y venta, y establecer un punto de parada de pérdidas, cerrar las posiciones cuando se alcanzan las condiciones de parada de pérdidas o de parada, y obtener ganancias.
Las reglas de operación son las siguientes:
El uso de varios indicadores para juzgar tendencias mejora la precisión de los juicios.
El equilibrio de la presión se utiliza para abrir posiciones cuando la tendencia es clara y aumentar la probabilidad de obtener ganancias.
Establezca un punto de parada de pérdidas para limitar las pérdidas y bloquear los beneficios.
Un sistema de reglas claras de transacción, adecuado para transacciones programadas.
Se puede optimizar mediante parámetros y adaptarse a diferentes variedades y ciclos de negociación.
La probabilidad de error en el análisis de tendencias puede conducir a la apertura de posiciones erróneas.
En el caso de un mercado que se mueve con fuerza, los indicadores pueden emitir señales falsas.
El punto de parada es demasiado grande para detenerlo a tiempo.
Los parámetros están mal configurados, lo que hace que las transacciones sean demasiado frecuentes o que no se pueda abrir la posición a tiempo.
La liquidez de la variedad de comercio es insuficiente y no se puede detener el paro de pérdidas según lo planeado.
Se puede reducir el riesgo optimizando los parámetros, ajustando el punto de parada y seleccionando variedades de operaciones con buena liquidez.
Ajuste de los parámetros de los ciclos EMA para optimizar la precisión de las tendencias.
Ajuste los parámetros de ciclo de línea rápida y lenta de MACD para optimizar la sensibilidad de los indicadores MACD.
Ajuste los parámetros de la proporción de la parada de pérdida para obtener el equilibrio óptimo de la parada de pérdida.
Añadir otros indicadores auxiliares para mejorar la precisión de la selección de la hora de abrir una posición.
Optimizar la selección de variedades de comercio, elegir variedades con buena liquidez y mayor volatilidad.
Ajustar el ciclo de tiempo de las transacciones a las características del mercado de las diferentes variedades.
Esta estrategia utiliza una variedad de indicadores para determinar la tendencia, abrir posiciones cuando la tendencia es clara y establecer un stop-loss para capturar eficazmente el movimiento del mercado y obtener un rendimiento más ideal con la garantía de una cierta ganancia. Mediante la optimización de los parámetros y la adición de otros indicadores auxiliares, se puede mejorar aún más la estabilidad y el nivel de ganancia de la estrategia.
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1h
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/
// © exlux99
//@version=4
strategy(title = "Crypto Scalper", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)
len = input(60, minval=1, title="Length EMA")
src = input(close, title="Source")
out = ema(src, len)
//
fast_length = input(title="Fast Length MACD", type=input.integer, defval=12)
slow_length = input(title="Slow Length MACD", type=input.integer, defval=26)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9)
sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"])
// Calculating
fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
tplong=input(0.245, step=0.005)
sllong=input(1.0, step=0.005)
tpshort=input(0.055, step=0.005)
slshort=input(0.03, step=0.005)
if (uptrend and hist >0 and close < out)
strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short")
strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')
if (not uptrend and hist <0 and close > out)
strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long")
strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closelong')