Erros, bugs, perguntas - página 2590
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
Pode dizer-me qual poderá ser a razão do erro [Demasiados pedidos comerciais] na segunda chamada da rotina OrderSend (depois de iniciar o terminal) ?
Procurei nos registos de segunda a quinta-feira. Tenho visto a mesma coisa em todo o lado: a primeira ordem de limite é enviada com sucesso e todas as ordens seguintes regressam com erro [Demasiados pedidos comerciais]. Depois começam a passar. A única acção criminosa é a chamada frequente do CopyTickRange no OnInit().
BCS Broker MetaTrader 5 Terminal x64 construído 2170 iniciado
@Ilyas
Da dll, o ponteiro para a string const wchar_t* copia uma string uniforme, com estes parâmetros
wcsncpy( out, data, wcslen(data) * 2 );
Com estes parâmetros, é claro, vaza.
Mas a corda acaba por ser uma corda uniforme, nem um único carácter extra passa por ela.
E depois de terminar o programa, o registo do Expert Advisor exibe uma mensagem
E existe um teste deste tipo.
Mostra o seguinte
O personagem char ' ' devolve dois bytes em vez de um. Provavelmente porque está em Unicode.
E a corda retorna doze bytes cada em vez de dois bytes quando comparada com a wchar_t.
Como uma forma possível, talvez o alinhamento do tipo superior distorça o tamanho da corda algures?
@Ilyas
Da dll, o ponteiro para a string const wchar_t* copia uma string uniforme, com estes parâmetros
Com estes parâmetros, é claro, vaza.
Mas a corda acaba por ser uma corda uniforme, nem um único carácter extra passa por ela.
E depois de terminar o programa, o registo do Expert Advisor exibe uma mensagem
E existe um teste deste tipo.
Mostra o seguinte
O personagem char ' ' devolve dois bytes em vez de um. Provavelmente porque está em Unicode.
E a corda retorna doze bytes cada um em vez de dois bytes quando comparada com a wchar_t.
Como uma forma possível, talvez o alinhamento do tipo superior distorça o tamanho da corda algures?
@Ilyas
A partir da dll, o apontador de string const wchar_t* copia uma string simples, com estes parâmetros
Com estes parâmetros, é claro, vaza.
Mas a corda acaba por ser uma corda uniforme, não faltando nenhum carácter extra.
E depois de terminar o programa, o registo do Expert Advisor exibe uma mensagem
E um tal teste
Mostra o seguinte
O personagem char ' ' devolve dois bytes em vez de um. Provavelmente porque está em Unicode.
E a corda retorna doze bytes cada em vez de dois bytes quando comparada com a wchar_t.
Como uma forma possível, talvez o alinhamento do tipo superior distorça o tamanho da corda algures?
1. Em MQL apenas Unicode, é por isso que o tamanho dos caracteres é de 2 bytes
2. cordel é uma estrutura (4 bytes de tamanho de buffer e 8 bytes de tamanho de ponteiro)
A cópia a cordel deve ser
Se isto não funcionar, o erro deve ser encontrado noutro lugar
Olá a todos! Parece que a função ResourceReadImage() não funciona correctamente quando se obtêm dados de ficheiros BMP! Fiz um guião para desenhar um quadro como fundo sobre tela. Se retirarmos uma imagem de um ficheiro localizado num disco rígido e a preenchermos apenas em tela, tudo funciona bem, mas se retirarmos pixels do recurso BMP que está localizado no próprio ficheiro ex5 usando a função ResourceReadImage(), a imagem resultante parecerá uma pequena e muito maior fatia da imagem de origem. Qual é a razão?
O ciclo do ponto de cópia está errado, substitua-o por
E esta pergunta - como obter uma lista de variáveis de entrada, a mesma que vem na funçãoFrameInputs() , mas apenas numa passagem, sem optimização ?
Sim, muito recentemente tinha surgido tal pergunta, de alguma forma perdi-a de vista, e agora eu próprio tenho essa tarefa (quero fazer set-files automaticamente).
Em que direcção cavar ? E se alguém se lembrar dessa discussão - onde está (não a consigo encontrar) ?
Claro que em cada consultor especializado eu poderia escrever uma função, que criaria uma tal lista, mas seria melhor ter uma função de biblioteca universal.Poderia, claro, escrever uma única função em cada EA que criasse uma tal lista, mas uma função de biblioteca universal seria melhor.
Dê uma vista de olhos aqui.
Dê uma vista de olhos aqui.
É isso mesmo, é isso mesmo!
Muito obrigado.
1. Em MQL apenas Unicode, é por isso que o tamanho dos caracteres é de 2 bytes
2. cordel é uma estrutura (4 bytes de tamanho de buffer e 8 bytes de tamanho de ponteiro)
A cópia a cordel deve ser
Se isto não funcionar, o erro deve ser procurado noutro lugar
E o que acontece se o tamanho da cadeia a copiar for maior ou menor do que o tamanho do buffer atribuído?