Discussão do artigo "Comunicando-se com o MetaTrader 5 utilizando pipes nomeados sem DLLs" - página 5

 
Olá, não consigo encontrar o arquivo MQL5
 
vanvolxem:
Olá, não consigo encontrar o arquivo MQL5
O que você quer dizer com isso? O arquivo mql5 está anexado abaixo do artigo.
 
Eu testaria o aplicativo pipeclient.mq5, mas o carregamento do link não está correto,

Eu disse que não sou computador.

Eu gostaria de criar um banco de dados para análise fora do MT5 porque meu sistema de negociação é baseado em correlação.
Practical Application Of Databases For Markets Analysis
Practical Application Of Databases For Markets Analysis
  • 2010.05.18
  • Alexander
  • www.mql5.com
Working with data has become the main task for modern software - both for standalone and network applications. To solve this problem a specialized software were created. These are Database Management Systems (DBMS), that can structure, systematize and organize data for their computer storage and processing. As for trading, the most of analysts don't use databases in their work. But there are tasks, where such a solution would have to be handy. This article provides an example of indicators, that can save and load data from databases both with client-server and file-server architectures.
 
vanvolxem:
Eu testaria o aplicativo pipeclient.mq5, mas o carregamento do link não está correto,

Eu disse que não sou computador.

Eu gostaria de criar um banco de dados para análise fora do MT5 porque meu sistema de negociação é baseado em correlação.

Ok, estou vendo. Informado ao Service Desk.

Você pode baixar esse arquivo diretamente da plataforma MT5. Basta usar a ferramenta de pesquisa com a palavra-chave pipeclient.

 
angevoyageur:

Ok, estou vendo. Informado ao Service Desk.

Você pode fazer o download desse arquivo diretamente de sua plataforma MT5. Basta usar a ferramenta de pesquisa com a palavra-chave pipeclient.

Obrigado, está funcionando
 
vanvolxem:
Eu testaria o aplicativo pipeclient.mq5, mas o carregamento do link não está correto,

Eu disse que não sou computador.

Eu gostaria de criar um banco de dados para análise fora do MT5 porque meu sistema de negociação é baseado em correlação.
Tente aqui: pipeclient.mq5
 
Por favor, me ajudem, como fazer para que o servidor aceite dados do tipo double?
 

Ainda não entendi onde a função __countof está descrita

O Code::Block a utiliza.

Também não a encontrei na documentação do C++.


Ela não compila.

Eu a substituí por sizeof. Ela foi compilada.


Também tive que conectar três bibliotecas e #define UNICODE

 

Tenho uma pergunta como esta:

O artigo afirma:

Conecte-se ao servidor verificando duas vezes: no computador remoto chamado 'RemoteServerName' ou no computador local. No computador local, tudo funciona e não há dúvidas.

void OnStart()
  {
//--- esperar pelo servidor de pipe
   while(!IsStopped())
     {
      if(ExtPipe.Open("\\\\RemoteServerName\\pipe\\MQL5.Pipe.Server",FILE_READ|FILE_WRITE|FILE_BIN)!=INVALID_HANDLE) break;
      if(ExtPipe.Open("\\\\.\\pipe\\MQL5.Pipe.Server",FILE_READ|FILE_WRITE|FILE_BIN)!=INVALID_HANDLE) break;
      Sleep(250);
     } 

Mas se você executar o PipeServer.exe em um VPS remoto e, em seguida, lançar o script do cliente para o gráfico em outro PC, tendo alterado o RemoteServerName para o nome pertencente ao VPS, o servidor e o cliente não se veem, ou seja, o canal não funciona, não há conexão.

Qual é o problema aqui? O nome de um VPS específico deve ser escrito inicialmente no PipeServer.exe ou o quê?

 
Igor Semyonov:

Tenho uma pergunta como esta:

O artigo afirma:

Conecte-se ao servidor verificando duas vezes: no computador remoto chamado 'RemoteServerName' ou no computador local. No computador local, tudo funciona e não há dúvidas.

Mas se você executar o PipeServer.exe em um VPS remoto e, em seguida, lançar o script do cliente para o gráfico em outro PC, tendo alterado o RemoteServerName para o nome pertencente ao VPS, o servidor e o cliente não se veem, ou seja, o canal não funciona, não há conexão.

Qual é o problema aqui? O nome de um VPS específico deve ser escrito inicialmente no PipeServer.exe ou o quê?

Posso estar errado.

O PipeServer.exe é uma tecnologia antiga e tem problemas de segurança.
Atualmente, as portas são fechadas por padrão no sistema operacional, você precisa permiti-las explicitamente.
Além disso, essas portas podem ser cobertas pelos ISPs; nesse caso, você terá que falar com a equipe de suporte.

Se você conseguir configurar o pipelining para acesso remoto, descreva a receita aqui.
E como dica, dê uma olhada na função WebRequest, ela pode substituir o pipelining.