Erros, bugs, perguntas - página 2361

 
Artyom Trishkin:

Talvez deva ser afixado nas características?

Vou tentar desenhá-lo.

 
Comentários não relacionados com este tópico foram transferidos para "Perguntas dos principiantes do MQL4 MT4 MetaTrader 4".
 

Caros web designers do website,

Aqui está uma captura de ecrã das mensagens, por favor diga-me qual é o interlocutor actualmente seleccionado


Os meus olhos já estão a subir na minha testa para compreender a quem estou a escrever para .....

Por favor, código de cor aqueles a quem não respondeu, aqueles a quem respondeu, e um código de cor separado para a pessoa a quem está a enviar mensagens de texto ...

 
Vladimir Pastushak:

Caros web designers do website,

Aqui está uma captura de ecrã das mensagens, por favor diga-me qual é o interlocutor actualmente seleccionado


Os meus olhos já estão a subir na minha testa para compreender a quem estou a escrever para .....

Por favor, código de cor aqueles a quem não respondi, aqueles a quem respondi, e um código de cor separado para a pessoa a quem estou a enviar mensagens de texto...

2

Concordo, no entanto. Nem sempre se dá por isso, há pouco contraste.

 
Vladimir Pastushak:

Aqui está uma captura de ecrã das mensagens, por favor diga-me qual é o interlocutor actualmente seleccionado

em Cromo(71.0.3578.98) ok em FF (64) não visível de todo
 
Em geral, seria bom acrescentar contraste em todo o site
 

se for possível desreferenciar um *pontador abjecto em MQL ?

Experimentei diferentes variantes, aqui está um guião para teste, adiciono 3 elementos Myclass à lista ligada e depois mudo os valores dos campos CMyclass, funciona:

#include <Object.mqh>
#include <Arrays\List.mqh>
//+------------------------------------------------------------------+
class CMyclass:public CObject
  {
public:
   int               x;
   double            y;
   void              CMyclass(void):x(-1),y(-2.2) { }
  };
//+------------------------------------------------------------------+
void OnStart()
  {
   CList *base=new CList;
   CMyclass *result;
   for(int i=0;i<3;i++)
     {
      base.Add(new CMyclass);
      result=base.GetCurrentNode();
      result.x = 99;
      result.y = -555.5;
     }
   for(int i=0;i<3;i++)
     {
      result=base.GetNodeAtIndex(i);
      Print(result.x," : ",result.y);
     }
   delete base;
  }
//+------------------------------------------------------------------+

Posso modificar campos de elementos CMyclass criados dinamicamente, sem ponteiro intermédioCMyclass *resultado ?

Como isto:(CMyclass *)(base.GetCurrentNode()).x = 99;

PS: Suspeito que precisamos de usar typedef , mas até agora sem sucesso

 
Igor Makanu:

se for possível desreferenciar um *pontador abjecto em MQL ?

Experimentei diferentes variantes, aqui está um guião para teste, adiciono 3 elementos Myclass à lista ligada e depois mudo os valores dos campos CMyclass, funciona:

Posso modificar campos de elementos CMyclass criados dinamicamente, sem ponteiro intermédioCMyclass *resultado ?

Como isto:(CMyclass *)(base.GetCurrentNode()).x = 99;

PS: Suspeito que precisamos de usar typedef , mas até agora sem sucesso

Não sei o que faz o CList da biblioteca, mas eu costumava fazer isto

#define  alive(node)  (CheckPointer(node)==POINTER_DYNAMIC)
#define  loopf(type, node)  for(type *o=alive(node)?node.First():NULL; alive(o); o=alive(o)?(alive(o.Next())?o.Next():NULL):NULL)
//.....
      loopf(COrder, corr){
         if((fabs(o.StopLoss()-sl)>=_point(o.Symbol())) || (fabs(o.TakeProfit()-tp)>=_point(o.Symbol()))){
            o.SLTP(sl, tp);
         }
      }
//.....
 
Ilya Malev:

Não sei o que faz o CList da biblioteca, mas eu costumava fazer isto

Obrigado, não é o que eu procuro, o vosso exemplo é de facto uma conversão de tipo através de chamada de função

SZZ: Não estou habituado a trabalhar com apontadores em MQL, estou a tentar compreendê-lo. Este exemplo parece ser simples e funcional, mas não encontrei nenhuma solução, como trazer o resultadoGetCurrentNode () -->CObject * ao meu tipoCMyclass.... Claro, posso usar o construtor declasse CMy, mas espero, é possível encontrar uma solução limpa em MQL

 
Igor Makanu:

Obrigado, não é o que eu procuro, o vosso exemplo é de facto uma conversão de tipo através de chamada de função

SZZ: Não estou habituado a trabalhar com apontadores em MQL, estou a tentar compreender este exemplo simples e funcional, mas não encontrei nenhuma solução para trazer o resultadoGetCurrentNode () -->CObject * ao meu tipoCMyclass.... Claro, posso usar oconstrutor declasse CMy, mas espero que haja uma solução inteligente de conversão de tipo em MQL

Não tenho aí funções, o meu problema é aquele que descreveu. A minha classe base é o CNode ( que tem métodos Prev(), Next(), etc.) O loop chama os campos de COrder, que é o seu descendente. O laço é declarado em define 1 tempo e depois é utilizado em todo o lado.