Errori, bug, domande - pagina 2361

 
Artyom Trishkin:

Forse dovrebbe essere visualizzato nelle caratteristiche?

Cercherò di progettarlo.

 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 

Cari web designer del sito,

Ecco uno screenshot dei messaggi, per favore ditemi quale interlocutore è attualmente selezionato


Già i miei occhi si arrampicano sulla fronte per capire a chi sto scrivendo .....

Si prega di codificare a colori quelli a cui non hai risposto, quelli a cui hai risposto, e un codice colore separato per la persona a cui stai scrivendo...

 
Vladimir Pastushak:

Cari web designer del sito,

Ecco uno screenshot dei messaggi, per favore ditemi quale interlocutore è attualmente selezionato


Già i miei occhi si arrampicano sulla fronte per capire a chi sto scrivendo .....

Si prega di codice colore quelli a cui non ho risposto, quelli a cui ho risposto, e un codice colore separato per la persona a cui sto scrivendo ...

2

Sono d'accordo però. Non si nota sempre, c'è poco contrasto.

 
Vladimir Pastushak:

Ecco uno screenshot dei messaggi, per favore ditemi quale interlocutore è attualmente selezionato

in Chrome(71.0.3578.98) ok in FF (64) non visibile affatto
 
In generale, sarebbe bene aggiungere il contrasto in tutto il sito
 

se è possibile dereferenziare un puntatore *CObject in MQL?

Ho provato diverse varianti, ecco uno script di prova, aggiungo 3 elementi Myclass alla lista collegata e poi cambio i valori dei campi CMyclass, funziona:

#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 modificare i campi degli elementi CMyclass creati dinamicamente, senza puntatore intermedioCMyclass *result?

Inquesto modo:(CMyclass *)(base.GetCurrentNode()).x = 99;

PS: sospetto che abbiamo bisogno di usare typedef, ma finora senza successo

 
Igor Makanu:

se è possibile dereferenziare un puntatore *CObject in MQL?

Ho provato diverse varianti, ecco uno script di prova, aggiungo 3 elementi Myclass alla lista collegata e poi cambio i valori dei campi CMyclass, funziona:

Posso modificare i campi degli elementi CMyclass creati dinamicamente, senza puntatore intermedioCMyclass *result?

Inquesto modo:(CMyclass *)(base.GetCurrentNode()).x = 99;

PS: sospetto che abbiamo bisogno di usare typedef, ma finora senza successo

Non so cosa faccia la libreria CList, ma io facevo così

#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:

Non so cosa faccia la libreria CList, ma io facevo così

Grazie, non è quello che sto cercando, il tuo esempio è infatti una conversione di tipo tramite chiamata di funzione

SZZ: Non sono abituato a lavorare con i puntatori in MQL, sto cercando di capirlo. Questo esempio sembra essere semplice e funzionante, ma non ho trovato alcuna soluzione, come portare il risultato diGetCurrentNode () -->CObject * al mio tipoCMyclass.... Naturalmente, posso usare il costruttoreCMyclass, ma spero che sia possibile elaborare una soluzione ordinata in MQL

 
Igor Makanu:

Grazie, non è quello che sto cercando, il tuo esempio è infatti una conversione di tipo tramite chiamata di funzione

SZZ: non sono abituato a lavorare con i puntatori in MQL, sto cercando di capire questo esempio semplice e funzionante, ma non ho trovato nessuna soluzione per portare il risultatoGetCurrentNode () -->CObject * al mio tipoCMyclass.... Naturalmente, posso usare ilcostruttoreCMyclass, ma spero che ci sia una soluzione intelligente di conversione dei tipi in MQL

Non ho funzioni lì, il mio problema è quello che hai descritto. La mia classe base è CNode (che ha metodi Prev(), Next() ecc.) Il ciclo chiama i campi di COrder, che è il suo discendente. Il ciclo è dichiarato in definisce 1 volta e poi è usato ovunque.