
Esta estratégia permite a negociação quantitativa sem apenas fazer mais e não fazer menos, através da construção de uma média K-line e uma média móvel baseada em números de Fibonacci, em combinação com várias regras de indicadores técnicos de preços. Os testes iniciais mostraram que a estratégia funciona melhor em gráficos de grande ciclo.
A estratégia é implementada através das seguintes etapas:
De acordo com a sequência de Fibonacci, calcule o preço médio de fechamento, o preço máximo, o preço mínimo e o preço de abertura dos últimos 10 ciclos de Fibonacci, construindo uma linha K média.
Para o preço de fechamento médio, calcule a média móvel do índice (EMA) para os períodos 1, 2, 3, 5, 8, 13, 21, 34 e 55 e calcule a média dessas nove EMAs para obter a média EMA.
Configure a posição para fazer mais paz: quando a forma de linha K média mostra um sinal de múltiplas pontas ((corrida do sol, solstício de inverno, solstício de inverno, etc.) e o preço de fechamento é superior ao EMA médio; quando a forma de linha K média mostra um sinal de cabeça vazia ((corrida do inverno, solstício de inverno, etc.) e o preço de fechamento é inferior ao EMA médio e a posição está vazia.
Computação de média K-line filtro de flutuação de preços, em combinação com o indicador de linha de equilíbrio para emitir sinais de negociação, pode ser eficaz para identificar a tendência e controlar o risco de negociação.
A linha média K, baseada na matriz de Fibonacci, pode filtrar efetivamente os movimentos aleatórios de preços e identificar os sinais de tendência.
Múltiplos EMAs construem EMAs médias, aumentando a estabilidade dos pontos de resistência de suporte e a qualidade do sinal.
O simples fato de não estar em aberto pode reduzir o número de transações, reduzir os custos de transação e os efeitos do ponto de deslizamento.
Ele funciona melhor em grandes ciclos e é adequado para operações de linhas médias e longas.
A estratégia de apenas fazer mais pode sofrer grandes perdas no mercado de ativos.
A linha média da EMA é propensa a atraso e pode perder o melhor momento de entrada.
A maior parte das operações de grande ciclo pode perder oportunidades de curto e médio prazo.
O espaço de otimização de parâmetros é limitado, e o desempenho do disco rígido pode ser mais fraco do que o resultado do teste de otimização de parâmetros.
Pode-se testar adicionar estratégias de stop loss apropriadas, para parar a perda quando a perda se expande.
Pode ser combinado com indicadores de volatilidade como o ATR, para ajustar dinamicamente o tamanho da posição.
Pode-se testar a intervenção apropriada de um shorting em uma tendência de queda para aumentar o lucro da estratégia.
Pode-se otimizar os parâmetros do ciclo do EMA para encontrar a melhor combinação de parâmetros.
Esta estratégia permite a quantificação de negociações através da construção de K-linhas médias de Fibonacci e indicadores de linha de equilíbrio, identificando sinais de tendência. A estratégia tem a vantagem de calcular o preço de oscilação da K-linha média e reduzir os custos de negociação com apenas mais operações.
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © SoftKill21
//@version=4
strategy("Fibonacci candle", overlay=false )
//plot of our fibonacci candle
// Fibonacci
// Fn = Fn-1 + Fn-2
// F10 = 55
// 0 1 2 3 5 8 13 21 34 55
avg_close = (close[0] + close[1] + close[2] + close[3] +close[5] + close[8] + close[13]+ close[21] + close[34] + close[55]) / 10
avg_high = (high[0] + high[1] + high[2] + high[3] +high[5] + high[8] + high[13]+ high[21] + high[34] + high[55]) / 10
avg_low = (low[0] + low[1] + low[2] + low[3] +low[5] + low[8] + low[13]+ low[21] + low[34] + low[55]) / 10
avg_open = (open[0] + open[1] + open[2] + open[3] +open[5] + open[8] + open[13]+ open[21] + open[34] + open[55]) / 10
src = avg_close//input(avg_close, title="Source")
out55 = ema(src, 55)
out1 = ema(src, 1)
out2 = ema(src, 2)
out3 = ema(src, 3)
out5 = ema(src, 5)
out8 = ema(src, 8)
out13 = ema(src, 13)
out21 = ema(src, 21)
out34 = ema(src, 34)
avg_ema = (out55 + out1 + out2 + out3+ out5 + out8 + out13 + out21 + out34)/9
plot(avg_ema)
plotcandle(avg_open, avg_high, avg_low, avg_close, title='Title', color = avg_open < avg_close ? color.green : color.red, wickcolor=color.white)
long = avg_open < avg_close and avg_close > avg_close[1] and avg_high > avg_high[1] and avg_close[1] > avg_close[2] and avg_high[1] > avg_high[2]
short = avg_open > avg_close and avg_close < avg_close[1] and avg_low < avg_low[1] and avg_close[1] < avg_close[2] and avg_low[1] < avg_low[2]
strategy.entry("long",1,when=long and avg_close > avg_ema)
strategy.close('long',when=short and avg_close < avg_ema)