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
Obrigado!
Sim, sobre o primeiro ponto estou claramente confuso. Explicar o que está exactamente errado na descrição, que uma cópia deve ser devolvida?
E sobre a concatenação no seu caso deveria ter escrito algo como
Para esclarecer. Diz"Devolve uma cópia da cadeia com um valor alterado do carácter na posição especificada. "O protótipo da função é boolStringSetCharacter(...) . Obviamente, não se pode pôr um cordel num bool. Se de facto um booleano é devolvido, então aparentemente isto é um sinal de sucesso/erro. Normalmente outras páginas de documentação têm uma secção separada de Valores Devolvidos, mas esta página não tem uma. Deve ser acrescentado, e na descrição textual formular uma frase relativa à semântica da função, e não ao valor de retorno.
Relativamente à concatenação, se o que escreveu estiver correcto, a descrição da função StringConcatenate também deve ser alterada. A descrição diz que o parâmetrostring_var é uma String [in][out] que será gerada como resultado de concatenação. Afirma-se que este parâmetro está apenas [fora].
Infelizmente, o problema é que o terminal só publica encomendas para fechar posições com comentários no separador "Resultados".
A ordem correspondente não é adicionada à lista de HistorialDealsTotal().
Na lista geral de encomendas HistoryOrdersTotal(), a encomenda também está em falta, mesmo que seleccione um período com alguma redundância.
Posso assegurar-vos que tanto as encomendas como os negócios, no caso de fecho por "fim de teste", estão presentes na história. A minha multimoeda calcula o lucro ganho em cada símbolo. Os negócios fechados no testador por "fim de teste" são corrigidos na des-inicialização para reflectir estes negócios. O lucro total para todos os símbolos coincide com os dados do relatório de teste. Este é o código;
Colegas, há alguma forma de fazer com que a SymbolInfoSessionTrade funcione no testador de estratégias?
Uma entrada trivial não funciona:
Mais uma pergunta, se possível. Gostaria de compreender o significado do novo operador. Qual é a ideia por detrás disto? Porque não criar o objecto da forma habitual? Afinal de contas, após o fim do bloco o acesso ao objecto declarado através do novo será perdido, então porque precisamos dele?
P.S. Honestamente, não consegui encontrá-lo na documentação :)
Mais uma pergunta, se possível. Gostaria de compreender o significado do novo operador. Qual é a ideia por detrás disto?? Porque não criar o objecto da forma habitual? Afinal de contas, após o fim do bloco o acesso ao objecto declarado através do novo será perdido, então porque precisamos dele?
P.S. sinceramente não consegui encontrá-lo na documentação :)
Obrigado! Imaginei-o. É necessário e suficiente utilizar oTimeTradeServer() em vez do TimeCurrent().
No final da semana de negociação não há novas cotações e é por isso que a TimeCurrent() não é actualizada durante muito tempo.
Ao desinicializar o Expert Advisor, TimeCurrent() mostra a hora 23:00; TimeTradeServer() mostra a hora 23:59, que coincide com o fim do teste.
Obrigado! Imaginei-o. É necessário e suficiente utilizar oTimeTradeServer() em vez do TimeCurrent().
No final da semana de negociação não há novas cotações e, portanto, o TimeCurrent() não é actualizado durante muito tempo.
Mais uma pergunta, se possível. Gostaria de compreender o significado do novo operador. Qual é a ideia por detrás disto? Porque não criar o objecto da forma habitual? Afinal, após o fim do bloco o acesso ao objecto declarado via novo será perdido, então porque é que precisamos dele?
P.S. honestamente não o conseguiu encontrar na documentação :)
Não crie objectos dinâmicos - não terá de usar agora e tudo o resto que está associado a estes objectos (embora não possa fazer muito então).
Quer compreender não o significado de agora, mas o significado de trabalhar com objectos dinâmicos...
Inicialização e desinicialização de objectos colocados dinamicamente
Os apontadores para objectos sãoum caso especial, porque a declaração de um apontador não requer a inicialização do objecto em questão. Os objectos dinamicamente colocados são inicializados apenas no momento da criação de uma instância de uma classe por um novo operador. A inicialização de um objecto implica uma chamada do construtor da classe correspondente. Se não houver um construtor correspondente numa classe, os seus membros de tipo simples não serão automaticamente inicializados; membros de string, array dinâmico e tipos de objectos complexos serão automaticamente inicializados.
Os ponteiros podem ser declarados local ou globalmente, e podem ser inicializados com um valor NULL vazio ou com um ponteiro do mesmo tipo ou do tipo desovado . Se umnovoponteiro for invocado a nível local , a declaração de eliminaçãodesse ponteiro deve ser executada antes de deixar também o nível local. Caso contrário, o ponteiro será perdido e o objecto não poderá ser apagado explicitamente.
Todos os objectos criados pela expressão pointer_object=new_ClassName devem ser destruídos posteriormente pelo operador delete(pointer_object).Se, por alguma razão, esta variável não tiver sido destruída pelo operador de eliminação, a mensagem sobre ela aparecerá no Jornal de Peritos. Pode declarar múltiplas variáveis, e atribuir a todas elas apontadores para o mesmo objecto.
Se o objecto a ser criado dinamicamente tiver um construtor, este construtor será chamado quando um novooperador for executado . Se o objecto tiver um destruidor, o destruidor será chamado quando o operador deeliminação for executado.
Assim, os objectos dinamicamente colocados são criados apenas quando são criados utilizando umnovooperador , e é garantida a sua eliminação quer pelo operador de eliminação quer automaticamente pelo sistema de execução MQL5 no momento da descarga do programa.A ordem de declaração dos apontadores dos objectos dinamicamente criados não afecta a ordem da sua inicialização. A ordem de inicialização e de desinicialização é totalmente controlada pelo programador.