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.
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.
voidOnStart()
{
//--- esperar pelo servidor de pipewhile(!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ê?
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.
Novo artigo Comunique-se com o MetaTrader 5: Utilização de canais nomeados sem a ajuda de DLL foi publicado:
Auteur: MetaQuotes
Olá, não consigo encontrar o arquivo MQL5
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.
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.
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.
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ê?
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ê?
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.