Questions d'un "mannequin - page 275

 

Bonjour, comment trouver une valeur dans un tableau à deux dimensions ? Vous devez chercher dans la première dimension. Il ne semble pas y avoir de moyen standard. Merci !

 
zhurkin:

Bonjour, comment trouver une valeur dans un tableau à deux dimensions ? Vous devez chercher dans la première dimension. Il ne semble pas y avoir de moyen standard. Merci !

A l'ancienne. Cycle. Si c'est égal, c'est tout.
 
ALXIMIKS:

J'ai commencé à étudier la POO.

J'ai eu un problème en écrivant un descendant d'une classe de base, le compilateur écrit - "'ХХХХХХХХ' - nombre de paramètres erroné".

J'ai cherché la raison pendant longtemps, en relisant des articles et un livre de référence,

mais je l'ai trouvé - la classe de base a un constructeur, il est unique et paramétrique.

J'ai aussi trouvé une solution - surcharge de la fonction constructeur avec le constructeur par défaut,

mais je dois alors faire glisser tous les paramètres du constructeur paramétrique de la classe de base vers le constructeur descendant pour une logique correcte.

Y a-t-il d'autres moyens ?

Y a-t-il un moyen, lors de la déclaration d'une classe descendante, de distribuer à qui quoi ? Par exemple : ces paramètres au constructeur de la classe de base et ces paramètres pour que le descendant ne s'ennuie pas...

Si une classe de base possède un seul constructeur paramétrique, la classe descendante ne peut éviter de l'appeler. Cependant, la classe enfant peut avoir n'importe quel nombre de paramètres, y compris aucun paramètre. L'essentiel est que le constructeur de la classe de base soit appelé avec tous les paramètres qui lui sont attribués. Exemple :

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;
};

 

Il y a eu une discussion dans le fil de discussion sur


ENUM_POSITION_TYPE

deux valeurs. et qu'est-ce qui est renvoyé s'il n'y a pas de postes ouverts ?

J'utilise la méthode PositionType() de la bibliothèque standard.

Ok, j'ai compris, PositionSelect() retourne false, et PositionType() retourne le type de la dernière position sélectionnée.



il s'avère que si aucune position n'est ouverte, il retourne toujours 0, c'est-à-dire comme si une position d'achat était ouverte ?

Comment puis-je contourner ce problème ?


 
openlive:

Il y a eu une discussion dans le fil de discussion sur


ENUM_POSITION_TYPE

deux valeurs. et qu'est-ce qui est renvoyé s'il n'y a pas de postes ouverts ?

J'utilise la méthode PositionType() de la bibliothèque standard.

Ok, j'ai compris, PositionSelect() retourne false, et PositionType() retourne le type de la dernière position sélectionnée.



il s'avère que si aucune position n'est ouverte, il retourne toujours 0, c'est-à-dire comme si une position d'achat était ouverte ?

Comment puis-je contourner ce problème ?


PositionSelect() est sélectionné s'il existe une position quel que soit son type, 0 - aucune position, 1 - oui, et le type est défini comme pratique.
 

Il existe deux variantes de la définition de la fonctionOnCalculate :

1)int OnCalculate (const int rates_total, // taille du tableau price[]

const int prev_calculated, // barres traitées lors de l'appel précédent
const int begin, // où commencent les données significatives
const double& price[] // tableau pour les calculs
) ;

2)int OnCalculate (const int rates_total, // taille des séries temporelles d'entrée

const int prev_calculated, // barres traitées lors de l'appel précédent
const datetime& time[], // Heure
const double& open[], // Ouvrir
const double& high[], // haut
const double& low[], // Low
const double& close[], // Fermer
const long& tick_volume[], // Volume des tics
const long& volume[], // Volume réel
const int& spread[] // Spread
) ;

appeler la fonction 1)OnCalculate(), pré-remplir tous ses paramètres - OnCalculate(rates_total,0,0,_price) ;

QUESTION : pourriez-vous indiquer les paramètres du deuxième appel àOnCalculate() dans ce cas ?

 
Piterrr:

Il existe deux variantes de la définition de la fonctionOnCalculate :

1)int OnCalculate (const int rates_total, // taille du tableau price[]

const int prev_calculated, // barres traitées lors de l'appel précédent
const int begin, // où commencent les données significatives
const double& price[] // tableau pour les calculs
) ;

2)int OnCalculate (const int rates_total, // taille des séries temporelles d'entrée

const int prev_calculated, // barres traitées lors de l'appel précédent
const datetime& time[], // Heure
const double& open[], // Ouvrir
const double& high[], // haut
const double& low[], // Low
const double& close[], // Fermer
const long& tick_volume[], // Volume des tics
const long& volume[], // Volume réel
const int& spread[] // Spread
) ;

appeler la fonction 1)OnCalculate(), pré-remplir tous ses paramètres - OnCalculate(rates_total,0,0,_price) ;

QUESTION : pourriez-vous indiquer les paramètres du deuxième appel àOnCalculate() dans ce cas ?

et rien ne doit être rempli dans le premier ou le second cas.
 
zfs:
et rien ne doit être rempli dans le premier ou le deuxième cas.
Je dois appeler cette fonction de force - comment dois-je remplir les paramètres dans ce cas ?
 
Piterrr:
Je dois appeler cette fonction de force - comment dois-je remplir les paramètres dans ce cas ?
Créez le vôtre, celui-ci ne peut pas.
 
zfs:
Vous ne pouvez pas en créer un vous-même.
J'ai créé ma propre fonction, dans laquelle j'écris la fonctionOnCalculate(), mais lorsque je la remplis avec des paramètres, elle génère des erreurs - veuillez m'envoyer un exemple.