Esta estratégia usa o indicador EMA para determinar a direção da tendência e, em combinação com a retracção de Fibonacci, determina automaticamente o ponto de reversão, alcançando um preço baixo e alto, capturando a tendência de queda. A estratégia é usada com frequência e é adequada para a negociação de linhas curtas.
O EMA de 9 dias e o EMA de 21 dias são usados para determinar a direção da tendência. O EMA de 21 dias e o EMA de 55 dias são considerados sinais de início de tendência descendente.
O indicador de retração de Fibonacci adaptado, com duração de 100 ciclos, determina automaticamente a proporção de retração crítica com base na amplitude da recente oscilação de preços.
Quando o preço ultrapassa a retracção de Fibonacci de 0,236, é considerado um sinal de inversão e a posição de equilíbrio é mantida.
Quando a 9a EMA atravessa a 21a EMA e o preço está abaixo do ponto mais alto de Fibonacci, faça a entrada em branco.
A condição de saida de ganhos múltiplos é a quebra da EMA de 200 dias. A condição de saida de perdas aéreas é a quebra da retracção de Fibonacci de 0,236.
O EMA é usado para determinar a direção da tendência e os sinais de operação são simples e claros.
Adaptação à retirada de Fibonacci sem necessidade de definição de parâmetros manualmente
Operação de estratégia frequente, captura de mudanças de linha curta, implementação de estratégias de alta frequência
Utilização de pontos de retração críticos para determinar a reversão e a parada de prejuízos
Parâmetros configuráveis, estratégias de otimização para adaptar-se a diferentes ciclos
Indicadores da EMA estão atrasados e precisam de ser confirmados em combinação com outros indicadores
Adaptação de Fibonacci pode ser otimização excessiva, ponto de retirada instável
Transações de alta frequência aumentam custos de transação e custos de deslizamento
Não é possível filtrar a tendência de oscilação, há muitos sinais errados
Gestão da retirada e controle da margem de lucro precisam ser melhorados
Aumentar os indicadores de energia e evitar erros de sinalização causados por desvios de preço
Optimizar os parâmetros do ciclo EMA para que estejam mais em sintonia com o atual cenário de mercado
Configurar o stop loss dinâmico para melhor controlar o risco
Indicadores de tendência forte combinados com indicadores de tendência fraca para evitar a repetição de transações em períodos de turbulência
Considerando o impacto dos custos reais de transação, estabeleça um limite mínimo de queda
Esta estratégia usa EMA para determinar a direção da tendência e utiliza a retracção de Fibonacci para determinar o ponto de reversão, adaptando-se automaticamente a diferentes mudanças no mercado. No entanto, a estratégia depende mais de indicações de indicadores, falta de segmentação de tendência e lógica de julgamento de ondas, com maior espaço para otimização. No geral, como uma estratégia de negociação de linha curta de alta frequência, pode capturar mudanças de preços mais rápidas, mas exige que os comerciantes assumam o risco de perdas frequentes e evitem problemas de negociação excessiva.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 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/
// © CheatCode1
//@version=5
strategy("CC-Trend strategy 2", overlay=true, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.01, default_qty_type = strategy.percent_of_equity, default_qty_value = 100 )
ema9 = ta.ema(close, 9)
ema21 = ta.ema(close, 21)
ema55 = ta.ema(close, 55)
ema200 = ta.ema(close, 200)
plot(ema200, '22', color.blue, 2)
FibL = input.int(100, 'Fibonacci Length', 1, 500, group = 'Automatic Fibonacci Retracement')
len1 = input.int(1, 'Show Last', 0, 1000, group = 'Automatic Fibonacci Retracement')
len2 = input.int(5, 'Offset Length', 0, 1000, group = 'Automatic Fibonacci Retracement')
highF = ta.highest(ema55 >= ema9 ? ema55:ema9, FibL)
lowF = ta.lowest(ema55 >= ema9 ? ema9:ema55, FibL)
AvgFib = highF - lowF
//Fibonacci Executions
LL2 = highF + .618 * AvgFib
LL1 = highF + .272 * AvgFib
L1 = highF
L236 = highF - 0.236 * AvgFib
L382 = highF - 0.382 * AvgFib
Mid = highF - 0.50 * AvgFib
S382 = lowF + 0.382 * AvgFib
S236 = lowF + 0.236 * AvgFib
S1 = lowF
SS1 = lowF - .272 * AvgFib
SS2 = lowF - .618 * AvgFib
//Fibonacci Plot's
high2FP = plot(LL2, 'Highe2', color.red,offset = len2, show_last = len1, trackprice = true)
high1FP = plot(LL1, 'Highe1', color.red,offset = len2, show_last = len1, trackprice = true)
highFP = plot(highF, 'High', color.red,offset = len2, show_last = len1, trackprice = true)
L236P = plot(L236, "0.764", #ED381C, offset = len2, show_last = len1, trackprice = true )
L382P = plot(L382, "0.618", color.white,offset = len2, show_last = len1, trackprice = true )
MidP = plot(Mid, "0.5", color.orange,offset = len2, show_last = len1, trackprice = true )
S382P = plot(S382, "0.382", color.yellow ,offset = len2, show_last = len1, trackprice = true)
S236P = plot(S236, "0.236", color.lime ,offset = len2, show_last = len1, trackprice = true)
lowFP = plot(lowF, 'Low', color.green,offset = len2, show_last = len1, trackprice = true)
low1FP = plot(SS1, 'Lowe1', color.green,offset = len2, show_last = len1, trackprice = true)
low2FP = plot(SS2, 'Lowe2', color.green,offset = len2, show_last = len1, trackprice = true)
plot(ema9, '22', color.yellow, 2)
plot(ema55, '55', color.aqua, 2)
plot(ema200, '200', color.maroon, 2)
shortCondition = close[1] < highF and ema21 < ema55
if (shortCondition)
strategy.entry("Short", strategy.short)
shorttp = ta.crossover(close, ema200) and strategy.openprofit >= 0
if (shorttp)
strategy.close('Short', 'Short TP', qty_percent = 100)
shortclose2 = close[1] > L236 and not (shortCondition)
if(shortclose2)
strategy.close('Short', 'Short RM', qty_percent = 100)