Emulação de carrapatos de um EA/indicador - página 4

 
Zhunko:

Apenas um caso, por exemplo?

Basta levar meu ChartBuilder na base de código. Ele pode usar um grande número de instrumentos comerciais. E se para o instrumento, no qual está pendurado, não forem recebidos novos carrapatos por algum tempo, o valor mostrado já é irrelevante (desatualizado).

Quanto à combinação Expert Advisor+indicador, se você pretende transferir o código para o Expert Advisor para reduzir a carga no fio principal, parece mais razoável portar o código para uma DLL e importá-lo para o indicador. Se você pensar em portar o código, ele deve estar em um ambiente normal.

 
Meat: Eu descobri qual era o problema: a matriz tem que ser declarada em nível global, não em nível local.

sem ticks.... ((((

log:

18:33:34 teste EURUSD,H1: carregado com sucesso
18:33:36 teste EURUSD,H1: inicializado

botão direito do mouse "refrescar gráfico". o comentário foi tique: 1, tornou-se tique: 2

sem erros no registro

SZS: cortar a interconexão verificando "habilitar servidor proxy", reiniciar o terminal - sem conexão, mas quando eu marquei a caixa de verificação. SZY: desligue o intercomunicador marcando "enable proxy server" , reiniciou o terminal - sem conexão, mas quando você removeu a caixa de seleção sobre o servidor proxy, como "começou" ..... ;)

 
Como uma idéia - um Exe separado, encontra a janela MT - percorre as janelas dentro dela
e começa a enviá-los emulação de carrapatos a um intervalo definido.
 
jartmailru:
Como uma idéia - um Exe separado, encontra a janela MT - rola dentro dela janelas
e com uma determinada periodicidade começa a enviar-lhes carrapatos de emulação.
Eu tenho um igual. Somente em DLL. Mas Alexey o quer sem DLLs e EXEs de terceiros.
Carne:

1. Veja meu ChartBuilder na base de código, por exemplo. Ele pode usar um grande número de instrumentos comerciais. E se para o instrumento, no qual ele está pendurado, nenhum novo tiquetaque vier por algum tempo, então o valor exibido já é irrelevante (ultrapassado).

2. Quanto ao Expert Advisor+indicador, se você pretende transferir o código para o Expert Advisor para reduzir a carga no fio principal, seria mais razoável mover o código para uma DLL e importá-lo para o indicador. Se você quiser se preocupar com a portabilidade, é melhor pelo menos fazê-lo em um bom ambiente.

1. Vou repeti-lo mais uma vez. Se você quiser reagir à ferramenta fora da janela atual, você deve usar o tempo do servidor. O WinAPI não é necessário para isso. A MQL4 tem essa função.

2. Não importa qual ligação é utilizada. Esta é a mesma solução. Um Expert Advisor em loop responde ao tempo alterado do servidor. Isto é suficiente para resolver todos os problemas que você está tentando resolver.

Você só precisa emular carrapatos para iniciar o Expert Advisor no fim de semana. Não é necessário para mais nada. Eu mostrei como atualizar o indicador. Apenas uma linha.

=====================

A última versão do indicador não funciona no Windows 7.


 
IgorM:

sem ticks.... ((((

...............

SZS: corte a interconexão marcando a caixa "permitir servidor proxy". Mas quando eu desmarquei a caixa de verificação do proxy, ela apenas "clicou" ..... ;)

Igor, esta maneira de se desconectar da Internet não é boa. Há muitas coisas que não funcionam neste modo. Não é necessário desativar o acesso à Internet.

Por exemplo, este código para o Expert Advisor:

#include <WinUser32.mqh


void init()
 {
  int hwndChart = WindowHandle(Symbol(), 0);
  int nNewMessageWindow = RegisterWindowMessageA("MetaTrader4_Internal_Message");
  for (int i = 0; i < 200; i++) PostMessageA(hwndChart, nNewMessageWindow, 2, 1);
 }

void start()
 {
  int nCounter = 0;
  while (!IsStopped())
   {
    nCounter++;
    Comment(nCounter);
    Sleep(500);
   }
 }

funciona nos fins de semana e quando não há carrapatos, mas não funciona quando desconectado da Internet. Há ali alguma peculiaridade obscura.

Talvez, eles a tenham otimizado nas últimas construções. Costumava funcionar antes.

É melhor escolher uma ferramenta que raramente é atualizada.

 
Zhunko:
Eu tenho um desses feitos. Somente em DLL. Mas Alexey o quer sem DLL e EXE de terceiros.

1. Mais uma vez. Para reagir a uma ferramenta que não vem da janela atual, você precisa usar o tempo do servidor. O WinAPI não é necessário para isso. A MQL4 tem essa função.

2. Não importa o que é a ligação. Esta é a mesma solução. Um Expert Advisor em loop responde ao tempo alterado do servidor. Isto é suficiente para resolver todos os problemas que você está tentando resolver.

Você só precisa emular carrapatos para iniciar o Expert Advisor no fim de semana. Não é necessário para mais nada. Eu mostrei como atualizar o indicador. Apenas uma linha.

=====================

A última versão do indicador não funciona no Windows 7.


Eu não entendo o que você está tentando provar, que vários arquivos em execução são mais legais que um... É claro que eu posso executar um Expert Advisor em loop, mas eu não vejo a utilidade de fazer esta confusão a partir de dois arquivos de trabalho, quando eu posso fazer a mesma coisa no próprio indicador ou em uma dll conectada. É claro, entendo que você prefere ter vários programas diferentes em execução, e cada programa desempenha sua função especializada: um limpa logs, outro envia tiques, etc. Mas sua abordagem não é a única correta.

A emulação de carrapatos só é necessária para iniciar o Expert Advisor no fim de semana

Repito, você está errado. A necessidade de carrapatos não depende do dia da semana. Já expliquei o porquê. Se você não negocia você mesmo, mas acredite, tenho negociado futuros nos últimos anos, você tem que atualizar os carrapatos com bastante freqüência.

 

Há uma suposição de que o código não funciona onde 64 bits está instalado. Eu só tenho 32, então não posso verificar. Tente inserir quatro bytes nulos depois de PostMsgAddr lá (não esquecendo de aumentar o tamanho da matriz). Talvez funcione... Apesar de suponho que você também deve fazer os outros dois parâmetros 64 bits. ou não?... De qualquer forma, eu ainda não trabalhei em um ambiente de 64 bits, portanto, não sei.

 
Meat:


1. Eu não entendo, o que você está tentando provar para mim? Que vários arquivos em execução são mais frios que um? É claro que posso iniciar um Expert Advisor em loop, mas não faz sentido criar tal confusão que consiste em dois arquivos de trabalho, quando eu posso fazer as mesmas coisas no próprio indicador ou em uma dll vinculada. Naturalmente, entendo que você prefere ter vários programas diferentes em execução, e cada um deles está desempenhando sua função especializada: um limpa logs, o outro envia carrapatos, etc. Mas apenas a sua abordagem não é a única correta.

2. Mais uma vez, você está errado. A necessidade de carrapatos não depende do dia da semana. Já expliquei o porquê. A menos que você mesmo seja um comerciante, mas acredite em mim, tenho negociado futuros nos últimos anos, muitas vezes é necessário atualizar os carrapatos lá.

1. agora eu não entendo... Onde eu disse o que é mais legal? Já reiterei muitas vezes que a emulação de carrapatos não é necessária para o comércio. Só é necessário para a depuração de fim de semana quando não há carrapatos.

2. Como você negocia a partir de um indicador? A MQL4 não a fornece. Você precisa de um Expert Advisor ou de um roteiro. O Expert Advisor faz loops e compara o tempo do servidor com o anterior. Se houver um descasamento, você reage da maneira prescrita pelo TS. Isso é tudo! Não há necessidade de qualquer emulação. O que você está provando? Já o escrevi em várias versões em vários posts. Você tem que dirigir um Expert Advisor no fim de semana para depurá-lo. Eu escrevi o código acima.

 
Zhunko:

1. agora eu não entendo... Onde eu disse o que é mais legal? Já reiterei muitas vezes que a emulação de carrapatos não é necessária para o comércio. Só é necessário para a depuração de fim de semana quando não há carrapatos.

2. Como você negocia a partir de um indicador? A MQL4 não a fornece. Você precisa de um Expert Advisor ou de um roteiro. O Expert Advisor faz loops e compara o tempo do servidor com o anterior. Se houver um descasamento, você reage da maneira prescrita pelo TS. Isso é tudo! Não há necessidade de qualquer emulação. O que você está provando? Já o escrevi em várias versões em vários posts. Você tem que dirigir um Expert Advisor no fim de semana para depurá-lo. Eu escrevi o código acima.

Mas aqueles que comercializam provavelmente sabem melhor, não acha?

Não quero negociar a partir de um indicador, e não preciso de uma coisa adicional na forma de um Expert Advisor looped quando o indicador de ticking for suficiente.

 
Meat:

Então eu digo: se você não tem nenhuma troca, então você pessoalmente não precisa desta emulação. Mas aqueles que fazem trocas provavelmente sabem melhor, você não acha?

Não quero negociar a partir de um indicador, e não preciso de uma coisa adicional na forma de um Expert Advisor looped se o indicador de ticking for suficiente.

Como você negocia usando um indicador de ticking? A MQL4 não prevê isso.

Realmente! Por que preciso de um conjunto adicional do indicador de ticking que não pode ser comercializado, se eu posso fazer tudo em um Expert Advisor looped? Não haverá necessidade no WinAPI, a interface MT4 não se tornará lenta, o Expert Advisor operará 3 vezes mais rápido. Por que complicar tanto as coisas?