Erros, bugs, perguntas - página 2681

 

Olá colegas.

Posso não ser o primeiro a fazer esta pergunta. Escrevi para outro tópico, mas não recebi uma resposta dos criadores. Porque é que o valor real do pip em XAUUSD é 1USD?

A função SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) mostra persistentemente 0.1USD

E como contar o drawdown, o lucro e outras coisas, enquanto os pares de moedas mostram o valor normal do tick.

Terminal Z.I. MT5

 
Andrey Kaunov:

Olá colegas.

Posso não ser o primeiro a fazer esta pergunta. Escrevi para outro tópico, mas não obtive uma resposta dos criadores. Porque é que o valor real do pip em XAUUSD é 1USD?

A função SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_VALUE) mostra persistentemente 0.1USD

E como contar o drawdown, o lucro e outras coisas, enquanto os pares de moedas mostram o valor normal do tick.

Terminal MT5 da Z.U.

Deve perguntar ao seu corretor, estes dados são preenchidos pelo corretor...

 
bug MT5 (build 2366), erro de compilação ao aceder a ummétodo estático de uma classe que é acedido através de um tipo de argumento de função modelo.

template<typename _Tp>
struct It_g{
   class Opt{
      template<typename _It>
      static void test(_It &it){               
         _Tp p = it.p;                  
      };
   };
   
   _Tp p;
};

template<typename _Tp>
class V{
public:
   struct It : public  It_g<_Tp>{};
   It b;
};


template<typename T>
class GetStructType{
public:
   struct type : public T{};
};

template<typename _It>
void test(_It &it){
   GetStructType<_It>::type::Opt::test(it);   // Ok
   
   _It::Opt opt;
   opt.test(it);                              // Ok
   
   _It::Opt::test(it);                        // '_It' is not a class, struct or union | 'Opt' is not a class, struct or union
}

class ClassA{};


void OnStart(){ 
   V<int> v1;
   test(v1.b);
   
   V<ClassA*> v2;
   test(v2.b);
   
   V<int>::It it3;
   test(it3);
   
   V<ClassA*>::It it4;
   test(it4);
}
 
Bug MT5 (build 2366), erro de compilação devido à utilização incorrecta do namespace e do âmbito no construtor do template ao chamar a classe base.
O problema ocorre quando o mesmo nome de classe é utilizado: no espaço de nomes global, na classe interna, e quando herdado como uma classe base.

template<typename T>
struct B{
   char data;
   
   B(){}
   B(int){}
};


template<typename T>
class A{
public:
   struct __reverse_iterator : public B<T>{
      __reverse_iterator() : B<T>(1){}                 // Ok
      
      template<typename TT>
      __reverse_iterator(const TT& n) : B<T>(n){}      //'<' - template mismatch
   };
   
   struct B : public __reverse_iterator{
      B() : __reverse_iterator(){}
      B(int n) : __reverse_iterator(n){}
   };
};

   
void OnStart(){  
   A<int>::B it_1();      // Ok
   A<int>::B it_2(1);     // Compile Error
}


Em C++, tudo funciona através de uma referência explícita ao namespace global. C++ online:https://onlinegdb.com/BJIV6frUI
Em MQL isto não pode ser feito - Compile Error, bug na definição de classe interna - nenhuma possibilidade de referência explícita ao espaço de nomes global ao especificar uma classe base(não corrigida em MT5(build 2366)).

Há também um problema no construtor ao chamar a classe base que está relacionada com o bug apresentado anteriormente -https://www.mql5.com/ru/forum/1111/page2680#comment_15546487.
Note-se que "funciona" tanto com namespace como com classes internas.

 
Vladimir Pastushak:

Deve perguntar ao seu corretor, é o corretor que preenche os dados...

Estou a ver, obrigado Vladimir.

 

O copo não funciona no aparelho de teste? - não encontrou nada sobre esta questão na ajuda.

MarketBookAdd (Símbolo ())) subscreve o copo e dá verdade, mas o evento OnBookEvent (const string &symbol) não vem uma única vez durante todo o teste.

 
Andrey Dik:

O copo não funciona no aparelho de teste? - não encontrou nada sobre esta questão na ajuda.

MarketBookAdd (Símbolo ())) subscreve o copo e dá verdade, mas o evento OnBookEvent (const string &symbol) não vem uma única vez em todo o teste.

Não funciona. E não há história da taça.

 

alguém me pode dizer qual é o erro 533?

assumiu que a versão onde compilada é mais recente - pedida para ser actualizada. não ajudou.

 
Igor Zakharov:

alguém me pode dizer qual é o erro 533?

assumiu que a versão onde compilada é mais recente - pedida para ser actualizada. não ajudou.

A integridade do ex5 é quebrada.

De onde tirou este ex5?

Ilyas poderá responder com mais detalhes se lhe enviar este perito

Ilyas
Ilyas
  • www.mql5.com
Профиль трейдера
 
Slava:

A integridade do ex5 foi comprometida.

De onde tirou este ex5?

Ilyas poderá responder com mais detalhes, se lhe enviar este perito

Compilei-o em build 2361. no terminal onde foi compilado - funciona. i skype-o a outra pessoa para o experimentar (sem fonte) - erro 533.

Não posso enviar-lho de volta, por isso carreguei 2366 e recompilei-o novamente (com o mesmo nome).

acrescentado: skype salvou-o. irá enviá-lo.

adicionado2: recompilar para 2366 causa o mesmo erro. Enviei a fonte e compilei para Ilyas.