une stratégie commerciale basée sur la théorie des vagues d'Elliott - page 296

 
Andre69

Avez-vous essayé une manipulation supplémentaire des coefficients de la transformée en ondelettes.
On se retrouve avec quelque chose comme ça :
 
Les gars, travaillez pour le bien de la patrie, faites de la science, trouvez quelque chose d'utile, montrez enfin votre ambition.
 
Chers collègues, j'ai une petite question. Comment dois-je m'exprimer correctement ? Est-il possible d'augmenter dynamiquement le nombre d'éléments d'un tableau ? Par exemple, je recherche des canaux stables dans une certaine zone à partir de la barre zéro. Je ne connais pas leur nombre depuis le début de la recherche et il est possible que je n'en trouve pas. D'après la documentation que j'ai lue, je pense avoir compris que c'est impossible. Est-ce vrai, ou existe-t-il un moyen plus subtil ?

PS : Jusqu'à présent, j'ai trouvé plusieurs variantes dans MT (MathCAD n'a pas ce problème) :

(1). Je crée un paramètre (int count=0 ;) Je boucle sur la plage et les critères de vérification ; si elle les remplit, count=count+1. Ensuite, je crée un tableau avec le nombre obtenu, et je recommence tout : j'écris les paramètres calculés dans le tableau et je sélectionne le canal optimal.

(2) Créer un tableau pour les paramètres du canal en fonction de la longueur de la plage d'origine.
 
grasn
... Comment puis-je m'exprimer correctement ? Est-il possible d'augmenter dynamiquement le nombre d'éléments du tableau ? Par exemple, je recherche des canaux stables dans une certaine zone à partir de la barre zéro. Je ne connais pas leur numéro au début de la recherche et je peux ne pas en trouver.

Franchement, la question n'est pas très claire. Le nombre d'éléments d'un tableau (taille) est modifié dynamiquement avec ArrayResize. Si vous voulez réellement créer des structures, elles ne sont promises que dans MT5.
Purement par la consonance des mots - je résolvais le problème des propriétés supplémentaires des ordres et je ne connaissais pas non plus à l'avance le nombre exact de propriétés (ces 40 indicateurs). Trois fonctions ont été utilisées mais de nouvelles propriétés ont dû être ajoutées à chacune d'entre elles manuellement, avec une recompilation ultérieure. Je ne sais pas si c'est bien ou mal, mais juste au cas où, voici le code de la dernière version
.
//+------------------------------------------------------------------+
//| Изменение размеров массивов свойств ордера                       |
//+------------------------------------------------------------------+
int ResizeOrdArrays() {
  ArrayResize(OrdID,OrdArrSize);
  ArrayResize(OrdTicket,OrdArrSize);
//  ArrayResize(OrdData1,OrdArrSize);
//  ArrayResize(OrdData2,OrdArrSize);
//  ArrayResize(OrdData3,OrdArrSize);
//  ArrayResize(OrdData4,OrdArrSize);
  return(0);
}
//+------------------------------------------------------------------+
//| Добавление ордера в список ордеров                               |
//+------------------------------------------------------------------+
int AddOrder(int ID) {
  OrdInd=OrdNum;
  OrdNum++;
  if (OrdNum > OrdArrSize) {
    OrdArrSize = OrdNum;
    ResizeOrdArrays();
  }
  OrdID[OrdInd] = ID;
  OrdTicket[OrdInd] = ticket;
//  OrdData1[OrdInd] = 123.45;
//  OrdData2[OrdInd] = 123.45;
//  OrdData3[OrdInd] = 123.45;
//  OrdData4[OrdInd] = 123.45;
  return(0);
}
//+------------------------------------------------------------------+
//| Исключение ордера из списка ордеров                              |
//+------------------------------------------------------------------+
int CutOrder() {
  OrdNum--;
  if (OrdInd < OrdNum) {
    OrdID[OrdInd] = OrdID[OrdNum];
    OrdTicket[OrdInd] = OrdTicket[OrdNum];
//    OrdData1[OrdInd] = OrdData1[OrdNum];
//    OrdData2[OrdInd] = OrdData2[OrdNum];
//    OrdData3[OrdInd] = OrdData3[OrdNum];
//    OrdData4[OrdInd] = OrdData4[OrdNum];
  }
  return(0);
}



P.S. Au fait, j'ai utilisé la même "structure" pour mes chaînes.

 
<br / translate="no"> ...Le nombre d'éléments d'un tableau (taille) est modifié dynamiquement avec ArrayResize. ...


Le fait de changer la taille d'un tableau déjà créé ne le redimensionne-t-il pas à zéro ?
 
Non. Ceci est vérifié par une empreinte.
 
Non. Ceci est vérifié par une empreinte. <br / translate="no">


Merci. J'ai dû mal écrire l'empreinte. :о)
 
Hm, je ne l'ai pas vérifié moi-même depuis longtemps, mais premièrement cela semble fonctionner correctement, et deuxièmement Renat a explicitement assuré que cette propriété peut être considérée comme documentée, c'est-à-dire être supportée dans toutes les nouvelles versions.
 
Confirmé. Si vous augmentez la taille du tableau de 1, un nouvel élément nul est ajouté à la fin du tableau. Les autres éléments restent inchangés.
Lorsque la matrice est redimensionnée, une ligne nulle est ajoutée à la matrice.
 
Merci. Il est sûr de dire que j'ai foiré quelque chose dans le code. OK. Cette fonction rend les choses beaucoup plus faciles.