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
Eu corrigi o erro "bilhete inválido" para o exercício de codificação que você me aconselhou a completar. Anexei uma cópia do assessor especializado para sua visualização pessoal.
OrdemFechar() seção de função deste exercício que acredito estar completa.
Imprimir() seção de função deste exercício que acredito estar completa.
Tudo o que eu acredito que resta é a terceira seção, função OrderModify().
Obrigado.
Você não corrigiu o problema, você trabalhou em torno dele, isto é típico quando o problema não é compreendido. Como eu já disse, corrija a causa e não o sintoma ...
Você ainda não está imprimindo o número do bilhete USDJPY, por favor, verifique a exigência original.
Suas chamadas MarketInfo() estão erradas, mesmo que funcionem . .
Simon,
A função OrderModify() é executada sem erros.
A função OrderPrint() é executada sem erro.
A função OrderClose() é executada sem erro.
Por favor, poste sua resposta.
Obrigado.
Por favor, envie sua resposta.
Você não resolveu o problema, você trabalhou em torno dele, isto é típico quando o problema não é compreendido. Como eu já disse, resolva a causa e não o sintoma ...
Você ainda não está imprimindo o número do bilhete USDJPY, por favor, verifique a exigência original.
Suas chamadas MarketInfo() estão erradas, mesmo que funcionem . .
E, além disso . .
se você tiver a mesma situação que antes, onde não há ordem USDJPY você terá falhado as chamadas OrderStopLoss(), OrderTakeProfit(), OrderSelect() e OrderType()
o que isto significa fazer ? qual é a sua expectativa desta linha de código ? por favor, responda sem consultar a documentação.
GetLastError();
No último bloco de código, por que deseja executar esta linha de código? . . .
somente se . . . .
mas você sempre executará esta linha de código, e todo o código que a segue, independentemente do TP e SL ?
Suas chamadas MarketInfo() ainda estão erradas. . . olhe a documentação para descobrir o porquê.
Simon,
Você não resolveu o problema, você trabalhou em torno dele.
Que problema você acredita que eu ainda não resolvi?
Você ainda não está imprimindo o número do bilhete USDJPY...
Suas chamadas MarketInfo() estão erradas, mesmo que funcionem. . .
Exemplo de função MarketInfo() do dicionário MetaEditor:
Amostra:
Aqui está uma amostra do meu bloco de código de função OrderClose():
O que você acha que está errado com o formato de amostra do meu código da função OrderClose()? Parece quase idêntico à amostra 'MarketInfo()' fornecida pelo dicionário MetaEditor.
E, além disso . . .
o que isto significa fazer ? qual é a sua expectativa desta linha de código ? por favor responda sem consultar a sua documentação.
GetLastError();
A função GetLastError() imprime um erro na página 'Especialistas' enquanto executa testes. Se a função não encontrar nenhum erro, zero (0) é impresso. Observe o zero impresso no snapshot I fornecido acima.
No bloco final do código, por que deseja executar esta linha de código . . . .
somente se . . .
mas você sempre executará esta linha de código, e todo o código que a segue, independentemente do TP e SL ?
Sim, fico feliz que você tenha levantado esta questão porque vou explicar meu raciocínio por trás de fazer isto.
Se todos os outros blocos de código forem omitidos da execução do programa usando comentários de múltiplas linhas "/* - */" e os únicos dois blocos de código restantes dentro das funções Start() e Return(0) são...
abaixo do bloco de código dois, está a chamada de função:
A função Print() continua a imprimir o número para o painel de especialistas indefinidamente e continua a imprimir. Eu acreditava que se eu adicionasse...
a função Print() seria executada apenas uma vez porque, uma vez executada a função OrderModify() diretamente abaixo dela, o SL e TP não seriam mais zero e fariam com que a função Print() fosse arrastada.
Agora percebo que este não é o caso por causa de como um programa é executado. Entendo que um programa é executado de cima para baixo, portanto, quando o programa terminava seu ciclo inteiro, a primeira vez que tentava executar de cima para baixo novamente e falhava em imprimir o bilhete para o painel de 'Especialistas' porque não há uma ordem no par de moedas USDJPY.
Obrigado.
Simon,
Você não consertou o problema, você trabalhou em torno dele...
Que problema você acredita que eu ainda não resolvi?
O problema subjacente que é causado pela forma como você codificou seu loop while . . . o problema que estava causando o ticket Inválido para a função OrderClose eUnknown ticket 2 para OrderModify você não corrigiu porque você abordou o sintoma.
Suas chamadas MarketInfo() estão erradas, mesmo que funcionem...
MetaEditor dicionário MarketInfo() exemplo de função:
Desculpe, meu erro, você resolveu esse problema . . . você sabe a que problema eu estava me referindo?
Simon,
o que isto significa fazer ? qual é a sua expectativa desta linha de código ? por favor, responda sem consultar a documentação.
A função GetLastError() imprime um erro na página 'Especialistas' durante a execução dos testes. Se a função não encontrar nenhum erro, zero (0) é impresso. Observe o zero impresso na foto que forneci acima.
Não, GetLastError() não imprime para o log . . it"A função retorna o último erro ocorrido, então o valor da variável especial last_error onde o último código de erro é armazenado será zerado. Portanto, a próxima chamada para GetLastError() retornará 0".
O 0 em sua imagem é provavelmente de . . .
Print(OrderCloseTime());
. . e é um erro, pois a Ordem não está mais selecionada, pois não está mais no pool de Ordem como agora foi fechado, assim como está no pool de História. para fazer o que você está tentando fazer, você precisaria de algo assim . .
. . . adicione estas duas linhas e experimente.
A função Print() continua a imprimir o número para o painel de especialistas indefinidamente e continua a imprimir. Eu acreditava que se eu adicionasse...
a função Print() seria executada apenas uma vez porque, uma vez executada a função OrderModify() diretamente abaixo dela, o SL e TP não seriam mais zero e fariam com que a função Print() fosse arrastada.
Agora percebo que este não é o caso por causa de como um programa é executado. Entendo que um programa é executado de cima para baixo, portanto, quando o programa terminava seu ciclo inteiro, a primeira vez que tentava executar de cima para baixo novamente e falhava em imprimir o bilhete para o painel de 'Especialistas' porque não há uma ordem no par de moedas USDJPY.
Acho que você não está me entendendo ... se eu adicionar alguns braquetes, talvez fique mais claro . . você fez isso . .
. você queria fazer isto?
Simon,
Você ainda não está imprimindo o número do bilhete USDJPY...
A exigência era . . . "imprimir o número do bilhete para o log no formulário "Número do bilhete para USDJPY = "".
Simon,
A questão subjacente que é causada pela forma como você codificou seu loop while . . . a questão que estava causando o ticket Inválido para a função OrderClose e Unknown ticket 2 para OrderModify você não te corrigiu porque você abordou o sintoma.
Desejo discutir esta questão com você em detalhes, permitindo-me concentrar meus pensamentos na resolução da questão sem nenhuma distração de outros pontos.
Desculpe, meu erro, você resolveu o problema... você sabe qual era o problema ao qual eu estava me referindo?
Sim, obrigado por trazê-lo à tona!
"A função retorna o último erro ocorrido, então o valor da variável especial last_error onde o último código de erro é armazenado será zerado. Portanto, a próxima chamada para GetLastError() retornará 0".
O dicionário MetaEditor lê:
Esta função retorna o último erro ocorrido, então o valor da última variável de erro especial onde o último código de erro é armazenado será zerado...
Overde é entendido e o amarelo não é entendido.
. . . adicione estas duas linhas e tente.
Será feito.
Acho que você não está me entendendo. . . se eu adicionar algumas chaves, talvez fique mais claro. . . você fez isso . .
Creio que pretendia fazer isto . ...
Isto porque eu desejava a condição . ...
a ser aplicada à seção de código dentro dos aparelhos ("{ }").
O requisito era . . . "imprimir o número do bilhete para o log no formulário "Número do bilhete para USDJPY = "".
Isso pode ser feito.
Obrigado.
"A função retorna o último erro ocorrido, então o valor da variável especial last_error onde o último código de erro é armazenado será zerado. Portanto, a próxima chamada para GetLastError() retornará 0".
O dicionário MetaEditor lê:
Esta função retorna o último erro ocorrido, então o valor da última variável de erro especial onde o último código de erro é armazenado será zerado...
Overde é entendido e o amarelo não é entendido.
OK, como você pode ver na documentação GetLastError() não imprime nada . . . apenasretorna o número do erro . . . para usá-lo, você precisa fazer algo com ele . . .
Quando você chama GetLast Error() ele retorna o erro e depois limpa para zerar a variável que estava usando internamente para reter o último erro . . . então se você fez isso . .
a 2ª chamada para GetLastError() retornará 0 como a primeira chamada zerou a variável que contém o número do erro . . . também tenha em mente que apenas o erro mais recente é retido.
Acho que você não está me entendendo... se eu acrescentar alguns aparelhos, talvez seja mais claro... . você fez isso . .
Creio que pretendia fazer isto . . .
Isto é porque eu desejava a condição ...
a ser aplicada à seção de código dentro dos aparelhos ("{ }").
Mas você não . . . perdeu-o em seu projeto, depois perdeu-o quando codificou, depois perdeu-o quando leu seu código e verificou que ele faria o que você queria, depois perdeu-o quando testou . . os aparelhos são uma dessas coisas fundamentais que você deve saber como a palma de sua mão.
Você precisa entender por que perdeu isso e resolver esse problema . . . ninguém mais pode fazer isso por você, a menos que você queira pagá-los para codificar para você.
Simon,
O 0 em sua imagem é provavelmente de . . .
Print(OrderCloseTime());
Nah-uh-uh! ;)
Vamos fazer uma viagem pela faixa de documentação... Hahaha.
Nota: A ordem deve ser previamente selecionada pela função OrderSelect().
Primeiro, vamos ambos dar uma olhada no bloco de código da função OrderClose() que codifiquei recentemente...
A seguir, vamos ambos dar uma olhada no resultado mostrado em um instantâneo do painel de 'Especialistas'...
Aaah, o que temos aqui? :)
Favor postar uma resposta para o novo assessor especializado anexo. O exercício ainda atende a todos os critérios incluídos?
A questão subjacente que é causada pela forma como você codificou seu loop while . . . a questão que estava causando o ticket Inválido para a função OrderClose e Unknown ticket 2 para OrderModify você não te corrigiu porque você abordou o sintoma.
Desejo discutir este assunto com você em detalhes, permitindo-me concentrar meus pensamentos na resolução do problema sem nenhuma distração de outros pontos.Obrigado.