Preparare lo scalping - pagina 16

 

E un commento sull'eredità del costruttore. Quando viene creato un oggetto di una classe derivata, tutti i costruttori delle classi madri, a partire dal più vecchio, sono coerentemente chiamati. E se il costruttore non ha parametri, non c'è bisogno di fare alcun gesto, sarà chiamato automaticamente. Un costruttore con parametri è un altro caso, nell'esempio qui sotto ci sono due costruttori di questo tipo.

class CBaseScalper// : public CObject
{
protected:
    int     m_magic;
    string  m_symbol;
public:
    CBaseScalper() {}     
    CBaseScalper(int magic) //конструктор с одним параметром
    { 
        m_symbol = Symbol();
        m_magic = magic; 
    }
    CBaseScalper(int magic, string symbol) //конструктор с двумя параметрами
    { 
        m_symbol = symbol;
        m_magic = magic; 
    }
};

Quando ereditiamo da tale classe, se scriviamo il costruttore in questa forma, il costruttore predefinito CBaseScalper() sarà chiamato nella classe base.

class CM1PivotLevels : public CBaseScalper
{
public:
    CM1PivotLevels(int magic) // 
    {
        
    }
};

Ma se abbiamo bisogno di chiamare il costruttore con parametri in una classe base, dobbiamo specificarlo esplicitamente

class CM1PivotLevels : public CBaseScalper
{
protected:
    SPivotPoint m_pointMin;
    SPivotPoint m_pointMax;
public:
    CM1PivotLevels() {}
    CM1PivotLevels(int magic) : CBaseScalper(magic) //указали конструктор базового класса явно
    {
        
    }
    CM1PivotLevels(int magic, string symbol) : CBaseScalper(magic, symbol)  //указали конструктор базового класса явно
    { 
        Print("fff");
    }
    void GetPivotLines(double lmin, double lmax)        
    {
        
    }
};
 
Yury Kirillov:

Le rane preparate e lo scalpo non durano a lungo.

- dalle note di un patologo che conosco.

Aprire il dizionario del grande e potentehttps://www.multitran.ru/c/m.exe?l1=1&l2=2&s=prepare

In particolare,

Termini IT che contengono preparare: tutte le forme della parola (1)

prepare for callback - prepare for callback

 
Alexey Volchanskiy:

Ho cacciato male gli elefanti.

Come tuo fan, esigo una risposta

 
Fast528:

Come tuo fan, esigo una risposta

ho bisogno di groupies ))
Penso che sia stato bandito dalla parte inglese, non c'è motivo di farlo.

 
Alexey Volchanskiy:

Aprire il dizionario del grande e potentehttps://www.multitran.ru/c/m.exe?l1=1&l2=2&s=prepare

In particolare,

Termini informatici che contengono prepare: tutte le forme della parola (1)

prepare for callback - prepare for callback

Prepararsi al richiamo di una rana sezionata - è fantastico! :-)

Dissezione di

Materiale da Wikipedia, l'enciclopedia libera.

Ladissezione è il processo di realizzazione di un campione per la ricerca scientifica (principalmente: anatomia e biologia), così come la dissezione di materiale(un cadavere) per studiare la struttura del materiale in studio, così come la separazione dell'organo dissezionato dal tessuto circostante, la separazione dell'organo o parte dell'organo dalle strutture anatomiche che lo accompagnano.

Il metodo permette di utilizzare semplici strumenti anatomici(bisturi, pinzette, sega, ecc.) per esaminare la struttura e la posizione relativa (topografia) degli organi. Applicato per la prima volta da Erofilo ed Erasistrato, il metodo fu perfezionato da Vesalio.

Il metodo della dissezione è utilizzato nello studio della struttura esterna e della topografia di grandi formazioni. Gli oggetti visti con un ingrandimento fino a 20-30 volte, possono essere descritti dopo la loro dissezione macro e microscopica. Questo metodo ha diverse varianti: dissezione sotto una goccia che cade, sotto uno strato d'acqua. Può essere completato sciogliendo il tessuto connettivo con vari acidi, colorando le strutture in studio (nervi, ghiandole) e riempiendo i sistemi tubolari con oli colorati.

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D0%BF%D0%B0%D1%80%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

 
Petros Shatakhtsyan:

Si tratta di questo: aumentare l'oggetto (nel nostro caso il deposito) fino a 20-30 volte, con l'aiuto di uno scalper.

Cosa c'è da non capire qui.

P.S. E dopo sarà proiettato il film dell'orrore, dove tutti questi oggetti sezionati (deposito) andranno all'inferno.

Tu hai uno scenario ottimista, io sono pessimista e vedo il seguente corso degli eventi: dopo la dissezione si ottiene un aumento di 20 volte! ))))

Ma per il punto:
Alexey Volchanskiy:

E un commento sull'eredità dei costruttori. Quando si crea un oggetto di una classe derivata, tutti i costruttori delle classi genitori, a partire dal più vecchio, sono chiamati in modo coerente. E se è un costruttore senza parametri, non dovete fare alcun gesto, sarà chiamato automaticamente. Un costruttore con parametri è un altro caso, nell'esempio qui sotto ci sono due costruttori di questo tipo.

Quando ereditiamo da tale classe, se scriviamo il costruttore in questa forma, il costruttore predefinito CBaseScalper() sarà chiamato nella classe base.

Ma se abbiamo bisogno di chiamare il costruttore con parametri in una classe base, dovremmo specificarlo esplicitamente

questo è tutto chiaro, diciamo che queste domande sorgono solo a chi ha letto OOP per la prima volta, se ora stiamo parlando dei principi di base di OOP, mi interessano le seguenti domande

- come ereditare più di una classe padre

- come ereditare da CObject i principi delle liste collegate, per esempio voglio imparare come "incrociare" CLabel con CObject, come risultato voglio ottenere CLabel .Prev, CLabel .Next e metodi simili

 
Igor Makanu:

Tu hai uno scenario ottimista, io sono pessimista e vedo il seguente corso degli eventi: dopo la dissezione otteniamo un aumento di 20 volte del kukish! ))))

Buon per voi per la risposta rapida. Ha avuto appena il tempo di cancellare il tuo post e hai già una risposta :)

 
Igor Makanu:


Ma il punto è:

Se stiamo parlando dei principi di base dell'OOP, allora siamo interessati alle seguenti domande:

- come ereditare più di una classe padre

- come ereditare i principi delle liste collegate da CObject, per esempio voglio imparare come "incrociare" CLabel con CObject, come risultato voglio ottenere CLabel .Prev, CLabel .Next e metodi simili

Per sviluppare un Expert Advisor redditizio, non è necessario utilizzare le classi, soprattutto perché molti programmatori non le capiscono.

Dopo tutto, l'obiettivo principale di ogni sviluppatore è quello di creare un Expert Advisor redditizio, non di scrivere bei programmi.

Questo può essere fatto più tardi.

 
Petros Shatakhtsyan:

Per sviluppare un EA redditizio, non è necessario utilizzare le classi, soprattutto perché molti programmatori non lo capiscono.

Bene, c'è la questione, le classi semplificano il tempo di sviluppo del software - diciamo, se si scrive software su un flusso (come sulla catena di montaggio - infatti, l'assemblaggio del software)

ma ahimè, i miracoli non accadono - per utilizzare le classi è necessario il tempo di studiarle

ma in termini di classi standard dalla consegna di MT, possono essere utilizzate - c'è un aiuto, le classi sono scritte in un buon stile di programmazione, e abbastanza facile da leggere

 
Igor Makanu:

Bene, c'è una domanda qui, le classi semplificano il tempo di sviluppo del software - diciamo, se si scrive software su un flusso (come in una catena di montaggio - essenzialmente assemblando il software)

ma ahimè, i miracoli non accadono - per utilizzare le classi è necessario il tempo di studiarle

ma nella parte delle classi standard di mt supply, possono essere utilizzate - c'è un riferimento, le classi sono scritte in un buon stile di programmazione, ed è abbastanza facile da leggere

Non sto parlando delle classi MQL standard, semplificano molto il codice. E non c'è bisogno di conoscere l'OOP per usarli.

Motivazione: