Erros, bugs, perguntas - página 2339

 
pavlick_:

A compilação falha, erros:
a' - demasiado complexo, simplificar a macro temp.mq5 24 10
's' - membro estruturante indefinido temp.mq5 24 10
...

Isto é, o pré-processador parece estar a tentar expandir recursivamente a.m

Voltando ao tema da retroiluminação

#define a       s.a

Se .a não é destacada - então o compilador não a considera uma macro. Ao mesmo tempo, é um erro. Acontece que a compilação por si só... e a compilação propriamente dita por si só, enquanto devem funcionar em sincronia como nos exemplos seguintes:

#define b       b.x

void OnStart()
{
        int b = 1;
#define b   b + 2
        Print( b ); //Error: 'b' - too complex, simplify the macro
}
Isto em si é errado (porque em C++ compila sem erros e resultado: 3), mas pelo menos é síncrono (tanto o iluminador como o compilador são guiados pela mesma lógica)
 
fxsaber:

Também não funciona para mim com dados reais.

Eu criei um teste EA:

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
input int BreakTick = 5;
int OnInit()
  {
   count = 0;
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
static int count = 0;
void OnTick()
  {
   if(count++>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
   
  }
//+------------------------------------------------------------------+

DebugBreak() não funciona se premir o botão "Start profiling on real data" no MetaEditor, mas funciona se premir "Start/continue debugging on real data F5".

Nada funciona no testador - não pode parar a execução do programa e sair para o depurador, log:

2018.12.05 14:46:19.413 tst EURUSD,H1: contar = 6 , perguntar = 1.13397

2018.12.05 14:46:18.740 tst EURUSD,H1: contar = 5 , perguntar = 1.13396

2018.12.05 14:46:09.004 tst EURUSD,H1: contar = 4 , perguntar = 1.13396

2018.12.05 14:46:03.079 tst EURUSD,H1: contar = 3 , perguntar = 1.13395

2018.12.05 14:46:02.830 tst EURUSD,H1: contar = 2 , perguntar = 1.13395

2018.12.05 14:46:02.595 tst EURUSD,H1: contar = 1 , perguntar = 1.13394

2018.12.05 14:45:53.889 tst EURUSD,H1: inicializado

2018.12.05 14:45:53.869 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:52.131 perito tst EURUSD,H1: carregado com sucesso

2018.12.05 14:45:45.899 Perito tst EURUSD,H1: removido

2018.12.05 14:45:45.814 tst EURUSD,H1: uninit reason 1

2018.12.05 14:45:44.510 tst EURUSD,H1: contar = 14 , perguntar = 1.13393

2018.12.05 14:45:44.177 tst EURUSD,H1: contar = 13 , perguntar = 1.13392

2018.12.05 14:45:42.966 tst EURUSD,H1: contar = 12 , perguntar = 1.13393

2018.12.05 14:45:42.152 tst EURUSD,H1: contar = 11 , perguntar = 1.13393

2018.12.05 14:45:41.996 tst EURUSD,H1: contar = 10 , perguntar = 1.13392

2018.12.05 14:45:39.544 tst EURUSD,H1: contar = 9 , perguntar = 1.13393

2018.12.05 14:45:39.345 tst EURUSD,H1: contar = 8 , perguntar = 1.13392

2018.12.05 14:45:35.605 tst EURUSD,H1: contar = 7 , perguntar = 1.13394

2018.12.05 14:45:32.049 tst EURUSD,H1: contar = 6 , perguntar = 1.13394

2018.12.05 14:45:29.085 tst EURUSD,H1: contar = 5 , perguntar = 1.13393

2018.12.05 14:45:27.735 tst EURUSD,H1: contar = 4 , perguntar = 1.13393

2018.12.05 14:45:27.580 tst EURUSD,H1: contar = 3 , perguntar = 1.13393

2018.12.05 14:45:26.212 tst EURUSD,H1: contar = 2 , perguntar = 1.13393

2018.12.05 14:45:25.853 tst EURUSD,H1: contar = 1 , perguntar = 1.13392

2018.12.05 14:45:25.684 tst EURUSD,H1: inicializado

2018.12.05 14:45:25.664 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 14:45:24.163 perito tst EURUSD,H1: carregado com sucesso

Primeiro houve uma corrida do meta-editor via "Run profiling on real data" - apaguei o perito à mão, só depois entrei no editor, depois uma corrida em F5 - aqui tudo funcionou, mas é confuso que Print("count = ",count," , Ask = ",Ask); que após o ponto de quebra foi executado
 
Igor Makanu:

criou um teste EA:

DebugBreak() não funciona se premir o botão "Start profiling on real data" no MetaEditor, mas funciona se premir "Start/continue debugging on real data F5".

nada funciona no testador - não pode parar a execução do programa e sair para o depurador, log:

Primeiro houve uma corrida a partir do meta-editor via "Run profiling on real data" - apagou a EA à mão, só depois entrou no editor, depois uma corrida em F5 - tudo funcionou aqui

Obrigado, funciona mesmo. Algo assustadoramente começou muitas vezes a publicar declarações erróneas.

 
fxsaber:

Obrigado, realmente funciona. Algo assustadoramente comum para colocar declarações erradas...

O meu avô sempre disse: só quem nada faz não está errado!

;)

o meu exemplo deveria funcionar assim, ou melhor, deveria parar após 5 ticks:

void OnTick()
  {
   if(++count>5) DebugBreak();
   Print("count = ",count," , Ask = ",Ask);
  }

log:

2018.12.05 15:27:06.815 tst EURUSD,H1: contar = 5 , perguntar = 1.13563

2018.12.05 15:27:06.488 tst EURUSD,H1: contar = 4 , perguntar = 1.13563

2018.12.05 15:27:05.469 tst EURUSD,H1: contar = 3 , perguntar = 1.13563

2018.12.05 15:27:04.795 tst EURUSD,H1: contar = 2 , perguntar = 1.13563

2018.12.05 15:27:04.288 tst EURUSD,H1: contar = 1 , perguntar = 1.13563

2018.12.05 15:27:03.057 tst EURUSD,H1: inicializado

2018.12.05 15:27:03.024 tst EURUSD,H1 inputs: BreakTick=5;

2018.12.05 15:27:01.376 perito tst EURUSD,H1: carregado com sucesso

 

Preciso de testar se o sincronizador do ambiente comercial virtual funciona correctamente com o real.

Para o fazer, preciso de fazer um teste EA no Visualizador e começar a interferir com ele à mão - colocando posições, apagando ordens pendentes, etc.


É evidente que o MT5 não é absolutamente adequado para isso devido a várias limitações (apenas os botões podem ser premidos e os indicadores não podem ser trocados).

Estou a pedir um indicador (não um Expert Advisor ou um EA que não seja difícil de mudar para um indicador) para o MT4 que pode ser colocado na janela do visualizador e usado para "brincar" enviando ordens de negociação para o Testador à mão.


Se tiver um indicador EX4, por favor envie-me como mensagem privada. O mercado tem muitos deles, mas todos eles são conselheiros.

SZY À procura disso, o indicador não conseguiu encontrar, mas encontrou uma bíblia. Vou tratar do assunto, obrigado.

 
fxsaber:

Preciso de testar se o sincronizador do ambiente comercial virtual funciona correctamente com o real.

Para tal, preciso de fazer um teste EA no Visualizador e começar a interferir com ele manualmente - colocando posições, apagando ordens pendentes, etc.


É evidente que o MT5 não é absolutamente adequado para isso devido a várias limitações (apenas os botões são premidos e os indicadores não podem negociar).

Estou a pedir um indicador (não um Expert Advisor ou um EA que não seja difícil de mudar para um indicador) para o MT4 que pode ser colocado na janela do visualizador e usado para "brincar" enviando ordens de negociação para o Testador à mão.


Se tiver um indicador EX4, por favor envie-me como mensagem privada. O mercado tem muitos deles, mas todos eles são conselheiros.

SZY Procurado assim, o indicador não conseguiu encontrar, mas encontrou uma bíblia. Irei procurar, obrigado.

É proibida a utilização de funções comerciais em indicadores. Ou seja, eles não podem negociar.

 
Andrey Barinov:

Os indicadores não estão autorizados a utilizar funções comerciais. Isto é, eles não podem negociar.

Mesmo em MT4?

 
fxsaber:

Mesmo em MT4?

Infelizmente, em qualquer indicador que chame funções de negociação é proibido.
Já experimentaram a minha biblioteca, o que encontraram?

 
Vladislav Andruschenko:
Infelizmente em qualquer indicador a chamada de funções de negociação não é permitida.
Já experimentaram a minha biblioteca, o que encontraram?

Ainda não investiguei. A variante com a biblioteca deve funcionar - vou escrever a biblioteca no Expert Advisor com quem me vou meter para ter um painel para negociação manual.


É possível anexar (correr) um guião comercial infinito paralelamente a um Expert Advisor de teste no MT4 Visualizer?

 
fxsaber:

Ainda não investiguei. A opção biblioteca deve funcionar - vou escrever uma biblioteca na EA com a qual me vou meter para ter um painel para comércio manual.

Está bem. Ocasionalmente, irei actualizar a bibla para a versão mais recente.
Razão: