ProRealTime
Pour partager sur le trading automatique, nos algorithmes, nos backtests
Répondre • Page 1 sur 1

Changer de paire à chaque itération d'une boucle for

par Matthieuw31 » 03 févr. 2020 21:22

Bonjour,

Je cherche à passer en revue différentes paires afin d'extraire des informations mais j'ai du mal à coder la fonction.

Un premier tableau comprend les paires à trader.
Il y a aussi une structure qui est créée afin de contenir des variables pour chaque paire tradée.

Pour simplifier, je ne mets que 4 variables dans le type de structure. Pour l'exemple, il faut les initialiser à 0 à l'aide d'une boucle for. Le but est de ne pas avoir à répéter le code pour chaque paire car bien sûr il y aura plus d'opérations à réaliser et aussi plus de paires dans le programme final.

Code : #

string tab pairtab["EURUSD", "GBPUSD", "USDJPY"]
struct pair 
     {
    double ask;
    double bid;
    int points;
    double tab sup_res[5];
     };

struct EURUSD;
struct GBPUSD;
struct USDJPY;

void OnTimer(500)
     {
     for (i=0; i<ArraySize (pairtab); i++) //passage en revue des 3 éléments de pairtab[]
          {
          pairtab[i].ask = 0; //pairtab[i].ask remplace EURUSD.ask, GBPUSD.ask et USDJPY.ask
          pairtab[i].bid = 0;
          pairtab[i].points = 0;
          for (j=0; j<5; i++)
               {
               pairtab[i].sup_res[j] = 0;
               }
          }
     }
Voilà, en espérant que c'est assez clair, merci à celui ou celle qui pourra m'aider!

Re: Changer de paire à chaque itération d'une boucle for

par kero » 03 févr. 2020 23:09

C'est quoi ce langage ?

Moi, je vois un truc qui me semble étrange. Tu déclares ton tableau "pairtab" comme étant un tableau de variables de type strings, alors qu'en fait, d'après le contenu de ta boucle, tu veux travailler sur un ensemble d'éléments du type de la structure "pair".

Du coup dans ta boucle, tu invoques "pairtab.ask" comme si les éléments de ton tableau avaient un élément .ask, alors qu'ils ne l'ont pas, puisque ce sont de simples strings.

En théorie, pour résoudre ton problème, tu devrais transformer ton tableau de strings en un tableau de struct pair, mais je ne sais pas si c'est possible dans ton langage.

Note/edit: à noter aussi que tu confonds identifiant de variable et valeur de variable. Dans ton tableau initial, tes devises (entre guillemets) forment la valeur des éléments du tableau, alors que là où tu déclares tes structures, les devises servent d'identifiant. Tout ça ne peut pas fonctionner, il me semble.

Re: Changer de paire à chaque itération d'une boucle for

par Matthieuw31 » 04 févr. 2020 12:42

Merci Kero pour cette réponse complète !

En fait, je ne l'ai pas précisé mais je code en MQL4. Effectivement, peut-être qu'en utilisant un tableau de structures ça sera mieux ! Je ne sais pas si ça se fait en MQL4.

Le but recherché est de pouvoir passer n'importe quelle paire dans des fonctions, sans avoir à créer par exemple 10 fonctions identiques pour 10 paires différentes.

Re: Changer de paire à chaque itération d'une boucle for

par kero » 04 févr. 2020 18:21

MQL4, je connais, je m'en sers aussi. Par contre je n'ai jamais utilisé de structures.

Re: Changer de paire à chaque itération d'une boucle for

par Matthieuw31 » 04 févr. 2020 23:07

OK, ben finalement, comme tu disais, il fallait bien déclarer le type de tableau en tant que 'struct' au lieu de 'string' et faire 2-3 modifs pour que ça marche. J'ai pu compiler mais j'ai pas encore vérifié si je récupérais les valeurs souhaitées.
Encore merci!

Sujets similaires
Boucle
par Raiko » 24 févr. 2015 15:40 (8 Réponses)
ProOrder : création d'une boucle
Fichier(s) joint(s) par Blia » 24 juin 2018 20:29 (3 Réponses)
Shorter l'Euro, quelle paire ?
par kapistar » 12 juil. 2012 10:19 (20 Réponses)
La paire USD/JPY
par LLivingstone » 31 oct. 2012 23:09 (37 Réponses)
La paire EUR/USD
Fichier(s) joint(s) par Deejay87 » 01 nov. 2012 19:55 (63 Réponses)
La paire AUD/USD
Fichier(s) joint(s) par Tioneb » 04 nov. 2012 15:37 (6 Réponses)
La paire HKD/JPY
Fichier(s) joint(s) par Les3BB » 23 nov. 2012 01:30 (51 Réponses)
La paire CHF/USD
par SilverFRX » 17 janv. 2013 18:28 (3 Réponses)
La paire USD/CHF
par Rogue » 15 févr. 2013 13:17 (6 Réponses)
La paire CNH/JPY ou CNY/JPY
par Cash » 21 févr. 2013 22:00 (9 Réponses)