Erros, bugs, perguntas - página 2458
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
Ao mudar de MQL4 para MQL5, encontrei uma falha:
Código:
ResetLastError();
int ObjTotal = ObjectsTotal(0);
int Error = GetLastError();
regressa:
ObjTotal = 0.
Erro = 4022
O que é este erro e porque não é mencionado na documentação?
Experimentei diferentes variantes: ObjectsTotal(0, -1, -1), ObjectsTotal(ChartID(), 0, OBJ_TREND), etc.
O resultado é o mesmo.
Como fazê-lo funcionar?
Conselho: Se quiser perguntar algo, insira o código COMPLETO, e não um pedaço dele.
Qual é o objectivo: qualquer pessoa pega no seu código e executa-o por conta própria. E quase ninguém olha para o código volumoso - o código volumoso é desrespeitoso.
Exemplo do seu código:
Execute-o num gráfico que não tenha quaisquer objectos gráficos. Resultado:
Ou seja, não há erro.
Utilização do terminal:
Um conselho: se quiser perguntar algo, insira o código COMPLETO, e não uma peça.
Obrigado pelo conselho, é o que vou fazer.
No entanto, a questão permanece em aberto.
Clarificação: se o pedaço de código do post anterior estiver na função OnDeinit() do indicador, o resultado é este:
2019.05.10 14:08:20.105 PtS (EURUSD,H1) ObjectosTotal: 0, GetLastError: 4022
Se executar o mesmo código após apagar o indicador do gráfico, como o script (1.mq5 do post anterior), obtemos
2019.05.10 14:08:33.609 1 (EURUSD,H1) ObjectosTotal: 8575, GetLastError: 0
Por favor, ajude-me a compreender a razão.
erro no testador de estratégia durante a optimização.
"tarefa rejeitada pelo agente testador "
Por exemplo, se a moeda da sua conta for EUR,
Se a moeda da sua conta for USD
aparece quando outros pares de moedas são utilizados no código.
No meu exemplo está a utilizar o cálculo do lote dinâmico
ou seja, quando a EA está a solicitar o preço de outra moeda.
@Vladislav Andruschenko
Olá, obteve alguma resposta ou solução para este problema?
Quando o horário/período é alterado, o PBB recebe um valor de 10, independentemente do valor que tenha especificado no campo de entrada.
No momento da reinicialização, é como se fosse a primeira corrida.
Há duas maneiras de resolver o seu problema
1 - Armazenar o valor PBB em variáveis globais e obter o período a partir daí.
2 - Quando o OnChartEvent dispara, reinicialize o indicador MA e obtenha uma nova pega...
Verifiquei todas as opções. Não funciona.
Falha na MQL5.
Não inicializa novos valores. Apenas com introdução de parâmetros no PBB_=. Nenhuma outra opção. Isto não é de todo bom.
Verifiquei todas as opções. Não funciona.
Falha no programa MQL5.
Os novos valores não são inicializados. Apenas com input int PBB_= parâmetro. Nenhuma outra opção. Isto não é de todo bom.
Tudo está bem na MQL, só não compreende o que está a fazer no seu código e como tudo funciona...
Mais uma vez, quando se chamaChartSetSymbolPeriod(0,_Symbol,_Period);
Está a reinicializar tudo por defeito...
Em alternativa, tente o inite para solicitar um valor do seu campo de texto.
Quando se inicia o indicador pela primeira vez, tudo é criado e quando se alteram os dados no campo, ele chamará nova unidade e definirá o valor do seu campo de texto...
Tudo está bem na MQL, só não se compreende o que se está a fazer no código e como tudo funciona...
Mais uma vez, quando se chamaChartSetSymbolPeriod(0,_Symbol,_Period);
Está a reinicializar tudo por defeito...
Em alternativa, tente o inite para solicitar um valor do seu campo de texto.
Depois da lógica, o primeiro início do indicador, tudo é criado, mas quando alterar os dados no campo, haverá uma nova chamada na unidade e definição de valores do seu campo de texto...
Tentei com o campo de texto e através da GlobalVariable, mas nunca tentei nada. É tão silencioso como num tanque.
Noutras variantesOnCalculate trabalha sem problemas.
Tentei tanto a partir de um campo de texto como através da GlobalVariable e tudo o mais que tentei. É tão silencioso como um tanque.
A outra versão da OnCalculate funciona sem problemas.
Isso significa que está a fazer algo de errado
Então está a fazer algo de errado.
Já afixou o código.
Se sou inepto, alguém deve ser um profissional. Ainda não o vejo.
Aceito o vosso esforço para encontrar uma resposta. Há mais do que isso. Ou seja, a nível dos criadores.