Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 852
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
Não abre um negócio, onde está a culpa?
Não abre o comércio, onde está o insecto?
Bug número 1: Em cada tick cria um NOVO indicador MANÍPULO
Shoal número 2: (provavelmente) a variável Lote tem um volume incorrecto.
Falha número 3: (provavelmente) o tipo de enchimento de encomenda para a classe CTrade não é preenchido.
Em geral, o que está no diário de bordo do terminal (ou do testador)?
o montante multiplicado pela perda em moeda a partir de 1 SL
E se a perda for 1, em BO, por exemplo.
Coloco os valores na fórmula, nem sequer perto do mesmo resultado.
O que é que está errado?
Lacuna número 1: Em cada tique cria um NOVO indicador MANÍPULO
Shoal número 2: (provavelmente) a variável Lote tem um volume incorrecto.
Falha número 3: (provavelmente) o tipo de enchimento de encomenda para a classe CTrade não é preenchido.
De qualquer forma, o que está no registo do terminal (ou do testador)?
Este código sim estava na onítica
Transferiu-o para a onytics. Acabei de ler os artigos aqui - e compreendi que não há diferença para o trabalho, mas é melhor no onitiket. Mas em termos de clareza para mim, era mais conveniente fazer tudo em 1 bloco, sou puramente para mim enquanto resolvo problemas que me proponho (aprendizagem).
O problema foi com o lote - tive de colocar não um lote variável - e a função returnlot (porque era uma função para calcular o lote).
Agora encontrei um erro na função de lote - o lote é calculado com muitas casas decimais e, como resultado, a ordem não pode ser aberta. Precisamos de reduzir os caracteres desnecessários e deixar apenas 2.
NormalizeDouble e DoubleToStr até agora não podem funcionar - escreve que a função não pode ser colocada na função, e abaixo quando coloco o seu trabalho com a função escreve erro - que não posso corrigir.
Este código estava na onítica.
Mudou-o para ontic. Acabei de ler os artigos aqui - e deles entendi que não há diferença para o trabalho, mas é melhor em ontiket. Mas em termos de clareza para mim, era mais conveniente fazer tudo em 1 bloco, sou puramente para mim enquanto resolvo problemas que me proponho (aprendizagem).
O problema era com o lote - não era necessário definir um lote variável - e a função returnlot (porque havia uma função para calcular o lote).
Agora encontrei um erro na função de lote - o lote é calculado com muitas casas decimais e, como resultado, a ordem não pode ser aberta. Precisamos de reduzir os caracteres desnecessários e deixar apenas 2.
Quando colo a função NormalizeDouble e DoubleToStr ainda não o posso fazer, diz que a função não pode ser colocada nela e abaixo vejo erros que não posso corrigir.
Na MQL5 é necessário criar um manípulo indicador SOMENTE uma vez e SOMENTE no OnInit. É um axioma. Não é possível criar um manípulo indicador em cada tick no OnTick - está incorrecto.
A normalização correcta do lote está na classe de comércio CSymbolInfo::NormalizePreço
Na MQL5 deve criar um manípulo indicador SOMENTE uma vez e SOMENTE no OnInit. É um axioma. Não é possível criar um manípulo indicador em cada tick no OnTick - isto é DIREITO.
A normalização correcta do lote está na classe de comércio CSymbolInfo::NormalizePreço
Errado, eu não discuto com isso. MAS!!! O que mudará se o criarmos em cada carrapato? Nem mesmo o valor irá mudar.
Errado, não há discussão com isso. MAS!!! O que vai mudar se criar em cada carrapato?? Nem mesmo o valor irá mudar.
Qual é o objectivo? Apenas muito trabalho extra para o guião, só isso.
Errado, não há discussão com isso. MAS!!! O que vai mudar se criar em cada carrapato?? Nem mesmo o valor irá mudar.
Num artigo recente, mostrei que a MQL5 combate eficazmente os vestígios da codificação no estilo MQL4 - criação de pegas em cada carrapato: a memória não é desperdiçada, mas a velocidade de operação é pelo menos reduzida. Mas repito: a criação de indicadores em MQL5 no estilo MQL4 não é o método correcto. Se mudar para MQL5, isso significa que o estilo de programação deve ser reconstruído.
Qual é o objectivo? É apenas um trabalho extra para o guião, só isso.
É claro que não vale a pena. Foi uma pergunta tão oculta drubashke: Porquê assemelhar-se ao neurótico, que aqui já é suficiente, e incluir Caps Lock?
Ou seja, o resultado é o mesmo, mas é claro que a execução não tem sentido e é muito mais ocupada, como entendo pelo que foi escrito.
Gostaria que tivessem pensado em escrever sobre isso no artigo, mas em geral é claro que não há razão para fazer a mesma coisa várias vezes.
Mas eu tinha o objectivo de escrever para compreender e trabalhar por si próprio, não para optimizar - isto é, depois de ter contado.