
La estrategia utiliza un indicador de movimiento de precios para determinar la dirección de la operación. En concreto, calcula la media y la media, generando una señal de compra cuando el precio cruza la media y la media. Para filtrar las señales falsas, se requiere que no haya una señal similar antes.
La estrategia se basa principalmente en los indicadores de movimiento de los precios para determinar la dirección de la tendencia. Primero se calcula la línea media y el precio promedio:
swmaClose = swma(close)
vwapClose = vwap(close)
En el mismo,swmaEl promedio deportivo es el promedio de las carreras.vwapEl precio medio ponderado por volumen de transacción.
Luego se compara la relación entre el precio y la magnitud de la media para determinar si la línea media y la media se cruzan, y así determinar si se trata de una señal de avance:
swmaLong = close > swmaClose
vwapLong = close > vwapClose
Para filtrar las falsas señales, solicite que los dos indicadores no hayan sido emitidos antes:
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
La señal de alarma se puede ver a continuación:
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
Finalmente, cuando se guarda la señal de subida y el precio vuelve a subir a la línea media, se genera una señal de apertura:
startLong = saveLong and swmaLong
Esto puede filtrar algunas señales falsas y hacerlas más confiables.
La estrategia también incluye la configuración de la parada de pérdidas. La distancia de parada de pérdidas se puede configurar, y la parada de parada se configura como un determinado múltiplo de la parada de pérdidas.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
Respuesta:
La estrategia también puede ser optimizada en las siguientes direcciones:
Estas optimizaciones pueden mejorar la flexibilidad, la estabilidad y la rentabilidad de las estrategias.
La estrategia de seguimiento de movimiento de precios es una estrategia de seguimiento de tendencias sencilla, directa y lógica. La estrategia utiliza la línea media y la media para determinar la dirección de la movilidad de los precios y diseña un mecanismo de verificación en varios pasos para mejorar la calidad de la señal. La estrategia también incluye una configuración razonable de stop loss.
/*backtest
start: 2023-12-03 00:00:00
end: 2024-01-02 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Simple Price Momentum", shorttitle = "SPM", overlay = true, initial_capital = 20000, default_qty_value = 100, default_qty_type = strategy.percent_of_equity, commission_value = 0.025)
// How To Create A Simple Trading Strategy With TradingView
// https://docs.google.com/document/d/1fXxCtPuGgTXb-RuBJNbwlfgkeiLTK5060LfTrzRlr5k/view
swmaClose = swma(close)
vwapClose = vwap(close)
swmaLong = close > swmaClose
vwapLong = close > vwapClose
triggerLong = vwapLong and not vwapLong[1] and not swmaLong and not swmaLong[1]
saveLong = false, saveLong := triggerLong ? true : not vwapLong ? false : saveLong[1]
startLong = saveLong and swmaLong
startLong := input(false, "Consecutive Orders") ? startLong : startLong and not startLong[1]
stopLoss = input(250, "Stop Loss", step = 50)
takeProfit = input(10, "Reward/Risk") * stopLoss
strategy.entry("Open Long", strategy.long, when = startLong)
strategy.exit("Exit Long", "Open Long", profit = stopLoss, loss = takeProfit)
// bgcolor(swmaLong ? color.blue : na)
// bgcolor(vwapLong ? color.orange : na)
// bgcolor(triggerLong ? color.purple : na)
// bgcolor(saveLong ? color.yellow : na)
bgcolor(startLong[1] ? color.green : na)