Aller au contenu


Photo
- - - - -

Script Export Data


  • Please log in to reply
9 replies to this topic

#1 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 18 mars 2012 - 16:50

ici un script pour exporter les données O/H/L d'un certain nombre de paires mais comment modifier le code pour que ça se fasse sur les 10 dernières barres seulement?
Merci.






int handle=FileOpen("6PAIRES.CSV", FILE_CSV|FILE_WRITE,',');
              if(handle<1)
                {
                 int err=GetLastError();
                 Print("error(",err,"): ");
                 return(0);
                }

               if(handle>0)
               {
                  for (int i=0;i<=Bars;i++)
                  {
               
                  FileWrite(handle, TimeToStr(Time[i], TIME_DATE),TimeToStr(Time[i], TIME_MINUTES),
                  " EURAUD ",iOpen("EURAUD",0,i),iHigh("EURAUD",0,i),iLow("EURAUD",0,i),
                  " EURCAD ",iOpen("EURCAD",0,i),iHigh("EURCAD",0,i),iLow("EURCAD",0,i),
                  " GBPCAD ",iOpen("GBPCAD",0,i),iHigh("GBPCAD",0,i),iLow("GBPCAD",0,i),
                  " GBPCHF ",iOpen("GBPCHF",0,i),iHigh("GBPCHF",0,i),iLow("GBPCHF",0,i),
                  " GBPJPY ",iOpen("GBPJPY",0,i),iHigh("GBPJPY",0,i),iLow("GBPJPY",0,i),
                  " GBPAUD ",iOpen("GBPAUD",0,i),iHigh("GBPAUD",0,i),iLow("GBPAUD",0,i),"   "


#2 damtoul

damtoul

    Senior Member

  • Modérateur
  • PipPipPip
  • 743 Messages :
  • Gender:Male
  • Location:Pas loin de Toulouse....
  • Interests:Forex et Surf.
  • Broker:InterbankFX / Alpari UK
  • Demo/Real:Real
  • Leverage:1:5

Posté 18 mars 2012 - 21:39

Bonjour Betino,

Dans les iOpen, iHigh, iLow... tu remplaces tous les "i" par 10. Image IPB

Edit : car j'ai écrit une grosse bétise puisqu'il y a une boucle il te suffit de remplacer la variable Bars par le chiffre 9 ou de lui donner cette valeur quand la variable est déclarée en début de script
int Bars=9;
.
Mettre la valeur 10 t'aurait donné uniquement la valeur de la 11e barre.

Edit2 : trop HS pour arriver à recoller ton code, bon bref tu auras compris.

Dam.

Ce message a été modifié par damtoul - 18 mars 2012 - 21:51 .


#3 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 18 mars 2012 - 22:10

c'est bien ça , merci encore.

#4 RayBan

RayBan

    Member

  • Membre Actif
  • PipPip
  • 24 Messages :
  • Gender:Male
  • Location:Colombie
  • Broker:Dukascopy
  • Demo/Real:Real
  • Leverage:1:100

Posté 18 mars 2012 - 23:22

Bonjour,

Bars est une variable prédéfinie de MQL4 http://docs.mql4.com.../variables/bars.

Il n'est pas prudent de la modifier car elle peut être utilisée plus loin dans le programme après la sortie de la boucle for (que l'on ne voit pas ici) ou pour une raison quelconque.

Il vaudrait donc mieux la remplacer dans la boucle,
soit en dur for (int i=0;i<=9;i++)
soit par
int nbars=9;
for (int i=0;i<=nbars;i++)



A+ B)

#5 damtoul

damtoul

    Senior Member

  • Modérateur
  • PipPipPip
  • 743 Messages :
  • Gender:Male
  • Location:Pas loin de Toulouse....
  • Interests:Forex et Surf.
  • Broker:InterbankFX / Alpari UK
  • Demo/Real:Real
  • Leverage:1:5

Posté 18 mars 2012 - 23:32

Au temps pour moi, correction très juste. Image IPB

#6 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 19 mars 2012 - 07:59

si les colombiens s'y mettent aussi, alors je suis verni. ;)
gracias.

Ce message a été modifié par betino83 - 19 mars 2012 - 08:04 .


#7 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 19 mars 2012 - 08:16

Une autre question mais qui est sans importance car j' ai la possibilité de spliter en 2 scripts, je désire exporter les données de 19 paires mais je suis limité à 15, au-delà j' ai un message d'erreur en compilant, une explication ?





int init() { start(); return(0); }
            //+------------------------------------------------------------------+
            //| script program start function                                    |
            //+------------------------------------------------------------------+
            int start()
              {
            //----

            int handle=FileOpen("19paires.CSV", FILE_CSV|FILE_WRITE,',');
              if(handle<1)
                {
                 int err=GetLastError();
                 Print("error(",err,"): ");
                 return(0);
                }

               if(handle>0)
               {
                  for (int i=0;i<=9;i++)
                  {
               
                  FileWrite(handle, TimeToStr(Time[i], TIME_DATE),TimeToStr(Time[i], TIME_MINUTES),
                  " AUDCHF ",iOpen("AUDCHF",0,i),iHigh("AUDCHF",0,i),iLow("AUDCHF",0,i),
                  " AUDUSD ",iOpen("AUDUSD",0,i),iHigh("AUDUSD",0,i),iLow("AUDUSD",0,i),
                  " CHFJPY ",iOpen("CHFJPY",0,i),iHigh("CHFJPY",0,i),iLow("CHFJPY",0,i),
                  " EURCHF ",iOpen("EURCHF",0,i),iHigh("EURCHF",0,i),iLow("EURCHF",0,i),
                  " EURGBP ",iOpen("EURGBP",0,i),iHigh("EURGBP",0,i),iLow("EURGBP",0,i),
                  " EURJPY ",iOpen("EURJPY",0,i),iHigh("EURJPY",0,i),iLow("EURJPY",0,i),
                  " EURUSD ",iOpen("EURUSD",0,i),iHigh("EURUSD",0,i),iLow("EURUSD",0,i),
                  " GBPUSD ",iOpen("GBPUSD",0,i),iHigh("GBPUSD",0,i),iLow("GBPUSD",0,i),
                  " USDCAD ",iOpen("USDCAD",0,i),iHigh("USDCAD",0,i),iLow("USDCAD",0,i),
                  " USDCHF ",iOpen("USDCHF",0,i),iHigh("USDCHF",0,i),iLow("USDCHF",0,i),
                  " USDJPY ",iOpen("USDJPY",0,i),iHigh("USDJPY",0,i),iLow("USDJPY",0,i),
                  " AUDCAD ",iOpen("AUDCAD",0,i),iHigh("AUDCAD",0,i),iLow("AUDCAD",0,i),
                  " AUDJPY ",iOpen("AUDJPY",0,i),iHigh("AUDJPY",0,i),iLow("AUDJPY",0,i),
                  " CADCHF ",iOpen("CADCHF",0,i),iHigh("CADCHF",0,i),iLow("CADCHF",0,i),
                  " CADJPY ",iOpen("CADJPY",0,i),iHigh("CADJPY",0,i),iLow("CADJPY",0,i),"   "
                
                  
                  );
                  }
               }

            FileClose (handle);

               
            //----
               return(0);
              }
            //+------------------------------------------------------------------+

Ce message a été modifié par betino83 - 19 mars 2012 - 08:18 .


#8 damtoul

damtoul

    Senior Member

  • Modérateur
  • PipPipPip
  • 743 Messages :
  • Gender:Male
  • Location:Pas loin de Toulouse....
  • Interests:Forex et Surf.
  • Broker:InterbankFX / Alpari UK
  • Demo/Real:Real
  • Leverage:1:5

Posté 19 mars 2012 - 19:07

Quel message d'erreur tu as?

#9 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 19 mars 2012 - 20:47

Image IPB

#10 betino83

betino83

    Senior Member

  • Membre+
  • PipPipPip
  • 902 Messages :
  • Gender:Male
  • Location:pas loin de Touco
  • Broker:Oanda, Activtrades, Openecry, CMCmarkets
  • Demo/Real:Real
  • Leverage:1:5

Posté 19 mars 2012 - 21:31

la réponse doit être là :


"User data to write, separated by commas. It can be up to 63 parameters."

http://docs.mql4.com/files/FileWrite

Ce message a été modifié par betino83 - 19 mars 2012 - 21:32 .





0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)