[ARCHIVE] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 3. - page 218

 
Shniperson:

Bonjour ! Le fait que les EAs avec une grande quantité de code et d'opérations sont un peu lents... nous l'avons déjà compris... J'ai une question...

Mon conseiller expert dispose d'un grand bloc pour maintenir les transactions... Si ce bloc est déplacé vers un EA séparé (et supprimé du premier), j'aurai deux EA simultanément... Cela les fera-t-il travailler plus vite ? Les décisions concernant les transactions seront-elles plus rapides... et les décisions concernant le stop loss seront-elles plus rapides ?

Je pense qu'il ne s'agit pas de prendre une décision sur le trailing stop-loss, mais sur la vitesse d'exécution des ordres par le courtier. C'est une chose de prendre une décision et une autre de la faire exécuter.
 
Suliena:

Merci beaucoup ! Il s'avère que j'aurais dû mettre en place un séparateur de liste dans les paramètres régionaux !!!!.

Cela fait deux jours que je me pose des questions sur le code !

Vous n'avez pas besoin de toucher aux paramètres régionaux ! Il existe un paramètre de délimitation dans Excel.
 
Pouvez-vous me le dire s'il vous plaît ! Comment écrire la différence des variables MACD en pips ? Par exemple :
if ( MACDCurrent-MACDSignal)>5*Point   // ??
 

Pourriez-vous m'indiquer le convertisseur en TF non standard, car la recherche ne fonctionne pas ! Merci !

 
borilunad:

Pourriez-vous m'indiquer le convertisseur en TF non standard, car la recherche ne fonctionne pas ! Merci !

Period_Converter.mq4
//|                 Copyright © 2005-2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#property show_inputs
#include <WinUser32.mqh>

extern int ExtPeriodMultiplier=5; // new period multiplier factor
int        ExtHandle=-1;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
   int    i, start_pos, i_time, time0, last_fpos, periodseconds;
   double d_open, d_low, d_high, d_close, d_volume, last_volume;
   int    hwnd=0,cnt=0;
//---- History header
   int    version=400;
   string c_copyright;
   string c_symbol=Symbol();
   int    i_period=Period()*ExtPeriodMultiplier;
   int    i_digits=Digits;
   int    i_unused[13];
//----  
   ExtHandle=FileOpenHistory(c_symbol+i_period+".hst", FILE_BIN|FILE_WRITE);
   if(ExtHandle < 0) return(-1);
//---- write history file header
   c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
   FileWriteInteger(ExtHandle, version, LONG_VALUE);
   FileWriteString(ExtHandle, c_copyright, 64);
   FileWriteString(ExtHandle, c_symbol, 12);
   FileWriteInteger(ExtHandle, i_period, LONG_VALUE);
   FileWriteInteger(ExtHandle, i_digits, LONG_VALUE);
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //timesign
   FileWriteInteger(ExtHandle, 0, LONG_VALUE);       //last_sync
   FileWriteArray(ExtHandle, i_unused, 0, 13);
//---- write history file
   periodseconds=i_period*60;
   start_pos=Bars-1;
   d_open=Open[start_pos];
   d_low=Low[start_pos];
   d_high=High[start_pos];
   d_volume=Volume[start_pos];
   //---- normalize open time
   i_time=Time[start_pos]/periodseconds;
   i_time*=periodseconds;
   for(i=start_pos-1;i>=0; i--)
     {
      time0=Time[i];
      //---- history may be updated
      if(i==0)
        {
         //---- modify index if history was updated
         if(RefreshRates())
            i=iBarShift(NULL,0,time0);
        }
      //----
      if(time0>=i_time+periodseconds || i==0)
        {
         if(i==0 && time0<i_time+periodseconds)
           {
            d_volume+=Volume[0];
            if (Low[0]<d_low)   d_low=Low[0];
            if (High[0]>d_high) d_high=High[0];
            d_close=Close[0];
           }
         last_fpos=FileTell(ExtHandle);
         last_volume=Volume[i];
         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         FileFlush(ExtHandle);
         cnt++;
         if(time0>=i_time+periodseconds)
           {
            i_time=time0/periodseconds;
            i_time*=periodseconds;
            d_open=Open[i];
            d_low=Low[i];
            d_high=High[i];
            d_close=Close[i];
            d_volume=last_volume;
           }
        }
       else
        {
         d_volume+=Volume[i];
         if (Low[i]<d_low)   d_low=Low[i];
         if (High[i]>d_high) d_high=High[i];
         d_close=Close[i];
        }
     } 
   FileFlush(ExtHandle);
   Print(cnt," record(s) written");
//---- collect incoming ticks
   int last_time=LocalTime()-5;
   while(IsStopped()==false)
     {
      int cur_time=LocalTime();
      //---- check for new rates
      if(RefreshRates())
        {
         time0=Time[0];
         FileSeek(ExtHandle,last_fpos,SEEK_SET);
         //---- is there current bar?
         if(time0<i_time+periodseconds)
           {
            d_volume+=Volume[0]-last_volume;
            last_volume=Volume[0]; 
            if (Low[0]<d_low) d_low=Low[0];
            if (High[0]>d_high) d_high=High[0];
            d_close=Close[0];
           }
         else
           {
            //---- no, there is new bar
            d_volume+=Volume[1]-last_volume;
            if (Low[1]<d_low) d_low=Low[1];
            if (High[1]>d_high) d_high=High[1];
            //---- write previous bar remains
            FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
            FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
            FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
            last_fpos=FileTell(ExtHandle);
            //----
            i_time=time0/periodseconds;
            i_time*=periodseconds;
            d_open=Open[0];
            d_low=Low[0];
            d_high=High[0];
            d_close=Close[0];
            d_volume=Volume[0];
            last_volume=d_volume;
           }
         //----
         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         FileFlush(ExtHandle);
         //----
         if(hwnd==0)
           {
            hwnd=WindowHandle(Symbol(),i_period);
            if(hwnd!=0) Print("Chart window detected");
           }
         //---- refresh window not frequently than 1 time in 2 seconds
         if(hwnd!=0 && cur_time-last_time>=2)
           {
            PostMessageA(hwnd,WM_COMMAND,33324,0);
            last_time=cur_time;
           }
        }
      Sleep(50); 
     }      
//----
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void deinit()
  {
   if(ExtHandle>=0) { FileClose(ExtHandle); ExtHandle=-1; }
  }
//+------------------------------------------------------------------+
Créez un TF ou un symbole - joignez-le comme un graphique hors ligne. i.e. FICHIER -> OUVRIR AUTO...
 
avatara:
Créez un TF ou un symbole - accrochez-le comme un graphique hors ligne. i.e. FICHIER -> OUVRIR AUTO...


Merci ! Mais je cherche un convertisseur sur lequel l'EA pourrait fonctionner !

Je me souviens d'un fil de discussion à ce sujet, et de ce qui se trouve dans CodeBase.

 

Comment utiliser un morceau de code pour lier un chalut et un breakeven à un stop loss et un take out ?

Je voulais mettre un bout de code quelque part. Oui, oui, le truc "par stratégie".

 
borilunad:


Merci ! Mais je cherche un convertisseur sur lequel l'EA pourrait fonctionner !

Je me souviens d'un fil de discussion à ce sujet et de ce qui se trouve dans CodeBase.

après.

quand il y aura une fenêtre avec un tableau de suprastat. et sur la source seront crunching le script....

Lancez les induks et owl dessus (sur la fenêtre/graph blynthe !) - tout fonctionne !

;)

 
Pouvez-vous suggérer un "conseiller" ou un script ... qui serait affiché en grand nombre combien de points et de perte d'argent / profit la transaction actuelle (ouverte) et ce que le solde ... et quelque chose que je ne peux pas trouver ...
 
avatara:

après.

quand il y aura une fenêtre avec le graphique de l'ennemi. et la source sera en train d'écraser le script....

Lancez les induks et owl dessus (sur la fenêtre/graphique btw !) - tout fonctionne !

;)


C'est tout, merci !

Je l'ai trouvé, j'ai ajouté les bonnes lignes au code et à l'inlude, je l'ai mis hors ligne et j'ai fait des commentaires. Et le commerce de demain va essayer.

Dommage qu'il soit impossible de vérifier les paramètres dans le testeur, je vais devoir utiliser Demo pendant un certain temps.

Bonne nuit !

Raison: