Erros, bugs, perguntas - página 2290

 
Nikolai Semko:

Sim, instalado em outro terminal - funciona também em lançamento.

Bug apenas com leitura. Não há forma de ler.

 
fxsaber:
#define protected public
  #include <Canvas\Canvas.mqh>
#undef protected
 
fxsaber:

Bug apenas com leitura. Não há forma de o ler.

Sim. Já percebi isso. Que pena.
Acha que a MQ se vai incomodar com isso?
Duvido, no entanto.

É uma pena, evidentemente, que tenhamos de desistir da ideia de reescrever alguns códigos de MT5 para MT4. Ainda assim, a multidão principal ainda está em 4K. Um mistério da natureza...

 
fxsaber:

Penso que nunca tinha lido a tela antes, apenas fez entradas lá.

Lembrei-me agora que não conseguia compreender há uns anos atrás porque é que o código funcionava no 5 e não no 4. Agora compreendo que a razão para isso foi porque o código não funcionava quando se lia a partir do recurso.

 

Imaginemos um TS invertido na rede. Todos os negócios serãodo tipo DEAL_ENTRY_INOUT.

Para sabermos da história qual era o tamanho da posição no momento de fazer um acordo, precisamos de correr pela PositionID de cada vez, calculando o lote. Ou, é necessário criar algum caching para que funcione sem atrasos.

Se tiver feito uma centena de voltas, terá de correr no loop esta centena de vezes de cada vez, com o correspondente não rápido HistorySelectByPosition.


Se bem entendi, então não há outro método para determinar este valor.


Ou, por exemplo, faz muito DEAL_ENTRY_IN e DEAL_ENTRY_OUT, sem fechar uma posição. E é possível determinar o volume da posição histórica, mais uma vez, apenas através de um jogging apropriado sobre a história.


É possível entrar DEAL_POSITION_VOLUME - tamanho da posição após uma troca?

 

Não sei se estou a escrever no sítio certo, mas no meu sinal, que serve para monitorizar o desempenho da EA, surgiu um aviso que não tem absolutamente nada a ver com a realidade.

""80% dos ganhos foram obtidos em 16 dias. Isso é 4% da vida útil total do sinal de 376 dias".


Como pode isto ser, ou estou a interpretar mal alguma coisa?

sinal

 
Um erro na lógica dos operadores
int f( int x )
{
    while ( true ) {
        /*   ...*/
        /*if ...*/ continue;
        /*if ...*/ return 1;
        /*if ...*/ continue;
        /*   ...*/
    }
} //Error: '}' - not all control paths return a value
 
A100:
Um erro na lógica dos operadores

Isto não é grave.

 
fxsaber:

Isto não é grave.

Se não fosse grave, os Desenvolvedores aqui e aqui ... não seria consertá-lo. Acreditem, eles não são tolos e podem distinguir entre
Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2016.11.02
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 

Os objectos gráficos não têm uma propriedade que defina a sua ordem sobreposta (Z-Order). A propriedade existente OBJPROP_ZORDER não tem nada a ver com ela, embora tenha um nome semelhante por alguma razão.

Costumava pensar que a ordem de sobreposição era determinada pela data de criação de um objecto. No entanto, se para qualquer objecto se fizer

ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_NO_PERIODS);
ObjectSetInteger(chartid, objectname, OBJPROP_TIMEFRAMES, OBJ_ALL_PERIODS);

não são alteradas as propriedades deste objecto. Assim, é impossível determinar programmaticamente qual o objecto acima ou abaixo. No entanto, a MT armazena esta informação algures. Por isso, gostaria de ter uma propriedade correspondente no ObjectGetInteger.

Razão: