PostMessageA(Parent(), WM_COMMAND, 33042, 0); - página 7

 
xrust >>:

так и пользуйте Close[0] на здоровье, вот подобный индюк - прекрасно работает как втестере, так и в онлайне

Os preços estão quase resolvidos, mas o que você quer fazer com a TimeCurrent()? Preciso de precisão em um minuto, e não a tenho. E todas as funções do tempo não funcionam de forma alguma.

A propósito, vejo que você usa os preços Bid Ask em seu código - eles não funcionam no testador (ou melhor, os preços atuais funcionam)... Não está claro como você trabalha com eles.

 

tudo funciona bem, o tempo no testador emula perfeitamente...

 
xrust >>:

все прекрасно пашет, время в тестере эмулируется отлично...

Será que esse código do exemplo também funciona?

Sim, foi-me dito aqui que também não deveria funcionar no indicador.

https://www.mql5.com/ru/forum/111497/page539

 

Bem, alimente-o através de uma variável global. Se o indicador for chamado de um Expert Advisor, ele pode ser simulado. Se você simplesmente pendurar o indicador, então ele pode ser através de uma variável global.

 
xrust >>:

Ну так скорми ему его через глобальную переменную, если индикатор вызывать из эксперта - то моделируется. если просто вешать индюк, тогда можно через глобалку

E depois há um problema de sincronização dentro do tick - nem sempre é possível garantir que o indicador leia os dados mais tarde do que a EA os escreve - geralmente a EA é apenas mais lenta. Portanto, precisamos colocar um atraso no indicador, mas onde consegui-lo - boas pessoas o proibiram. Preciso usar o temporizador API de alguma forma, mas não tenho este código.

 

Eu não entendo quem segue quem ?
então faça todo o processamento em sua EA, e passe valores para o indicador através de variáveis globais que ele exibirá na tela e escreverá para o buffer...
Quem você tem escrito para o arquivo?

 
xrust >>:

Что то я не пойму кто у тебя за кем идет ?
тогда сделай всю обработку в советнике, а индикатору через глобальные переменые передавай значения которые он будет отображать на экране и писать в буфера...
Кто у тебя пишет в файл?

Em eletrônica, isto é chamado de condição racial.

O indicador e o Expert Advisor começam a calcular no mesmo momento com a chegada do tick e contam em paralelo. O Expert Advisor escreve na variável global e o indicador a lê ao mesmo tempo. Como estes processos não estão sincronizados e são paralelos, é impossível saber quem fará a leitura ou a escrita primeiro. A diferença de tempo é uma fração de segundo e depende de muitos fatores. Mas se o indicador for lido primeiro, ele lerá os dados anteriores sobre este tick. A solução nesta situação é usar o atraso no indicador, para que ele não esteja à frente do Expert Advisor ao acessar a variável global.

Não há nenhum arquivo aqui.

Mas basicamente a solução é encontrada - utilizar objetos para traçar linhas e então não há necessidade de índices e sua presença no MT4 se torna absolutamente supérflua. Mas não vamos falar de política :))

A única pena é que não é recomendado em nenhuma parte da documentação, pois resolve todos os problemas de transferência de código de um indicador e testes.

 
Então você não consegue obter um fluxo sólido de carrapatos?
 
Alderon >>:
То есть, сплошного тикового потока не получить?

A única maneira de fazer isso em um indicador é através da troca de tempo com uma variável global. Mas é melhor não se preocupar em nada com índices e fazer tudo no Expert Advisor através de objetos gráficos. Será mais rápido e fácil. A documentação às vezes diz que os índices são convenientes para a análise, mas na prática não o são.

Aqui está um ótimo artigo sobre o assunto https://www.mql5.com/ru/articles/1503/page2

 
Zhunko >>:

Что угодно можно сделать трендовыми линиями.

E como o Expert Advisor traça linhas de tendência em uma subjanela? - O Expert Advisor não pode abrir subjanelas por si só.

É necessário prender um indicador vazio para pendurar para o lado?