Erreurs, bugs, questions - page 1853

 
Le C est un langage de programmation cool. Mais beaucoup de gens programment avec les yeux fermés :
 

Ainsi, la spécialisation ne se fait pas par l'appel de paramètres, mais par l'indication directe des types.

Des types de quoi, monsieur ? Quel est le type de structure que vous violez ?

 
Алексей Тарабанов:

Quel est le type de structure que vous violez ?

struct STRUCT
{
  template <typename T>
  void operator []( int )
  {
    Print(__FUNCSIG__);
  }
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.operator[]<int>(0);
  Struct.operator[]<MqlTick>(0);
}

Résultat
void STRUCT::operator[]<int>(int)
void STRUCT::operator[]<MqlTick>(int)
 
fxsaber:

Résultat

Il suffit d'étudier les types de données.
 
Алексей Тарабанов:
Il suffit d'étudier les types de données.
Avoir le sens de l'humour - cochez la case.
 
fxsaber:
Avoir le sens de l'humour - cochez la case.

Merci.
 
Renat Fatkhullin:

La tâche a déjà été définie pour modifier cette stratégie et faire remonter les données à 500 barres maximum de la date la plus éloignée de la demande. Cela permettra de rédiger sans peine des analyses de marché.

1. sera-t-il possible de modifier cette profondeur ?

2. Où, dans MT5, les limites de l'historique chargé sont-elles réglementées ?

 
J'ai lu le Tutoriel pour les nuls. J'ai un algorithme, mais je ne peux pas le prescrire correctement.
L'idée est donc que j'accède à l'ensemble des données des 86 dernières bougies, sauf 0. Chaque bougie blanche vaut 1, chaque bougie noire vaut 0. Si le prix de clôture de 1 bougie est égal auprix d'ouverture de 1 bougie, alors regardez le prix de clôture de 2 bougies et s'il est supérieur au prix d'ouverture de 1 bougie, alors mettez 0. Si le prix de clôture de 2 bougies est égal au prix d'ouverture de 1 bougie, alors par le même principe, comparez le prix d'ouverture de 2 bougies avec le prix de clôture de 2 bougies.
Le cycle se déroule toutes les 15 min ou 60
 
S'agit-il d'un bogue dans le langage ou d'une fonctionnalité non documentée ?
struct STRUCT
{
  void operator =( STRUCT& ) { Print(__FUNCSIG__); }
};

void OnStart()
{
  STRUCT Struct = {0};
  
  Struct = (STRUCT)Struct; // Пусто
  Struct = Struct;         // void STRUCT::operator=(STRUCT&)
}

L'opérateur n'est pas appelé, même si vous en faites un opérateur modèle !

 
kaus_bonus:

construction mise à jour à 1580

https://www.mql5.com/ru/forum/43553/page19#comment_4844870

Problème de vin résolu. Merci.

Et comment connectez-vous MT5 à l'échange sous wine ? Je ne peux pas, car je comprends qu'il y a un problème avec le certificat.