Domande da un "manichino" - pagina 275

 

Ciao, come faccio a trovare un valore in un array bidimensionale? Dovete cercare nella prima dimensione. Sembra che non ci siano mezzi standard. Grazie!

 
zhurkin:

Ciao, come faccio a trovare un valore in un array bidimensionale? Dovete cercare nella prima dimensione. Sembra che non ci siano mezzi standard. Grazie!

Alla vecchia maniera. Ciclo. Se è uguale, è così.
 
ALXIMIKS:

Ho iniziato a studiare OOP.

Ho avuto un problema quando ho scritto un discendente di una classe base, il compilatore scrive - "'ХХХХХХХХХХХХ' - conteggio dei parametri sbagliato".

Ho cercato la ragione per molto tempo, ho riletto articoli e libri di riferimento,

ma l'ho trovato - la classe base ha un costruttore, è uno e parametrico.

Anch'io ho trovato una soluzione: il sovraccarico della funzione costruttore con il costruttore di default,

ma poi devo trascinare tutti i parametri del costruttore parametrico della classe base al costruttore discendente per una logica corretta.

Ci sono altri modi?

C'è un modo, quando si dichiara una classe discendente, di distribuire a chi cosa? Per esempio: questi parametri al costruttore della classe base e questi parametri affinché il discendente non si annoi...

Se una classe base ha un solo costruttore parametrico, la classe discendente non può evitare di chiamarlo. Tuttavia, la classe figlia può avere qualsiasi numero di parametri, incluso il fatto di non averne affatto. La cosa principale è che il costruttore della classe base viene chiamato con tutti i parametri assegnati. Esempio:

class CParent
{
   public:
      CParent(int myID, string myName, double myValue)
      {
         id = myID;
         name = myName;
         value = myValue;
      }
   private:
      int id;
      string name;
      double value;
};

class CChildOne : CParent
{
    public:
       CChildOne() : CParent(2, "CChildOne", 2.34){;}
};

class CChildTwo : CParent
{
    public:
       CChildOne(int myID, int param) : CParent(myID, "CHildTwo", 2.56)
       {
          xParam = param;
       }
    private:
       double xParam;
};

 

C'è stata una discussione nel thread su


ENUM_POSITION_TYPE

e cosa viene restituito se non ci sono posizioni aperte?

Uso il metodo PositionType() della libreria standard.

Ok, ho capito, PositionSelect() restituisce false, e PositionType() restituisce il tipo dell'ultima posizione selezionata.



risulta che se non c'è nessuna posizione aperta, restituisce sempre 0, cioè come se fosse aperta una posizione di acquisto?

come posso aggirare questo?


 
openlive:

C'è stata una discussione nel thread su


ENUM_POSITION_TYPE

e cosa viene restituito se non ci sono posizioni aperte?

Uso il metodo PositionType() della libreria standard.

Ok, ho capito, PositionSelect() restituisce false, e PositionType() restituisce il tipo dell'ultima posizione selezionata.



risulta che se non c'è nessuna posizione aperta, restituisce sempre 0, cioè come se fosse aperta una posizione di acquisto?

come posso aggirare questo?


PositionSelect() è selezionato se c'è una posizione indipendentemente dal suo tipo, 0 - nessuna posizione, 1 - sì, e il tipo è definito come conveniente.
 

Ci sono due varianti della definizione della funzioneOnCalculate:

1)int OnCalculate (const int rates_total, // dimensione dell'array price[]

const int prev_calculated, // barre elaborate alla chiamata precedente
const int begin, // dove iniziano i dati significativi
const double& price[] // array per il calcolo
);

2)int OnCalculate (const int rates_total, // dimensione della serie temporale di input

const int prev_calculated, // barre elaborate alla chiamata precedente
const datetime& time[], // Tempo
const double& open[], // Open
const double& high[], // High
const double& low[], // Low
const double& close[], // Chiudi
const long& tick_volume[], // Tick Volume
const long& volume[], // Volume reale
const int& spread[] // Spread
);

chiamare la funzione 1)OnCalculate(), precompilare tutti i suoi parametri - OnCalculate(rates_total,0,0,_price);

DOMANDA: potreste inserire i parametri per la seconda chiamata aOnCalculate() in questo caso?

 
Piterrr:

Ci sono due varianti della definizione della funzioneOnCalculate:

1)int OnCalculate (const int rates_total, // dimensione dell'array price[]

const int prev_calculated, // barre elaborate alla chiamata precedente
const int begin, // dove iniziano i dati significativi
const double& price[] // array per il calcolo
);

2)int OnCalculate (const int rates_total, // dimensione della serie temporale di input

const int prev_calculated, // barre elaborate alla chiamata precedente
const datetime& time[], // Tempo
const double& open[], // Open
const double& high[], // High
const double& low[], // Low
const double& close[], // Chiudi
const long& tick_volume[], // Tick Volume
const long& volume[], // Volume reale
const int& spread[] // Spread
);

chiamare la funzione 1)OnCalculate(), precompilare tutti i suoi parametri - OnCalculate(rates_total,0,0,_price);

DOMANDA: potreste inserire i parametri per la seconda chiamata aOnCalculate() in questo caso?

e non c'è niente da riempire né nel primo né nel secondo caso.
 
zfs:
e non c'è niente da riempire nel primo o nel secondo caso.
Ho bisogno di chiamare questa funzione forzatamente - come riempio i parametri in questo caso?
 
Piterrr:
Ho bisogno di chiamare questa funzione forzatamente - come riempio i parametri in questo caso?
Crea il tuo, questo non può.
 
zfs:
Non puoi crearne uno tuo.
Ho creato il mio, all'interno del quale scrivo la funzioneOnCalculate(), ma quando lo riempio di parametri genera errori - per favore mandami un esempio.