Desejos para MT5 - página 70

 
MetaDriver:

Aos compiladores, uma sugestão.

Por favor faça a transferência de pequenas estruturas por valor, e não apenas por referência. Porque toda a aritmética complexa/racional é terrivelmente lenta.

Por favor explique como a passagem por referência em vez da transmissão de valores de estrutura pode abrandar? O melhor de tudo com um exemplo.


Assim que permitimos a passagem de estruturas por valor, a verdadeira travagem começa. Os promotores usarão inconscientemente a passagem de enormes estruturas através da pilha em todo o lado e os seus programas serão abrandados.

 
MetaDriver:

A herança múltipla é definitivamente maligna.

Ы? Como se herdam duas interfaces?

Sou a favor da fusão com os afiados e não com os afiados. Faz muito mais sentido lá, dadas as gerações de experiência.

Pelo menos com o básico. Tais expressões são flagrantes trolling.
 
MetaDriver:

Um pedido aos compiladores.

Por favor, faça a transferência de pequenas estruturas por valor, e não apenas por referência. Caso contrário, toda a aritmética complexa/racional é terrivelmente lenta.

Basta estabelecer um limite (ao seu critério - 32 ou 64 bytes) após o qual o compilador não ultrapassa a estrutura passada por valor e exige estritamente a passagem por referência.

Também seria muito bom poder devolver pequenas estruturas como resultado de uma função.

--

Voto mesmo a favor da sobrecarga do operador. Espero um dia conseguir chegar a este ponto. Parece que o curso "fundir-se com C++" é tomado e geralmente apoiado.

A sintaxe funcional para operações aritméticas com objectos matemáticos não padronizados é muito inconveniente, e também abranda muito,

porque não pode ser substituído por substituições em linha e requer a despesa de chamadas de função.

N.º Estruturas apenas por referência. Sem excepções. Dê-nos alguns números para os travões, para que possamos estimar a escala da catástrofe.

Costumávamos ter uma opção para devolver estruturas como resultado de uma função. Eventualmente, ultrapassamos esta opção devido à ambiguidade da implementação (a nossa depuração interna). Decidimos que, uma vez que as estruturas são passadas por referência, passar a estrutura resultante como um parâmetro.

A sobrecarga de operadores é possível. Mas agora não.

 
Desenvolvedores: por favor, façam o OnTimer() trabalhar em indicadores que não estejam anexados a um gráfico.
 
Lizar:
Desenvolvedores: por favor, façam o OnTimer() trabalhar em indicadores que não estejam anexados ao gráfico.
+1000
 
stringo:

1. estruturas no. apenas por referência. Sem excepções. Para os travões, dê números, para que possamos estimar a escala do desastre.

2. costumávamos ter uma opção para devolver estruturas como resultado de uma função. Eventualmente, ultrapassamos esta opção devido à ambiguidade da implementação (as nossas brigas internas). Decidimos que, uma vez que as estruturas são passadas por referência, passar a estrutura resultante como um parâmetro.

3. é possível uma sobrecarga dos operadores. Mas agora não.

1. :) Catástrofe é cancelada. Medi-a e fiquei muito surpreendido, os travões não estão nela (o guião está na caravana). Mas a sintaxe em muitos casos é mais conveniente, quando se pode substituir as expressões nos parâmetros. Sim. Bem, posso viver com isto. É suportável. O principal é que não abranda.

Mas podemos reatribuir estruturas de volta? A atribuição de estruturas é perfeitamente legal, por isso vamos permitir que volte também. O programa é muito mais legível quando a atribuição do resultado da execução da função é sintacticamente unificada:

Y = Func(X); - parece muito mais claro ao ler brevemente o código do que Func(X, Y); // deve adivinhar que Y é um out-parameter.

Não, a Straustrup não gostaria da sua solução... não está certa de alguma forma... :)

3. isso é bom. Obrigado por isso.

Arquivos anexados:
 
MetaDriver:

Podemos também reatribuir estruturas legalmente, por isso vamos também permitir a reatribuição. O programa é muito mais legível quando a atribuição do resultado de uma função é sintacticamente unificada:

Vou contar-vos um segredo. Basta fazê-lo.

Acontece que eles não o cortaram. É possível devolver estruturas simples. Mas tenha em mente que, neste caso, terá de adicionar 2 cópias extra - copiar para a estrutura do tempo na pilha e copiar da estrutura do tempo para a estrutura do resultado.

Документация по MQL5: Основы языка / Типы данных / Структуры и классы
Документация по MQL5: Основы языка / Типы данных / Структуры и классы
  • www.mql5.com
Основы языка / Типы данных / Структуры и классы - Документация по MQL5
 

Porque é que a classe CExpert da biblioteca padrão é declarada desta forma na Documentação,

class CExpert : public CObject

e no ficheiro Expert.mqh vemos esta declaração?

class CExpert : public CExpertBase
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Há necessidade de um artigo sobre aulas para criar e testar estratégias comerciais...
 
Lizar:
Desenvolvedores: por favor, façam o OnTimer() trabalhar em indicadores que não estejam anexados ao gráfico.
Neste momento, é improvável. A função para definir o temporizador deve chamar-se ChartSetTimer(), este nome reflecte o seu comportamento com maior precisão.
Документация по MQL5: Работа с событиями / EventSetTimer
Документация по MQL5: Работа с событиями / EventSetTimer
  • www.mql5.com
Работа с событиями / EventSetTimer - Документация по MQL5