Neo traderBot

Neo traderBot

Você sabia?

Um backtesting adequado deve buscar simular situações práticas do mercado (slippage, custo de operação, etc...)

Códigos de exemplo? Tome Snippets!

Manipulação de Gráficos

Leitura estimada: 3 minutos 1461 views

Introdução

Esta seção visa apresentar trechos de códigos com funcionalidades relativas à manipulação de gráficos e coloração.

Você pode acessar os Snippets diretamente pelo menu lateral direito, ou fazendo CRL+F (CTRL+L) para localizar algum texto específico na página, uma vez que o conteúdo tende a crescer ao longo do tempo, dificultando a navegação pelo menu.

Caso tenham sugestões de código para acrescentar à lista, gentileza deixar o código nos comentários com o link para seu perfil em rede social (para devido crédito de autoria).

Snippets

Como plotar mais de uma série de dados e Personalizar plot

Este código plota duas séries de valores constantes a fim de demonstrar como personalizar os atributos gráficos dos plots.

OBS: O preenchimento entre séries só pode ser configurado via interface gráfica. Verificar as constantes para tipos de gráficos e estilos de linhas.

				
					const
  cSerieA = 3;
  cSerieB = 2;
begin
  SetPlotColor(1,clGreen);
  SetPlotWidth(1,2);
  SetPlotStyle(1,psDashDot);
  SetPlotType(1,igLine);
  plotN(1,cSerieA);
  
  SetPlotColor(2,clRed);
  SetPlotStyle(2,psDashDot);
  SetPlotType(2,igHistogram);
  plotN(2,cSerieB);
end;
				
			

9 Comments

  • Carlos Cesar

    Janeiro 26, 2023

    Sugiro um código para operacional no setup Fechou Fora / Fechou Dentro.

    Reply
    • Johnathas

      Janeiro 26, 2023

      Boa tarde Carlos! Você pode abrir um tópico no fórum para a Comunidade auxiliar.
      A ideia dos Snippets é abordar trechos de códigos gerais sem relação específica com setup.
      Por exemplo, para identificar se uma série fechou fora ou dentro, você pode comerçar a ideia se apoiando nos snippets de cruzamento.

      Abs!

      Reply
  • Salomão Chaves da Silva Júnior

    Abril 11, 2023

    Gostaria de saber se existe a possibilidade de usar indicadores de tempos gráficos diferentes. Ex. Se macd 3r > 0 e macd 6r >0 e … sinal de compra. Quando eu vi no título mais de uma serie de dados, pensei que se tratava disso. Seria possível?

    Reply
    • Johnathas

      Abril 11, 2023

      Olá Salomão! Atualmente isso não é possível na NTSL pelos indicadores nativos. Mas você pode fazer esse cálculo na mão, operando no tempo gráfico de maior frequencia. Esse tipo de solução dá trabalho para programar e corre o risco de ficar pesado para a plataforma. Tem que testar.
      Abs!

      Reply
      • Salomão

        Abril 12, 2023

        Valeu. Muito obrigado. Vamos aguardar que a nelogica implemente essa possibilidade com todos os indicadores, assim como é permitido com a média móvel.

        Reply
  • Vinicius Muniz

    Agosto 10, 2023

    Gostaria de saber, como faço para retornar o valor de PlotN(2,RESULT) na chamada da função? Já tentei FuncaoExemplo(var)[2] e FuncaoExemplo(var).2 mas não funciona.
    Alguém consegue ajudar?

    Reply
    • Johnathas

      Agosto 10, 2023

      Oi Vinicius! Entendo que você tem um indicador que tem um plot lá dentro na linha 2.
      Você tem uma estratégia que faz uso desse indicador e você quer obter o valor do plot 2. Nessa caso você vai fazer FuncaoExemplo(parametros)|2|.
      Você utiliza esse operador de linha |N|, onde N é a número do plot desejado. Entendeu!?
      Isso há uns meses atrás dava muito problema…A Nelogica sempre faz algum bug voltar com relação a isso em versões beta. As vezes os plots da estratégia mãe com a filha acabam embaralhando…mesmo sendo contextos diferentes.
      Mas ta aí! Testa aí no seu caso! Abs!

      Reply
  • Wellington Costa

    Outubro 16, 2023

    Opa, boa tarde. Eu desenvolvi um robo, porem eu gostaria de saber como faça para ter um certesa se o valor financeiro do backtest é Real.

    Pois com o grafico parado ele me traz um valor de gain, porem teve dis que foi loss.
    Isso acontece por que ele só me traz o resultado depois que a vela termina.
    Então mesmo que no tempo de 15 min, se eu tiver tomado um loss durante a operação e ate vela terminar atingir o meu stop Gain. Nografico parado ele consta como gain. Porem na operação deu Loss.

    Pode me ajudar a resolver isso ?

    Reply
    • Johnathas

      Outubro 18, 2023

      Olá Wellington!
      Simular é algo que parece fácil…mas não é tão simples assim. Existem detalhes a serem observados, como este que você pontuou.
      A Nelogica utiliza uma heurística para resolver os casos onde duas ou mais ordens são executadas na mesma barra. Tem até um video no canal sobre isso. Link: https://www.youtube.com/watch?v=cf-jrUruIH8.
      Você pode rodar uma simulação com o replay de mercado e isso não irá ocorrer. O ponto negativo é que isso aumenta substancialmente o tempo para fazer um backtesting de apenas um dia, e a simulação ainda não é 100% (nunca será).
      Então encare o backtesting, mesmo sendo realizado com todos os cuidados necessários, como um norte (uma estimativa grosseira do possível resultado em conta real).

      Grande abs!

      Reply

Leave a Comment

CONTENTS