Pode dizer-me se é possível copiar o texto da EA para a prancheta, por exemplo, por condição, o texto do allert.
Em caso afirmativo, como fazê-lo?
Não. Trabalhar com a área de transferência é uma função do sistema (Windows API). Na MQL5 não há acesso directo ao WinAPI. E porquê trabalhar com a prancheta? Afinal, está a gerar a mensagem você mesmo - significa que tem o texto de origem da mensagem.
Karputov Vladimir: Não. Trabalhar com a área de transferência é uma função do sistema (Windows API). Na MQL5 não há acesso directo ao WinAPI. E porque deve trabalhar com a prancheta? Afinal de contas, é você que está a gerar a mensagem - por isso tem o texto fonte da mensagem.
Sim, o código fonte está lá, mas eu preciso dele, por uma certa condição, na prancheta.
Desculpe, não especifiquei, preciso da implementação na MQL4.
É possível abrir a área de transferência de alguma forma usando #importar "user32.dll"?
Sim, o código fonte está lá, mas eu preciso dele, por uma certa condição, na prancheta.
Desculpe, não especifiquei, preciso da implementação na MQL4.
Talvez possa abrir a área de transferência de alguma forma usando #importar "user32.dll"?
É tempo de escrever em MQL5. Usar dll é o topo da imprudência.
Pelo que entendi, pretende ler a informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. Já a partir deste directório é possível ler o ficheiro com um programa de terceiros.
É mais que tempo de escrever em MQL5. Utilizar um dll é o cúmulo da loucura.
Pelo que entendi, pretende ler informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. A partir desse directório, pode ler o ficheiro com um programa de terceiros.
Obrigado pelas recomendações, mas agora preciso de copiar o texto para a prancheta do programa MQL4.
Anexá-lo ao gráfico e uma captura de ecrã do gráfico no estúdio, bem como as entradas dos separadores "Log" e "Advisors" (se lá aparecerem).
Olá !!!
Reiniciei a plataforma MT5 para iniciantes. Compilou o seu modelo. O resultado da compilação é mostrado abaixo. Tive de deitar fora as capturas de ecrã devido ao grande volume
Tem o ícone EA no gráfico em vez de uma cara sorridente
Aqui está um excerto do registo 2016.05.11 12:44:47.139 Expert Test (GBPUSD,H1) carregado com sucesso
Abaixo está o conteúdo da mensagem sobre o carregamento da EA:
CO 0 10:35:45.020 Terminal Alpari Limited MT5 x64 construção 1325 iniciada HD 0 10:35:45.020 Terminal Windows 8.1 (PC baseado em x64), IE 11.00, UAC, Intel Core i5-2320 @ 3.00GHz, RAM: 2209 / 4078 Mb, HDD: 45023 / 149999 Mb, GMT+03:00 ND 0 10:35:45.020 Terminal C:\Users\Boris\AppData\Roaming\MetaQuotes\Terminal\73D45AFCBD5653CAF29C407A081F030C LI 0 10:35:47.200 Rede '50016841': autorizada em Alpari-Ltd-MT5 via mt5.nl.3 (ping: 57.34 ms) NG 0 10:35:47.200 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.10 23:47:58 FK 0 10:35:47.617 Rede '50016841': terminal sincronizado com Alpari Limited RM 0 10:35:47.617 Rede '50016841': o comércio foi activado - modo de rede OH 0 10:35:48.253 Rede '50016841': rede de digitalização para pontos de acesso CL 0 10:35:51.446 Rede '50016841': rede de digitalização terminada ND 1 12:00:49.011 Rede '50016841': ligação à Alpari-Ltd-MT5 perdida MR 0 12:01:08.842 Rede '50016841': autorizada em Alpari-Ltd-MT5 até mt5.nl.3 (ping: 56.41 ms) HR 0 12:01:08.842 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.11 10:35:52 PQ 0 12:01:08.907 Rede '50016841': terminal sincronizado com Alpari Limited PH 0 12:01:08.907 Rede '50016841': o comércio foi activado - modo de rede KL 0 12:41:45.169 Expert Advisor Test (GBPUSD,H1) carregado com sucesso
Por favor, dêem-lhe uma vista de olhos. Talvez encontre a causa. Estou perplexo, talvez seja um problema com a construção?
Reiniciei a plataforma MT5 para iniciantes. Compilou o seu modelo. O resultado da compilação é mostrado abaixo. Tive de deitar fora as capturas de ecrã devido ao grande volume
Tem o ícone EA no gráfico em vez de uma cara sorridente
Aqui está um excerto do registo 2016.05.11 12:44:47.139 Expert Test (GBPUSD,H1) carregado com sucesso
Abaixo está o conteúdo da mensagem sobre o carregamento da EA:
CO 0 10:35:45.020 Terminal Alpari Limited MT5 x64 construção 1325 iniciada HD 0 10:35:45.020 Terminal Windows 8.1 (PC baseado em x64), IE 11.00, UAC, Intel Core i5-2320 @ 3.00GHz, RAM: 2209 / 4078 Mb, HDD: 45023 / 149999 Mb, GMT+03:00 ND 0 10:35:45.020 Terminal C:\Users\Boris\AppData\Roaming\MetaQuotes\Terminal\73D45AFCBD5653CAF29C407A081F030C LI 0 10:35:47.200 Rede '50016841': autorizada em Alpari-Ltd-MT5 via mt5.nl.3 (ping: 57.34 ms) NG 0 10:35:47.200 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.10 23:47:58 FK 0 10:35:47.617 Rede '50016841': terminal sincronizado com Alpari Limited RM 0 10:35:47.617 Rede '50016841': o comércio foi activado - modo de rede OH 0 10:35:48.253 Rede '50016841': rede de digitalização para pontos de acesso CL 0 10:35:51.446 Rede '50016841': rede de digitalização terminada ND 1 12:00:49.011 Rede '50016841': ligação à Alpari-Ltd-MT5 perdida MR 0 12:01:08.842 Rede '50016841': autorizada em Alpari-Ltd-MT5 até mt5.nl.3 (ping: 56.41 ms) HR 0 12:01:08.842 Rede '50016841': autorização prévia executada com sucesso a partir de 79.172.69.175 em 2016.05.11 10:35:52 PQ 0 12:01:08.907 Rede '50016841': terminal sincronizado com Alpari Limited PH 0 12:01:08.907 Rede '50016841': o comércio foi activado - modo de rede KL 0 12:41:45.169 Expert Advisor Test (GBPUSD,H1) carregado com sucesso
Por favor, dêem-lhe uma vista de olhos. Talvez encontre a causa. Estou perplexo, talvez seja um problema com a construção?
Obrigado!!!
Obrigado pela ajuda!!!
Instalar o terminal em cima deste defeituoso. Pode ser curado.
É mais que tempo de escrever em MQL5. Utilizar um dll é o cúmulo da loucura.
Pelo que entendi, pretende ler informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. Já a partir deste directório é possível ler o ficheiro com um programa de terceiros.
Se fosse "o cúmulo da loucura", seria proibido.
WinAPI alarga grandemente as capacidades da MQL. E pode fazer algo estúpido mesmo sem dll.
E aqui está um exemplo de passar um fio para a prancheta:
#define CF_UNICODETEXT 13#define GHND 0x0042#import "User32.dll"int OpenClipboard( uint );
int EmptyClipboard();
int CloseClipboard();
uint SetClipboardData( uint uFormat, uint hMem );
#import "Kernel32.dll"uint GlobalAlloc( uint uFlags, uint dwBytes );
uint GlobalLock( uint hMem );
int GlobalUnlock( uint hMem );
#import "msvcrt.dll"uint memcpy( uint dest, string src, uint count );
#import
string str = "АБВГД";
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
uint hwnd = (uint)ChartGetInteger( 0, CHART_WINDOW_HANDLE );
int strSize = StringLen( str ) * 2 + 2; // Получаем размер строки в байтахif( OpenClipboard( hwnd ) ) // Открываем буфер
{
EmptyClipboard(); // Очищаем буферuint hMem = GlobalAlloc( GHND, strSize ); // Выделяем памятьuint pMem = GlobalLock( hMem ); // Получаем адрес выделенной памяти
memcpy( pMem, str, strSize ); // Копируем строку в память
GlobalUnlock( hMem );
SetClipboardData( CF_UNICODETEXT, hMem ); // Передаём память со строкой в буфер
CloseClipboard(); // Закрываем буфер
}
}
Artem, diz-me, se eu inserir tudo isto por baixo da função On Start na função On Tick, o guião será executado da mesma forma, apenas em cada tick, certo?
Ou algo precisa de ser mudado?
Uma vez que os castiçais anteriores, excepto o actual, não mudam em cada carrapato, por isso, suponho que devemos acrescentar uma condição para o verificar uma vez, por exemplo 1 - 2 segundos antes de o castiçal actual fechar? Ou não faz sentido e podemos deixar a verificação em cada carrapato?
Artem, diz-me, se eu inserir tudo isto por baixo da função On Start na função On Tick, o guião será executado da mesma forma, apenas em cada tick, certo?
Ou algo precisa de ser mudado?
Uma vez que os castiçais anteriores, excepto o actual, não mudam em todos os sinais, por isso, suponho, devemos acrescentar uma condição para verificar uma vez, por exemplo 1 - 2 segundos antes do próximo castiçal actual fechar? Ou não faz sentido e podemos deixar a verificação em cada carrapato?
Bem, eu formaria tudo isto numa função e chamá-la-ia quando necessitasse - a cada toque (se for razoável e necessário), ou à abertura de uma vela nova - uma vez por hora, por exemplo, se trabalharmos com H1.
Olá.
Pode dizer-me se é possível copiar o texto da EA para a prancheta, por exemplo, por condição, o texto do allert.
Em caso afirmativo, como fazê-lo?
Olá.
Pode dizer-me se é possível copiar o texto da EA para a prancheta, por exemplo, por condição, o texto do allert.
Em caso afirmativo, como fazê-lo?
Não. Trabalhar com a área de transferência é uma função do sistema (Windows API). Na MQL5 não há acesso directo ao WinAPI. E porque deve trabalhar com a prancheta? Afinal de contas, é você que está a gerar a mensagem - por isso tem o texto fonte da mensagem.
Sim, o código fonte está lá, mas eu preciso dele, por uma certa condição, na prancheta.
Desculpe, não especifiquei, preciso da implementação na MQL4.
É possível abrir a área de transferência de alguma forma usando #importar "user32.dll"?
Sim, o código fonte está lá, mas eu preciso dele, por uma certa condição, na prancheta.
Desculpe, não especifiquei, preciso da implementação na MQL4.
Talvez possa abrir a área de transferência de alguma forma usando #importar "user32.dll"?
É tempo de escrever em MQL5. Usar dll é o topo da imprudência.
Pelo que entendi, pretende ler a informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. Já a partir deste directório é possível ler o ficheiro com um programa de terceiros.
É mais que tempo de escrever em MQL5. Utilizar um dll é o cúmulo da loucura.
Pelo que entendi, pretende ler informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. A partir desse directório, pode ler o ficheiro com um programa de terceiros.
Obrigado pelas recomendações, mas agora preciso de copiar o texto para a prancheta do programa MQL4.
Vamos tomar em ordem. Aqui está o modelo:
Anexá-lo ao gráfico e uma captura de ecrã do gráfico no estúdio, bem como as entradas dos separadores "Log" e "Advisors" (se lá aparecerem).
Olá !!!
Reiniciei a plataforma MT5 para iniciantes. Compilou o seu modelo. O resultado da compilação é mostrado abaixo. Tive de deitar fora as capturas de ecrã devido ao grande volume
Uma EA apareceu no navegador:
Colocou a EA no gráfico e permitiu o comércio em 3 lugares:
Tem o ícone EA no gráfico em vez de uma cara sorridente
Aqui está um excerto do registo 2016.05.11 12:44:47.139 Expert Test (GBPUSD,H1) carregado com sucesso
Abaixo está o conteúdo da mensagem sobre o carregamento da EA:
CO 0 10:35:45.020 Terminal Alpari Limited MT5 x64 construção 1325 iniciada
HD 0 10:35:45.020 Terminal Windows 8.1 (PC baseado em x64), IE 11.00, UAC, Intel Core i5-2320 @ 3.00GHz, RAM: 2209 / 4078 Mb, HDD: 45023 / 149999 Mb, GMT+03:00
ND 0 10:35:45.020 Terminal C:\Users\Boris\AppData\Roaming\MetaQuotes\Terminal\73D45AFCBD5653CAF29C407A081F030C
LI 0 10:35:47.200 Rede '50016841': autorizada em Alpari-Ltd-MT5 via mt5.nl.3 (ping: 57.34 ms)
NG 0 10:35:47.200 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.10 23:47:58
FK 0 10:35:47.617 Rede '50016841': terminal sincronizado com Alpari Limited
RM 0 10:35:47.617 Rede '50016841': o comércio foi activado - modo de rede
OH 0 10:35:48.253 Rede '50016841': rede de digitalização para pontos de acesso
CL 0 10:35:51.446 Rede '50016841': rede de digitalização terminada
ND 1 12:00:49.011 Rede '50016841': ligação à Alpari-Ltd-MT5 perdida
MR 0 12:01:08.842 Rede '50016841': autorizada em Alpari-Ltd-MT5 até mt5.nl.3 (ping: 56.41 ms)
HR 0 12:01:08.842 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.11 10:35:52
PQ 0 12:01:08.907 Rede '50016841': terminal sincronizado com Alpari Limited
PH 0 12:01:08.907 Rede '50016841': o comércio foi activado - modo de rede
KL 0 12:41:45.169 Expert Advisor Test (GBPUSD,H1) carregado com sucesso
Por favor, dêem-lhe uma vista de olhos. Talvez encontre a causa. Estou perplexo, talvez seja um problema com a construção?
Obrigado!!!
Obrigado pela ajuda!!!
Olá !!!
Reiniciei a plataforma MT5 para iniciantes. Compilou o seu modelo. O resultado da compilação é mostrado abaixo. Tive de deitar fora as capturas de ecrã devido ao grande volume
Uma EA apareceu no navegador:
Colocou a EA no gráfico e permitiu o comércio em 3 lugares:
Tem o ícone EA no gráfico em vez de uma cara sorridente
Aqui está um excerto do registo 2016.05.11 12:44:47.139 Expert Test (GBPUSD,H1) carregado com sucesso
Abaixo está o conteúdo da mensagem sobre o carregamento da EA:
CO 0 10:35:45.020 Terminal Alpari Limited MT5 x64 construção 1325 iniciada
HD 0 10:35:45.020 Terminal Windows 8.1 (PC baseado em x64), IE 11.00, UAC, Intel Core i5-2320 @ 3.00GHz, RAM: 2209 / 4078 Mb, HDD: 45023 / 149999 Mb, GMT+03:00
ND 0 10:35:45.020 Terminal C:\Users\Boris\AppData\Roaming\MetaQuotes\Terminal\73D45AFCBD5653CAF29C407A081F030C
LI 0 10:35:47.200 Rede '50016841': autorizada em Alpari-Ltd-MT5 via mt5.nl.3 (ping: 57.34 ms)
NG 0 10:35:47.200 Rede '50016841': autorização prévia bem sucedida realizada a partir de 79.172.69.175 em 2016.05.10 23:47:58
FK 0 10:35:47.617 Rede '50016841': terminal sincronizado com Alpari Limited
RM 0 10:35:47.617 Rede '50016841': o comércio foi activado - modo de rede
OH 0 10:35:48.253 Rede '50016841': rede de digitalização para pontos de acesso
CL 0 10:35:51.446 Rede '50016841': rede de digitalização terminada
ND 1 12:00:49.011 Rede '50016841': ligação à Alpari-Ltd-MT5 perdida
MR 0 12:01:08.842 Rede '50016841': autorizada em Alpari-Ltd-MT5 até mt5.nl.3 (ping: 56.41 ms)
HR 0 12:01:08.842 Rede '50016841': autorização prévia executada com sucesso a partir de 79.172.69.175 em 2016.05.11 10:35:52
PQ 0 12:01:08.907 Rede '50016841': terminal sincronizado com Alpari Limited
PH 0 12:01:08.907 Rede '50016841': o comércio foi activado - modo de rede
KL 0 12:41:45.169 Expert Advisor Test (GBPUSD,H1) carregado com sucesso
Por favor, dêem-lhe uma vista de olhos. Talvez encontre a causa. Estou perplexo, talvez seja um problema com a construção?
Obrigado!!!
Obrigado pela ajuda!!!
É mais que tempo de escrever em MQL5. Utilizar um dll é o cúmulo da loucura.
Pelo que entendi, pretende ler informação de um programa de terceiros. Depois utilizar a escrita para um ficheiro, num directório comum de todos os terminais de clientes Ficheiros Comuns. Já a partir deste directório é possível ler o ficheiro com um programa de terceiros.
Se fosse "o cúmulo da loucura", seria proibido.
WinAPI alarga grandemente as capacidades da MQL. E pode fazer algo estúpido mesmo sem dll.
E aqui está um exemplo de passar um fio para a prancheta:
Artem, diz-me, se eu inserir tudo isto por baixo da função On Start na função On Tick, o guião será executado da mesma forma, apenas em cada tick, certo?
Ou algo precisa de ser mudado?
Uma vez que os castiçais anteriores, excepto o actual, não mudam em cada carrapato, por isso, suponho que devemos acrescentar uma condição para o verificar uma vez, por exemplo 1 - 2 segundos antes de o castiçal actual fechar? Ou não faz sentido e podemos deixar a verificação em cada carrapato?
Artem, diz-me, se eu inserir tudo isto por baixo da função On Start na função On Tick, o guião será executado da mesma forma, apenas em cada tick, certo?
Ou algo precisa de ser mudado?
Uma vez que os castiçais anteriores, excepto o actual, não mudam em todos os sinais, por isso, suponho, devemos acrescentar uma condição para verificar uma vez, por exemplo 1 - 2 segundos antes do próximo castiçal actual fechar? Ou não faz sentido e podemos deixar a verificação em cada carrapato?