Erros, bugs, perguntas - página 2067

 
Kirill Belousov:

Depois recebemos o erro 4108, começando com a iteração 2. E a condição OrderCloseTime!=0 não consegue sair

Por analogia

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

CPositionInfo - as informações estão actualizadas ou no momento da entrada no ciclo?

fxsaber, 2017.11.06 07:47

PositionGet devolve sempre a informação no momento da última chamada para uma das quatro funções
PositionSelectByTicket
PositionGetSymbol
PositionSelect
PositionGetTicket

Isso significa que a posição pode não existir há muito tempo e o PositionGet irá manter a informação antiga.


Existe uma estrutura interna só de leitura de posição, cujos campos são lidos através das funções regulares PositionGet. Seria provavelmente conveniente ter _Posição, semelhante a _Símbolo, _LastError, etc.

 
fxsaber:

Obrigado! Pensava-se que havia uma solução pronta, onde as peles do relógio podem ser mudadas uma vez/duas vezes.

Eu próprio compreendo que não é tecnicamente difícil de implementar. É que o Mercado ficou, mais uma vez, desagradavelmente surpreendido.

Com moderação no QB.

 
fxsaber:

Por analogia.

Obrigado. A necessidade de actualizar a informação sobre o bilhete seleccionado é clara.

Há ainda uma questão com erro 3.

O bilhete acabou de ser seleccionado, uma tentativa de o fechar na iteração 1 falhou com erro 3 e mesmo assim a ordem foi fechada.

Como se pode explicar este comportamento?

 
Kirill Belousov:

Como se pode explicar este comportamento?

Sem dados de reprodução, é difícil de responder.

 
Kirill Belousov:

Há ainda uma questão com erro 3.

O bilhete acabou de ser seleccionado, uma tentativa de fecho na iteração 1 ocorreu com erro 3 e mesmo assim a ordem foi encerrada.

Como se pode explicar este comportamento?

Não houve SL/TP sobre a posição?

Não me lembro de uma posição ser fechada após o erro #3.

 
Andrey Khatimlianskii:

A posição tinha um SL/TP?

Não me lembro de uma posição ser fechada após o erro #3.

As posições estavam sem SL/TP
 

Estava a fazer um EA e após a compilação seguinte diz

não pode abrir "C:\Users\vipma\AppData\Roaming\MetaQuotes\Terminal\908CDDF6DDEF089609CFD48700109B47\MQL5\include\Trade\trade.mqh

abriu a pasta include e estava vazia... Não sei onde e porque desapareceu (!)

acho que vou instalar um segundo MT5 e copiar a pasta a partir dele
Descarreguei e comecei a instalar e pedi um login e palavra-passe a partir de um servidor proxy
Eu não utilizo servidores proxy.

Como instalo o terminal?)

MT5x64b1653 __ L10x64 __ Avast Free Antivirus


 
 
 
Kirill Belousov:
As posições estavam sem SL/TP

Apagar os troncos, fará mais sentido. Tanto a EA como o terminal.