Erros, bugs, perguntas - página 2337

 

Aos promotores. Por favor, corrija um erro na MQL4.

Escala fixa criada manualmente através de F8, separador "Geral", caixa de verificação "Fix scale 1:1" não corresponde aos valores de uma função semelhante ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,valor).

Como reproduzir. O guião na aplicação é executado no gráfico, a função acima será chamada. O campo Comentário terá os seguintes valores:

Comentário("resultado = ", resultado, "; WindowPriceMax = ", WindowPriceMax, "; WindowPriceMin = ", WindowPriceMin);

Estes também serão visíveis se premir F8, separador Geral, ver campos - "Fixar máximo", "Fixar mínimo". Registar estes valores (1).

A seguir, cancelar a escala fixa desmarcando a caixa "Fix scale", a caixa "Fix scale 1:1" será automaticamente desmarcada.

Fixar manualmente a escala por F8, separador Geral, verificando "Fixar escala 1:1" irá automaticamente desmarcar a caixa "Fixar escala".

Confirmar a acção, premindo OK. Voltar a premir F8 e registar os valores "Fixar máximo", "Fixar mínimo" (2).

Comparar os valores registados (1) e (2).

Por exemplo, para mim, depois de o guião funcionar:

Fixar máximo - 112.004
Assegurar o mínimo - 111.420

Depois de definido manualmente:

Alta segura - 112.004
Assegurar o mínimo - 111.398

PS: Verificado novamente. Parece que não é um bug MQL4, mas o terminal 4.00 Build 1147 16 Nov 2018
Arquivos anexados:
 

Os seguintes ficheiros não estão disponíveis via MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 e *.ex5. A razão é clara.

Que outros ficheiros são restritos?

 

Depois de fechar o terminal, os objectos nos objectos gráficos estão a perder as suas pontas de ferramentas! Caros programadores, por favor arranjem-no.

MT5, construção 1940 x64.

Guião de teste para testes:

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

Depois de fechar o terminal, os objectos nos objectos gráficos estão a perder as suas pontas de ferramentas! Caros programadores, por favor arranjem-no.

MT5, construção 1940 x64.

Guião de teste para testes:

Não alimente esperanças, esta questão já foi levantada há 5 anos atrás.

Resposta = a ponta da ferramenta não está escrita em lado nenhum e é armazenada enquanto o programa está em execução.

 

Será isto um desajuste válido na Documentação?

AccountInfoInteger

Devolve o valor dos bens relevantes da factura.

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

Parâmetros

property_id

[em] Identificador do bem. O valor pode ser um deENUM_ACCOUNT_INFO_INTEGER.

 
Sobre o relatório de bug. Verifiquei-o novamente. Parece ser um bug não em MQL4, mas no terminal 4.00 Build 1147 16 Nov 2018
 

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

Insectos, insectos, perguntas

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

Na realidade, significa.

void f()
{
}
static b;
static a;

em primeiro lugar estática separada, bem em {} depois


O mesmo código (complexo) executa de forma diferente em MT4/5 devido à diferente sequência de execução em MT4/5. Escrever um simples exemplo não funcionou.

 
fxsaber:

Os seguintes ficheiros não estão disponíveis via MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 e *.ex5. A razão é clara.

Que outros ficheiros são restritos?

Suspeito que *.cmd *.ts e outros ficheiros que tenham caído inadvertidamente no ramo de registo correspondente.
Ou seja, qualquer coisa que, quando aberta via eXporter, possa fazer com que uma aplicação/serviço seja iniciado

 
fxsaber:
O mesmo código (complexo) é executado de forma diferente em MT4/5 devido à diferente sequência de execução em MT4/5. Escrever um simples exemplo não funcionou.

Creio eu. Não tenho.

 
A100:

na realidade significa

primeiro a estática livre, bem em {} depois

Parece haver uma mudança recente no comportamento. Há algum tempo atrás a ordem era diferente - variáveis globais e estáticas foram inicializadas na mesma ordem (em ordem de declaração). Isto é, neste caso, primeiro a e depois b. Pode estar errado, mas é improvável.