Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 147
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
A EA deve ler de um arquivo um array de dados na forma: data inteiro1 inteiro2 inteiro3 inteiro4, pode ser de qualquer tipo de arquivo, exceto bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
é deletado desta pasta.
aqui está o código.
você pode especificar o caminho para a pasta da qual o arquivo não será excluído pelo testador? Eu entendi que todos os arquivos são excluídos desta pasta durante os testes, mas quando o arquivo é criado programmaticamente, ele é colocado nesta pasta
A EA deve ler de um arquivo um array de dados na forma: data inteiro1 inteiro2 inteiro3 inteiro4, pode ser de qualquer tipo de arquivo, exceto bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
é deletado desta pasta.
Aqui está o código.
Talvez especificar o caminho para a pasta da qual o arquivo não será apagado pelo testador? Entendi que todos os arquivos são excluídos desta pasta ao testar, mas ao criar um arquivo programmaticamente, ele é colocado nesta pasta
Talvez devêssemos usar FileCopy com a bandeira FILE_COMMON. O novo teste funciona do zero, isto pode ser uma falha.
Talvez você deva usar FileCopy com a bandeira FILE_COMMON. O novo teste funciona do zero, isto pode ser uma falha.
funciona se você copiar o arquivo para uma pasta durante o teste )) agora para descobrir o delimitador
Comecei a escrever um painel comercial na MQL4 e aqui está o paradoxo. Tudo parece bem, mas toda vez que mudo o TF, linhas e textos de outros indicadores são desenhados no topo do meu painel.
Aqui está o que verifiquei: ao mudar o TF, parâmetro OBJPROP_BACK = falso. Isso significa que tudo está bem neste lado.Alguma idéia sobre este assunto?
P.S. De fato, eu verifiquei agora e o código fonte (que tomei como protótipo) se comporta da mesma maneira. Depois de mudar o TF, ele desenha linhas normais no topo do painel e as linhas criadas por indicadores que não usam o OOP.
https://www.mql5.com/ru/code/19220
Comecei a escrever um painel comercial na MQL4 e aqui está o paradoxo. Tudo parece bem, mas toda vez que mudo o TF, linhas e textos de outros indicadores são desenhados no topo do meu painel.
Aqui está o que verifiquei: ao mudar o TF, parâmetro OBJPROP_BACK = falso. Portanto, tudo está bem neste lado.Alguma idéia sobre este assunto?
P.S. De fato, eu verifiquei agora, o código fonte (que tomei como protótipo) comporta-se da mesma maneira. Depois de mudar o TF, ele desenha linhas normais no topo do painel e as linhas criadas por indicadores que não usam o OOP.
https://www.mql5.com/ru/code/19220
Ao mudar o cronograma, os objetos criados por outros programas são excluídos e novos objetos são criados imediatamente. No painel, os objetos não são excluídos, portanto são "velhos". Na tabela, aplica-se o princípio "quem for o último, está no topo".
Você precisa apagar objetos no painel com DeInit(), e criar novos objetos novamente
Comecei a escrever um painel comercial na MQL4 e aqui está o paradoxo. Tudo parece bem, mas toda vez que mudo o TF, linhas e textos de outros indicadores são desenhados no topo do meu painel.
Eis o que verifiquei: quando a TF é alterada, o parâmetro OBJPROP_BACK = falso. Portanto, tudo está bem neste lado.Alguma idéia sobre este assunto?
P.S. De fato, eu verifiquei agora, o código fonte (que tomei como protótipo) comporta-se da mesma maneira. Depois de mudar o TF, ele desenha linhas normais no topo do painel e as linhas criadas por indicadores que não usam o OOP.
https://www.mql5.com/ru/code/19220
Ao mudar o cronograma, os objetos criados por outros programas são excluídos e novos objetos são criados imediatamente. No painel, os objetos não são excluídos, portanto são "velhos". Na tabela, aplica-se o princípio "quem for o último, está no topo".
Você precisa apagar objetos no painel usando DeInit(), e criar novos objetos novamente
é melhor pegar a criação de um novo objeto em Eventos e redesenhar o painel
Ao mudar os horários, os objetos criados por outros programas são eliminados e novos são criados imediatamente. No painel, os objetos não são apagados, portanto, são "velhos". O princípio de "O último por cima é o último por cima" aplica-se no gráfico.
Você precisa apagar objetos no painel usando DeInit(), e criar novos objetos novamente
Você pode me dizer um pouco mais sobre como redesenhá-lo?
é melhor pegar a criação de um novo objeto em Eventos e redesenhar o painel
ps. que me faz lembrar - você também precisa verificar o nome do objeto criado para ter certeza de que não é "seu" objeto (prefira o nome de seus objetos).
ou ao invés do nome, compare o tipo de objeto.
RSI3 = iRSI(_Symbol, _Period, RSIPeriod, PRICE_CLOSE, 1);
RSI4 = iRSI(_Symbol, _Period, RSIPeriod, PRICE_CLOSE, 2);
bool RSItf = RSI3 > 30 && 30 > RSI4;
if(RSItf == true)
{
}
else
{
orderend(_Symbol, OP_SELL, lot, Bid, Slippage, 0, 0, NULL, Magic, 0, clrRed);
}
bool RSItf = RSI3 > 70 && 70> RSI4;
if(RSItf == true)
{
}
else
{
orderend(_Symbol, OP_BUY, lot, Ask, Slippage, 0, 0, NULL, Magic, 0, clrBlue);
}
Cidadãos, digam-me se eu estou fazendo certo!!! Preciso do consultor especializado para negociar quando ele não tiver entrado na zona 30 ou 70, e quando tiver entrado, ele não negociará!!! Esta é a maneira correta de fazer isso?
É algo assim, tanto quanto eu entendo que você precisa