Feedback sobre a MQL5 - página 5

 
Sim, obrigado! Vou tentar trabalhar ....
 

Conserte-o para começar:

  • ERR_CHART_NO_REPLY( 4102) [,4003?] problema, initeno início, extremamente prejudicial à confiabilidade da EA.
  • Parada dos pedidos na fase de solicitação antes do final da sessão. Acontece, os pedidos funcionam, ou seja, eles ficam pendurados na troca. É impossível retirá-los. Casos completamente flagrantes, ocorrem raramente, mas regularmente.

  • Além disso, uma vez que meu terminal milagrosamente perdeu uma posição. Teria sido possível comprar uma posição nas contas do corretor, e então teria me livrado dela.
  • Outra situação desagradável é quando os preços no mercado saem com baixa liquidez, e o patrimônio líquido é calculado a partir do preço de abertura da posição (mudando todos os dias na compensação), até o preço do último negócio de uma semana atrás, que está a uma grande distância das verdadeiras "bestas", ou seja, o resultado é pervertido para o oposto. Assim, uma perda substancial (lucro) cresce sobre a pose, que na verdade não reflete a realidade e é imaginária. Por exemplo, no MIX-3.16 esta lacuna é agora de 6000-10000r por contrato. Suponha que essas metamorfoses causam o saque de 15% na conta hoje e 30% amanhã, e o que acontece na primeira quinta-feira de agosto? Margem de chamada? Somente por causa da total falta de acordos sobre o instrumento? Não especifiquei como este cálculo é feito na troca, mas em outras plataformas este problema não ocorreu. Eu não os uso agora, portanto não posso verificar.

Esta é apenas a primeira coisa que me vem à mente. Há uma tonelada de "pequenas coisas" como essa.

Os desenvolvedores precisam entender - se você anunciar um terminal de estoque, use um conceito apropriado. Para que serve colocar uma cópia de uma máquina de cozinha "reescrita do zero" nas muletas...

O foco deveria ter sido, desde o início, em instrumentos financeiros negociados em bolsa com baixo índice de liquidez. Os líquidos caberiam no próprio sistema.

Então o mercado seria humano,

e haveria um lugar para a "Tabela de Parâmetros Atuais" tradicional para todas as plataformas,

e a atitude em relação à negociação com ordens limitadas tomaria seu devido lugar,

e, talvez, ao invés de séries históricas inúteis (spread máximo, volume do tick) teríamos ASK/BID completo por um período.

Em resumo, a revolução não aconteceu e as pragas com conselhos estúpidos foram derrotadas. Viva o rei! ...cozinha.

 
1150 vinda 8.1 pro 64x

Modo de demonstração do corretor tem 719 ferramentas para negociação, cerca de 650 desativadas

ao especificar na visão geral do mercado "Show All" após o carregamento de todos os terminais 719 abranda e liberta ... ( há um atraso entre o comando de clique ou tecla ) e sua execução de 1-4 segundos ...

O Puzzling, código escrito para mt4 e transportado quase sem alterações para mt5, funciona dez vezes mais lento em mt5

Quando você muda de forex para futuros, janelas previamente abertas estão penduradas e esperando por atualização. ( Teoricamente, o primeiro símbolo de futuros deve levá-lo ou apenas fechá-lo, mas não pendurado esperando por atualização...)

Trabalhar com "Market Watch" não é de todo pensado...

Se você apagar um símbolo com a tecla Del, a janela fica inativa, e para apagá-lo novamente com a tecla del, você deve primeiro ativar a janela...

A operação rápida com ferramentas em "Market Watch" é extremamente mal concebida.

Para µl5

em µl4 você adicionou ObjectsDeleteAll(0, "Prefixo"); delete por prefixo, E em mt5 você esqueceu ?
 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

O modo de demonstração do corretor tem 719 instrumentos para negociar, cerca de 650 desativados

ao especificar "Mostrar tudo" na visão geral do mercado após carregar todos os 719 o terminal abranda e congela ... ( há um atraso entre o comando de clique ou tecla ) e sua execução de 1-4 segundos ...

Puzzling, código escrito para mt4 e transferido para mt5 quase sem mudanças, funciona dez vezes mais lento no mt5

Quando você muda de forex para futuros, janelas previamente abertas estão penduradas e esperando por atualização. ( Teoricamente, o primeiro símbolo de futuros deve levá-lo ou apenas fechá-lo, mas não pendurado esperando por atualização...)

Trabalhar com "Market Watch" não é de todo pensado...

Se você apagar um símbolo com a tecla Del, a janela fica inativa, e para apagá-lo novamente com a tecla del, você deve primeiro ativar a janela...

O trabalho rápido com ferramentas no Market Watch não foi pensado de forma alguma...

Para µl5

em µl4 você adicionou ObjectsDeleteAll(0, "Prefix"); delete por prefixo, mas em mt5 você esqueceu?


Não, eles não se esqueceram. Mas não há muita diferença aí:

ObjectsDeleteAll(0,prefixObj,0,-1);


P./S.: A propósito, e em MT4 funciona com -1 em vez de VAZIO.

Por mim mesmo, escrevi o memorando assim:

int  ObjectsDeleteAll(
   long    chart_id,           // идентификатор графика
   string  prefix_obj,         // общий префикс в именах объектов  
   int     sub_window=-1,      // индекс окна
   int     type=-1             // ENUM_OBJECT (тип объекта для удаления)
   );
 

O trabalho do estilizador também desafia a explicação.

está escrito na ajuda

Exceções à formatação interlinear

As regras de modelagem acima não se aplicam em alguns casos. Isto é para garantir que o alinhamento do autor não seja comprometido nas linhas adjacentes. O modelador reconhece o espaçamento entre linhas na linha adjacente para as seguintes palavras-chave e caracteres:

  • "//" - "C"-caracteres;
  • "{" - parêntese esquerda encaracolada;
  • "}" - colchete direito;
  • "return" - operador "return";
  • operador"apagar" - "apagar";
  • "=" - igual a símbolo;
  • ":" - cólon;
  • "." - parada completa.



O modelador ainda rege o código da maneira que ele quer....

 
Vladimir Pastushak:
1150 vinda 8.1 pro 64x

O modo de demonstração do corretor tem 719 instrumentos para negociar, cerca de 650 deficientes

Quando indiquei "mostrar tudo" na visão geral do mercado depois de carregar todos os 719, o terminal desacelera e liberta ... ( há um atraso entre o comando de clique ou tecla ) e sua execução de 1-4 segundos ...
Estamos trabalhando nisto, estamos trabalhando para acelerar muitos instrumentos ativos. Especifique o nome do servidor comercial, por favor.


O código escrito para mt4 e transferido quase inalterado para mt5 é dezenas de vezes mais lento em mt5.

Prove-o tecnicamente, por favor.

Você pode dizer imediatamente que você está diretamente enganando.


Quando você passa de forex para futuros, janelas previamente abertas estão penduradas e esperando por atualização ( Teoricamente deve pegar o primeiro símbolo de futuros e exibi-lo ou apenas fechá-lo, mas não penduradas esperando por atualização...)

Não confunda seu "teoricamente" com "fazer sempre". Se você mudou para outra conta onde seu conjunto anterior de instrumentos não está disponível, a melhor estratégia é deixá-lo decidir por si mesmo o que fazer e o que trocar.

Isto não é um erro e não é um problema.


A operação "Market Watch" não está nada bem pensada ...

Se você apagar um símbolo com a tecla Del, a janela fica inativa e para apagar o símbolo novamente com a tecla del, você deve primeiro ativar a janela...
Este é um pequeno problema de interface, mas vamos resolvê-lo.


Manuseio extremamente imprudente das ferramentas no Market Watch ...

Especificar especificamente o que não é rápido o suficiente?

Há estruturação de ferramentas, filtros, classificação inteligente e ocultação de ferramentas vencidas.


Para µl5

Em µl4 você adicionou ObjectsDeleteAll(0, "Prefixo"); delete por prefixo, mas em mt5 você esqueceu ?
Esta função apareceu originalmente na MQL5 há muitos anos.
 
Vladimir Pastushak:

O trabalho do estilizador também desafia a explicação.

está escrito na ajuda

Exceções à formatação interlinear

As regras de substituição do modelador acima não se aplicam em alguns casos.


O modelador ainda rege o código da maneira que ele quer....

A descrição das regras do modelador não pode ser encaixada em algumas linhas de texto fictício.

Formata da forma que desejamos que seja formatada.

 

Pessoalmente, a única coisa que me falta neste momento são indicações para uma matriz.

Especificamente - na funçãoOnCalculate() obtemos referências a arrays, mas não podemos salvá-los. Em vez de salvar apontadores e usá-los dentro do código, temos que primeiro copiar os timeseries em arrays internos e só depois usar apontadores para essas classes.

Acho que seria razoável fazer a OnCalculate() funcionar, que recebe indicações de objetos de série temporal da Biblioteca Padrão.

 

Estou lendo, todos estão escrevendo, e eu não sou muito preguiçoso para fazê-lo.

Para fazer uma avaliação sobre a velocidade do 5-Rka, é preciso primeiro dizer quantos bits de computador, quanta memória e assim por diante.

Eu ainda gosto de tudo. Existem, é claro, nuances, mas elas estão basicamente contornando a mesma programação. 4-rka também não é um presente de alguns pontos de vista....

 
Renat Fatkhullin:

A descrição das regras por um estilista não pode ser resumida em algumas linhas de texto fictício.

Formata como nós estabelecemos.

Sobre o modelador:

Quero ver o código da maneira como o "conserto".

   ENUM_OBJECT   GetTYPE(string name)              { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name)        { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name)                       { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике 

Estilização:

   ENUM_OBJECT   GetTYPE(string name) { return(ENUM_OBJECT)GetObjectInteger(name,OBJPROP_TYPE);} // Тип обьекта
   datetime      GetCREATETIME(string name) { return GetObjectInteger(name,OBJPROP_CREATETIME);} // Время создания объекта 
   int  GetCOLOR(string name)                      { return GetObjectInteger(name,OBJPROP_COLOR);} // Цвет
   int  GetSTYLE(string name)                      { return GetObjectInteger(name,OBJPROP_STYLE);} // Стиль
   int  GetWIDTH(string name)                      { return GetObjectInteger(name,OBJPROP_WIDTH);} // Толщина линии
   bool GetBACK(string name) { return GetObjectInteger(name,OBJPROP_BACK);} // Объект на заднем плане
   int  GetZORDER(string name)                     { return GetObjectInteger(name,OBJPROP_ZORDER);    } // Приоритет графического объекта на получение события нажатия мышки на графике

Por que alguns dos códigos são deixados de fora e outros dentro? Sintaticamente cada linha é a mesma....

Razão: