Discussão sobre "Como escrever uma DLL para MQL5 e trocar dados em 10 minutos". - página 2
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
Tenho notado este problema com a passagem de cordas em MQL4-DLL. No código MQL4 eu chamo a função em DLL e passo a cadeia:
e em dll recebo esta string com um nome de ferramenta.
Num determinado momento, num determinado tick (pode correr bem durante meio dia), o dll recebe subitamente uma cadeia à esquerda com caracteres pouco claros em vez do nome do símbolo.
Talvez possa verificar um código semelhante em mql5? O ponteiro de memória parece estar incorrecto na MQL4 ou por vezes existe um conflito de acesso às linhas de fluxo dentro do terminal.
As arrays duplas e variáveis int passam correctamente sem qualquer problema.
Escreverei um teste para MQL5-DLL, mas se também estiver a testar estas coisas, escreva um teste para verificar a estabilidade da passagem de string para dll, repetindo o processo em cada tick durante um longo período de tempo.
Se é possível exportar citações apenas através da dll, então significa que deve ser colocado um script em cada instrumento a ser exportado? E se houver muitos deles? Por exemplo, 50?
Compreendo que é possível passar citações para muitos instrumentos num único guião, mas não será um verdadeiro substituto do DDE, onde as carraças não se perdem.
A questão é que não temos a tarefa de "fornecer a interface para dar citações".
A nossa tarefa é a de criar um ambiente completo e auto-suficiente para o desenvolvimento de sistemas analíticos. Um tal ambiente para que mesmo programas de terceiros não precisassem de ser utilizados.
A questão é que não estamos incumbidos de "fornecer uma interface para a emissão de orçamentos".
A nossa tarefa é a de criar um ambiente completo e auto-suficiente para o desenvolvimento de sistemas analíticos. Um ambiente deste tipo, de modo que mesmo os programas de terceiros não têm muita necessidade de ser utilizados.
O GUI é muito fraco - foram necessários 2 dias para escrever a lógica, e foi necessário um dia inteiro para exibir a informação calculada de qualquer forma
Como resultado, desabilitei tudo - construí o transporte de dados(https://www.mql5.com/ru/forum/382) e estou feliz agora.
Os programadores não estão a colocar a sua mira demasiado alta?
E porquê reinventar a roda, se tudo já foi feito há muito tempo (C, Delphi, ...)?
O GUI é muito fraco - levei 2 dias a escrever a lógica, e levei um dia inteiro a exibir a informação calculada de qualquer forma
No final desisti de tudo - construí o transporte de dados(https://www.mql5.com/ru/forum/382) e estou a desfrutar da minha vida
Os programadores não estão a colocar a sua mira demasiado alta?
E porquê reinventar a roda quando tudo já foi feito há muito tempo (C, Delphi, ...)?
IMHO o problema com o MT5 começou com o seu início: a falta de uma visão clara do que este produto supostamente vai resolver. Ou é uma plataforma actualizada e baseada no MT4 mas elevada a uma nova versão em termos de velocidade e funções alargadas, ou é uma nova plataforma de negociação moderna com uma estrutura bem pensada e extensiva (isto é, contendo classes de negócio, ou estrutura de negociação, para executar classes específicas de tarefas claramente definidas, e baseada em alguma linguagem de programação/ambiente moderno com a sua funcionalidade geral e ferramentas de suporte de software amplamente disponíveis). Para resolver este dilema através da tentativa de combinar opostos, fabricando uma espécie de compota, por assim dizer, pelo método de "improviso dos solistas mais talentosos", parece que não foi bem sucedido.
Se parecer a alguém puro lixo sem sombra de construtivo, pela segunda vez conduzir a um balneário, ou abatê-lo de vez :)
2pisara
Chegar à raiz da questão.
O MQL é mais para comerciantes com pouca capacidade de programação. A la Basic para manequins.
Não tenho nada contra tal posição - obrigado por isso também.
Mas o posicionamento da MQL5 como"um ambiente completo e auto-suficiente para o desenvolvimento de sistemas analíticos".Este é o tipo de ambiente onde mesmo programas de terceiros não precisam de ser aplicados."Este é um pedido sério. Serão necessários anos de trabalho, não só de entusiastas individuais, mas também de uma equipa de programadores profissionais sob a direcção de um bom arquitecto para "atar" o núcleo com algum conjunto de sopa digerível. Não posso dizer nada sobre orçamento e gestão - esse é outro nível do projecto.
Quero apoiar os empregados da empresa no seu trabalho árduo. Quero dizer obrigado pelo seu trabalho árduo. Mas sejamos realistas - a MQL5 é apenas uma etapa para atingir o objectivo.
P.S. Moscovo não foi construída num dia
É muito fácil verificar a velocidade da chamada. Por exemplo, pode calculá-lo aproximadamente desta forma:
Recebi 57.000 chamadas por segundo num Quad Q9400 @2,66Ghz. O mesmo código dá cerca de 20.000.000 de chamadas por segundo no MetaTrader 4, uma vez que não há controlo e tubagem.
Tentaremos definitivamente reduzir a perda nas chamadas DLL no MetaTrader 5.
É uma boa ideia fazer uma directiva especial de compilação que está ligada por defeito e que insere estes invólucros nas chamadas dll. Quando desactivado, é uma boa ideia não inserir estes invólucros. Como o modo de depuração e de libertação. Ainda assim, por vezes 57K não é suficiente. O mesmo tempo é consumido pelo tempo de execução da dll.
Criámos metodicamente 4 gerações de línguas comerciais desde 2001 com uma enorme comunidade de comerciantes. Os concorrentes estavam a morrer, as suas linguagens de controlo não se desenvolveram, enquanto nós temos trabalhado, estamos a trabalhar e continuaremos a trabalhar.
Renat:
e temos trabalhado, estamos a trabalhar e vamos continuar a trabalhar.
Como legou o Grande Avô Lenine.
;)
Não me lembro, acho que já perguntei antes...É possível criar dlls simples usando ferramentas mcl5,
basta escrevê-lo em unitor e compilá-lo...?