Esta estrategia determina la dirección de la tendencia actual mediante el cálculo de las medias móviles y la diferencia estándar de los precios CHANNEL, formando un tren ascendente y descendente dinámico, y combinando los valores promedio de los precios más altos y más bajos para formar un tren intermedio. La estrategia de negociar en función de los cambios de tendencia se lleva a cabo cuando los precios rompen la trayectoria ascendente y cuando los precios caen la trayectoria descendente.
La idea general de la estrategia es clara y fácil de entender, capta la tendencia a través de un canal dinámico y genera señales de negociación en combinación con un diseño de múltiples vías centrales, para que pueda seguir la dirección de la tendencia de manera efectiva y obtener mejores ganancias comerciales. En la aplicación práctica, se debe prestar atención a las estrategias de detención de pérdidas, administración de fondos y optimización de los parámetros para obtener ganancias estables a largo plazo.
/*backtest
start: 2023-09-10 00:00:00
end: 2023-10-10 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/
// © ErdemDemir
//@version=4
strategy("Lawyers Trend Pro Strategy", shorttitle="Lawyers Trend Pro Strategy", overlay=true)
src = close
mult = 2.0
basis = sma(src, 20)
dev = mult * stdev(src, 20)
upper = basis + dev
lower = basis - dev
offset = 0
lower2 = lowest(20)
upper2 = highest(20)
basis2 = avg(upper2, lower2)
MB= (basis+basis2)/2
col1=close>MB
col3=MB>close
colorE = col1 ? color.blue : col3 ? color.red : color.yellow
p3=plot(MB, color=colorE, linewidth=3)
// Deternine if we are currently LONG
isLong = false
isLong := nz(isLong[1], false)
// Determine if we are currently SHORT
isShort = false
isShort := nz(isShort[1], false)
// Buy only if the buy signal is triggered and we are not already long
buySignal = not isLong and crossover(close,MB)
// Sell only if the sell signal is triggered and we are not already short
sellSignal= not isShort and crossover(MB,close)
if (buySignal)
isLong := true
isShort := false
if (sellSignal)
isLong := false
isShort := true
/// LONG
strategy.entry("long", true , when = buySignal, comment="Open Long")
strategy.close("long", when=sellSignal, comment = "Close Long")
/// SHORT
strategy.entry("short", false, when = sellSignal, comment="Open Short")
strategy.close("short", when=buySignal, comment = "Close Short")