
Esta estratégia utiliza principalmente o forcado de ouro da média móvel e a linha de K para tomar decisões sobre a brecha. Faça mais quando a média móvel de curto prazo é maior do que a média móvel de longo prazo e faça um vazio quando a média móvel de curto prazo é menor do que a média móvel de longo prazo.
Calcule a média móvel de dois períodos diferentes, EMA1 e EMA2. EMA1 é curto e EMA2 é longo.
O EMA1 deve ser colocado no EMA2 e, se for, mais.
Determine se o EMA1 está usando o EMA2 e, se assim for, faça uma vaga.
O preço de fechamento é usado como um sinal de entrada para determinar se o preço de fechamento ultrapassou a EMA1.
Mecanismo de saída de stop loss: define um ponto de stop loss fixo ou um stop loss através do canal Donchian.
As funções usadas são:
A estratégia é simples e fácil de entender.
Utilizando a característica de acompanhamento de tendências do sistema linear, é possível acompanhar as tendências de forma eficaz.
Combinando a ruptura do preço de fechamento da linha K como um momento de entrada, pode-se evitar a falsa ruptura.
Uma combinação linear de diferentes parâmetros pode ser aplicada com flexibilidade para adaptar-se a diferentes períodos.
Pode-se configurar um mecanismo de controle de risco para evitar perdas.
Quando o mercado está em uma situação de turbulência, a linha média irá gerar frequentes sinais de forquilha de ouro, que é fácil de parar.
O ponto de parada fixo pode ser muito rígido e não pode ser ajustado às mudanças do mercado.
O sistema de linha média é um pouco atrasado e pode perder sinais de reversão em pontos de mudança de tendência.
A precisão da inclinação da linha de equilíbrio é necessária para filtrar a falsa ruptura.
Selecione os parâmetros com cuidado, pois combinações de parâmetros muito frequentes ou atrasadas podem afetar a eficácia da estratégia.
O cruzamento do eixo zero do indicador MACD pode ser usado para determinar a tendência e filtrar oscilações.
Pode ser adicionado um canal Donchian para definir uma linha de stop dinâmico, melhorando o problema de stop fixo.
Os indicadores de Binance podem ser usados para avaliar tendências fortes e fracas, evitando que as negociações sejam inadequadas em mercados de turbulência.
Otimizar combinações de parâmetros de linha média e testar o efeito real de diferentes estratégias de ciclo.
Pode-se considerar a inclusão de uma média móvel fixa para evitar atrasos.
A estratégia geral é simples e clara, usando a estratégia de negociação de forcas de ouro e forcas mortas e rotineiras, e combinando a ruptura da linha K para entrar em campo, pode filtrar efetivamente os falsos sinais. O espaço de otimização está no uso de outros indicadores para determinar a força e a fraqueza da tendência, definir o stop loss dinâmico, etc. No geral, a estratégia clássica de acompanhamento de tendências baseada na linha uniforme é fácil de entender e vale a pena explorar seu espaço de otimização.
/*backtest
start: 2023-09-01 00:00:00
end: 2023-10-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title='Mega crypto bot strategy', shorttitle='megacryptobot_Strategy', overlay=true, pyramiding=0, initial_capital=10000, currency=currency.USD)
//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance Channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")
//-----------------Support and Resistance
RST = input(title='Support / Resistance length:', defval=10)
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)
//--------------------Trend colour ema------------------------------------------------//
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0 ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)
//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0 ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)
//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")
//============ signal Generator ==================================//
period = input('720')
ch1 = request.security(syminfo.tickerid, period, open)
ch2 = request.security(syminfo.tickerid, period, close)
longCondition = crossover(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (longCondition)
strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, period, close),request.security(syminfo.tickerid, period, open))
if (shortCondition)
strategy.entry("SELL", strategy.short)
///////////////////////////////////////////////////////////////////////////////////////////