Neo traderBot

Neo traderBot

Você sabia?

Confira os nossos eBooks, Snippets e Fóruns produzidos para cada plataforma!

leaf leftleaf right
Notifications
Clear all

[Solucionado] Identificar o numero do Candle

6 Posts
3 Usuários
3 Reactions
302 Visualizações
(@alexandrecnunes)
Membro eminente
Registrou: 2 anos atrás
Posts: 16
Iniciador do tópico  

Como poderia fazer para identificar o numero do candle no dia atual no gráfico de 1 min?

A função CurrentBar retorna um numero grande, acredito que esteja informando a posição de dias anteriores. Eu gostaria de saber a posição do candle contando a paartir das 9hs do dia atual.


   
Citar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

Olá @alexandrecnunes!

Finalmente uma pergunta que eu posso responder....kkkk...Já estava perdendo a esperança em conseguir te dar uma resposta animadora...kkk. Brincadeiras a parte, mas é que geralmente suas perguntas esbarram em restrições do Profit.

Com o código abaixo é possível fazer o que quer!

 

Abs!

 

var
  bPrimeiraBarraDoDia : boolean;
  iDataAtual          : integer;
  iCurrentBarIntraday, iFirstBarOfDay : integer;
begin
  if (Date() <> iDataAtual) then
    begin
      iDataAtual := Date();
      bPrimeiraBarraDoDia := true;
      iFirstBarOfDay := CurrentBar;
    end;
  if bPrimeiraBarraDoDia then
    begin
      bPrimeiraBarraDoDia := false;
      //Faz alguma coisa na primeira barra do dia
      paintBar(clGreen);
    end;

    iCurrentBarIntraday := CurrentBar - iFirstBarOfDay + 1;
    plotText(iCurrentBarIntraday, clWhite,0, 12);

end;

   
ReplyCitar
(@alexandrecnunes)
Membro eminente
Registrou: 2 anos atrás
Posts: 16
Iniciador do tópico  

Obrigado Johnathas

Realmente a linguagem utilizada no Profit é muito restrita. Estou acostumado com o Python e C, me dá uma agonia tentar fazer as coisas com o NTSL. E nem tudo do Pascal também funciona aqui.

Mas vamos lá, 

Estou tentando fazer um detector de topos e fundos baseado no indicador HiLo activator já que este indicador é a base de uma estrategia de execução que estou projetando. Mas o Profit realmente é restrito neste quesito.

Estou aguardando seus vídeos sobre o Ninja Trader e tentarei comparar com o Meta Trader, um deles deve ser melhor para programação.

Abraço


   
Johnathas reacted
ReplyCitar
(@alexandre-ferreira-cardoso)
Membro eminente
Registrou: 2 anos atrás
Posts: 17
 

@admin Quando começa um novo dia, o ultimo candle do dia anterior vira 1 e fica verde também. No backTeste da certo, mas na hora que está rodando acontece isso. Veja a tela.


   
ReplyCitar
(@alexandre-ferreira-cardoso)
Membro eminente
Registrou: 2 anos atrás
Posts: 17
 

Não foi o arquivo. Segue agora


   
ReplyCitar
(@admin)
Membro Admin
Registrou: 2 anos atrás
Posts: 216
 

Boa noite @alexandre-ferreira-cardoso!

Pois é...é nessas situações que a gente descobre como são processados os códigos fonte no Módulo de Automação.

Perceba que o Módulo de Automação, na primeira barra do Candle reprocessa o código considerando a última barra do dia anterior. E fomos capazes de descobrir isso ao ver que ele colocou a numeração 1 no candle imediatamente anterior.

A princípio, apesar de inconveniente, eu não percebia aqui prejuízo ao código. Por exemplo, coloquei para fazer uma compra no primeiro candle do dia utilizando o contador e não apontou erro como se estivesse fazendo no último candle do dia anterior.

Sugiro você verificar se esta particularidade do Módulo de Automação prejudica a execução da sua estratégia de alguma forma. Seria interessante perguntar a Nelogica porque é realizado esse novo processamento na primeira barra do dia para conhecimento, uma vez que não identifiquei uma explicação para isso na Documentação.

 

Abs!


   
ReplyCitar