Confira os nossos eBooks, Snippets e Fóruns produzidos para cada plataforma!
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.
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;
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
@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.
Não foi o arquivo. Segue agora
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!