Confira os nossos eBooks, Snippets e Fóruns produzidos para cada plataforma!
Identificar como plotar os níveis de retração de Fibonacci no gráfico de 15 min do mini índice e posicionar uma entrada no 38% desta retração.
Desde já te agradeço.
Boa noite Mauricio! Você poderia dar mais detalhes. Quando estava implementando fiquei na dúvida em alguns itens:
1) Se a última pernada for de alta, você quer deixar uma compra stop na retração de 38%?
2) Se a última pernada for de baixa, seria uma venda stop na retração de 38%?
Bom dia,
Sim, tanto na compra quanto na venda, além disso, caso a entrada não seja acionada e o preço ultrapassar a máxima definida, a entrada deve ser cancelada.
Também imaginei a colocação de limites mínimos para considerar a retração.
Ex.: Caso a diferença entre mínimo e máxima seja menor que 400 pts, não montar posição. Tentando evitar assim muitas entradas no dia.
PS.: Parabéns pelo vídeo de ontem "Diferenças na execução de ordens", excelente para quem pretende programar de verdade.
Oi Maurício!
Obrigado, cara! Que bom que gostou do vídeo!
Olha, resolvi postar aqui embaixo uma primeira versão que plota apenas as retrações de fibonacci. Sugiro você fazer o seguinte: salve a estratégia e adicione a um gráfico junto com o indicador de identificação de topo e fundo com parâmetro de 2 candles.
Veja se as entradas que está propondo fazem sentido no tempo gráfico que deseja, tendo em vista as retrações.
const cRetracaoFibo1 = 0.618; cRetracaoFibo2 = 0.5; cRetracaoFibo3 = 0.3; input pQtdeCandlesReversao(2); var fTopoFundo1,fTopoFundo2 : float; fTBD : float; iProxRegistroTopoFundo : integer; begin // Detecta Topo e Fundos e armazena nas duas variaveis // fTopoFundo1 e fTopoFundo2 fTBD := TopBottomDetector(pQtdeCandlesReversao); if fTBD <> 0 then begin if iProxRegistroTopoFundo = 0 then begin fTopoFundo1 := fTBD; iProxRegistroTopoFundo := 1; end else if iProxRegistroTopoFundo = 1 then begin fTopoFundo2 := fTBD; iProxRegistroTopoFundo := 0; end; end; if (fTopoFundo1 <> 0) and (fTopoFundo2 <> 0) then begin if iProxRegistroTopoFundo = 0 then begin // Último valor registrado é um topo if fTopoFundo2 > fTopoFundo1 then begin PlotN(5,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo1); PlotN(4,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo2); PlotN(3,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo3); end else // Último valor registrado é um fundo begin PlotN(3,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo1); PlotN(4,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo2); PlotN(5,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo3); end; end else begin // Último valor registrado é um topo if fTopoFundo1 > fTopoFundo2 then begin PlotN(5,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo1); PlotN(4,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo2); PlotN(3,fTopoFundo1 - (fTopoFundo1 - fTopoFundo2) * cRetracaoFibo3); end else // Último valor registrado é um fundo begin PlotN(3,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo1); PlotN(4,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo2); PlotN(5,fTopoFundo1 + (fTopoFundo2 - fTopoFundo1) * cRetracaoFibo3); end; end; end; SetPlotColor(3,clGreen); SetPlotColor(4,clYellow); SetPlotColor(5,clRed); end