Por favor explique porque é que a segunda opção é mais rápida do que a primeira?
class A
{
public:
virtualint f() const { return(1); }
};
class B : public A
{
public:
virtualint f() const { return(2); }
};
template <typename T>
int g( T Ptr )
{
int Res = 0;
for (int i = 0; i < 1 e6; i++)
Res += Ptr.f();
return(Res);
}
#include <fxsaber\Benchmark\Benchmark.mqh> // https://www.mql5.com/ru/code/31279voidOnStart()
{
A* Ptr = new B;
_B(g(Ptr), 1); // 3600 mcs.
_B(g((B*)Ptr), 1); // 2440 mcs.delete Ptr;
}
Olá a todos! Comecei agora a aprender como escrever um simples robô comercial a partir dos exemplos dos vídeos do YouTube. Quero escrever um guião para abrir a primeira ordem de compra, e deve abrir se não tiver outras ordens abertas, o guião escreveu isto, mas a ordem não abre, por favor digam-me onde está o erro!
***
1. Tem de colar o código correctamente (utilizar o botão )
1. Pode dizer-me, qual é o comprimento máximo dos caracteresStringLen? Em MetaQuotes in MT5 encontrei um símbolo com um máximo de 9 caracteres:Coffee_Z0. Mas a sua comercialização está desactivada. Por conseguinte, segue-se a segunda pergunta.
2. Onde posso testar numa conta demo para o MT5 usando a stringLen!= 6 símbolos? Embora eu suspeite que tais símbolos sejam praticamente irrelevantes.
1. Pode dizer-me, qual é o comprimento máximo deStringLen dos caracteres? Em MetaQuotes in MT5 encontrei um símbolo com um máximo de 9 caracteres:Coffee_Z0. Mas a sua comercialização está desactivada. Por conseguinte, segue-se a segunda pergunta.
2. Onde posso testar numa conta demo para o MT5 usando a stringLen!= 6 símbolos? Embora eu suspeite que tais símbolos sejam praticamente irrelevantes.
SBRF-3.21 ou mesmo GOLD-12.21 são suficientemente bons.
Olá.
Há vários anos que olho para a mesma imagem, pensei que me iria habituar, mas não o farei! Este insecto é muito irritante!
Erro na afixação incorrecta do histórico de negócios no gráfico, quando se fecha parcialmente uma posição!
Parece bastante ilógico, MUITO por favor conserte-o na próxima actualização!
Obrigado de antemão!
Também escrevi sobre isso uma vez...
Partilhar algo interessante no KB.
Aqui está, como prometido:https://www.mql5.com/ru/code/33898
Por favor explique porque é que a segunda opção é mais rápida do que a primeira?
Olá a todos! Comecei agora a aprender como escrever um simples robô comercial a partir dos exemplos dos vídeos do YouTube. Quero escrever um guião para abrir a primeira ordem de compra, e deve abrir se não tiver outras ordens abertas, o guião escreveu isto, mas a ordem não abre, por favor digam-me onde está o erro!
***
1. Tem de colar o código correctamente (utilizar o botão
)
2. Para principiantes há tópicos especiais (para terminal antigo -Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 e para MQL5 -Perguntas de Iniciantes MQL5 MT5 MetaTrader 5)
a ausência de virtualidade? dado que a função é completamente vazia, a diferença é mínima e não pode ser crítica.
Gostaria de compreender que cálculos adicionais são feitos quando é utilizada a virtualidade?
Quero compreender que cálculos adicionais são feitos quando se utiliza a virtualidade?
O segundo não tem descendentes, pelo que o compilador é provavelmente apenas uma função.
No segundo caso não há descendentes, pelo que o mais provável é que o compilador tenha removido o virtual e este acabe por ser apenas uma função.
Quero compreender que cálculos adicionais são feitos com a virtualidade?
A segunda variante foi completamente optimizada como uma chamada de uma função habitual, incluindo a distribuição de constantes.
Não se podem tirar conclusões deste exemplo devido à extrema simplicidade e à completa degenerescência do código.
1. Pode dizer-me, qual é o comprimento máximo dos caracteresStringLen? Em MetaQuotes in MT5 encontrei um símbolo com um máximo de 9 caracteres:Coffee_Z0. Mas a sua comercialização está desactivada. Por conseguinte, segue-se a segunda pergunta.
2. Onde posso testar numa conta demo para o MT5 usando a stringLen!= 6 símbolos? Embora eu suspeite que tais símbolos sejam praticamente irrelevantes.
1. Pode dizer-me, qual é o comprimento máximo deStringLen dos caracteres? Em MetaQuotes in MT5 encontrei um símbolo com um máximo de 9 caracteres:Coffee_Z0. Mas a sua comercialização está desactivada. Por conseguinte, segue-se a segunda pergunta.
2. Onde posso testar numa conta demo para o MT5 usando a stringLen!= 6 símbolos? Embora eu suspeite que tais símbolos sejam praticamente irrelevantes.
SBRF-3.21 ou mesmo GOLD-12.21 são suficientemente bons.