A estratégia determina a direção da tendência atual através do cálculo da média móvel e do CHANNEL de diferença padrão do preço, formando um trajeto ascendente e descendente dinâmico, e combinando o valor médio do preço mais alto com o preço mais baixo para formar um trajeto intermediário. A estratégia de negociar de acordo com a mudança de tendência é realizada quando o preço se move para cima e para baixo quando o preço se move para baixo.
A estratégia é clara e fácil de entender, capta a tendência através do canal dinâmico e, em combinação com o design de múltiplos meios de comunicação, gera sinais de negociação, que permitem efetivamente acompanhar a direção da tendência e obter melhores retornos de negociação. Na aplicação prática, é necessário prestar atenção à estratégia de stop loss, à gestão de fundos e à otimização de parâmetros para obter ganhos estáveis a longo prazo.
/*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")