Imparare e scrivere insieme in MQL5 - pagina 27

 
Khomtchenko:

Puoi dirmi cosa significano quelle barre verdi in basso? In MT4 significavano il volume del lotto e venivano disegnati quando il lotto cambiava. Ma a cosa serve qui? O il mio volume del lotto cambia? Sembra che io non lo cambi.

Lo dice nell'angolo in alto a sinistra: "Livello di margine".

 

Un'altra domanda: a giudicare dal grafico del tester, ci sono molte volte meno entrate a mercato su mql5 o il tester mostra i risultati di diversi trade in modo generalizzato o liscio. Beh, i risultati dei test sono diversi e questo è tutto!

A proposito, ho sentito un sacco di cose intelligenti come "pulire i fari", "battere il volante" e gli EA ma nessuno mi ha spiegato niente in particolare o sottolineato i miei errori. Riassumerò anche in un rapporto tutti i commenti fatti dai moderatori e dagli esperti per chiarire se il super prodotto mql5 ha un supporto tecnico normale.

 
Khomtchenko:
A proposito, ho ascoltato un sacco di cose intelligenti come "pulire i fari" e "toccare la ruota", ho postato gli EA, ma nessuno mi ha spiegato specificamente nulla e non ha sottolineato i miei errori. Riassumerò anche tutti i commenti fatti dai moderatori e dagli esperti in un rapporto per chiarire se il super prodotto mql5 ha un supporto tecnico decente.

Hai allegato i rapporti dello staff del tester in formato zip ai tuoi post?

Non appena li guarderete voi stessi e farete un'analisi post-processo, capirete tutto in una volta. Non c'è bisogno di perdere tempo con stime superficiali come "i totali e il numero di accordi non quadrano".

Vi sono stati dati i percorsi di ricerca: controllo della storia (vi affidate all'errata convinzione che la storia sia la stessa ovunque) e analisi caso per caso.

Документация по MQL5: Торговые функции / HistoryDealsTotal
Документация по MQL5: Торговые функции / HistoryDealsTotal
  • www.mql5.com
Торговые функции / HistoryDealsTotal - Документация по MQL5
 

Nell'ultima build sono apparsi costruttori con parametri. Grazie mille agli sviluppatori!

Ma è sorto un problema quando si ereditano tali costruttori. Quando si compila il seguente codice si verifica un errore "clsBase - wrong parameters count" e il compilatore punta alla linea rossa in grassetto:

class clsBase {
    protected:
        string __strSymbol;
        ENUM_TIMEFRAMES __enumTF_thisTF;

    public:
        void clsBase(int intX);
        void ~clsBase();
};


void clsBase::clsBase(int intX) {

}


class clsInherit:public clsBase{

    public:
        void clsInherit(int intX,double dblY);
        void ~clsInherit();
};


void clsInherit::clsInherit(int intX,double dblY):clsBase(int intX){

}

Inoltre, se si commenta la linea verde in grassetto, la compilazione procede senza errori.

Cioè, se non è un bug, sto dichiarando il costruttore di una classe ereditata in modo errato.

Niente di nuovo nell'aiuto finora, cioè dice che i costruttori con parametri non sono possibili.

Si prega di spiegare la sintassi della chiamata al costruttore con parametri per la classe ereditata.

 

Provate in questo modo:

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsBase
  {
protected:
   string            __strSymbol;
   ENUM_TIMEFRAMES   __enumTF_thisTF;

public:
   void              clsBase(int intX);
   void             ~clsBase() {};
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void clsBase::clsBase(int intX)
  {
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class clsInherit:public clsBase
  {
public:
                     clsInherit(int intX,double dblY):clsBase(intX)
     {
     }
                    ~clsInherit()
     {

     }
  };
 

L'ho già provato!

Tutti gli stessi

void clsInherit::clsInherit(int intX,double dblY):clsBase(intX)

void clsInherit::clsInherit(int intX,double dblY)


Il compilatore dice la stessa cosa

PS Mentre scrivevo questo, il tuo post è stato aggiornato. Proverò di nuovo adesso.


PPS Ho provato, ma è lo stesso di quello che ho scritto prima, cioè senza corpo del costruttore la compilazione passa.

Ma non ho bisogno di scrivere il costruttore nel corpo della dichiarazione di classe, ho solo bisogno di dichiararlo lì e scrivere il corpo del costruttore stesso (ne ho uno lungo) più avanti, come si fa di solito.

In altre parole, ripeto la domanda :)

La sintassi per chiamare un costruttore con parametri in una classe ereditata?

 
falkov:

Ma non ho bisogno di scrivere il costruttore nel corpo della dichiarazione di classe, ho solo bisogno di dichiararlo lì e scrivere il corpo del costruttore stesso (ne ho uno lungo) più avanti, come si fa di solito.

In MQL5 si raccomanda di non dividere le classi in file MQH/MQ5 e di non separare la descrizione dall'implementazione in un file, ma di scrivere il corpo direttamente nel blocco della classe.


La sintassi di una chiamata al costruttore con parametri in una classe ereditata?

Il bug di cui sopra è già stato risolto - sarà disponibile nella prossima build. Sarà possibile prendere l'implementazione di costruttori complessi al di fuori del blocco di descrizione della classe.


ps: il mio codice di esempio si compila bene, ho controllato

 

Il tuo esempio compila senza errori, è quello che ho detto, ma non è quello di cui ho bisogno.

Grazie per la prossima build, non vedo l'ora!

 
Hai allegato i rapporti dello staff del tester in formato zip ai tuoi post?

Ho esposto i consiglieri per voi. Vedi tutto quello che ti piace! 10 secondi per compilare e testare un altro 1 minuto. Tu vuoi le proprietà dell'oggetto e io ti do l'intero oggetto.

Si ottengono risultati diversi, e i risultati sono drammaticamente diversi. Gli Expert Advisors hanno un codice molto piccolo. Un paio di funzioni standard per aprire una posizione e 4 linee della strategia stessa.

Ok. C'è qualche altro sito dove gli sviluppatori di prodotti mql5 possono sostenere il loro sviluppo? Non c'è aiuto qui. Solo scuse. Come se tu potessi capirlo da solo... GRAZIE A TUTTI.

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 
Khomtchenko:

C'è qualche altro sito dove gli sviluppatori di prodotti mql5 possono difendere il loro sviluppo?

Non c'è aiuto qui. Ci sono solo scuse. Come se lo capissi da solo...

Prima di tutto, questi sono i vostri esperti di sviluppo.

Secondo, se voi siete pigri, perché gli altri dovrebbero fare lo stesso?

Motivazione: