Erreurs, bugs, questions - page 671

 

Il arrive parfois qu'une erreur se produise immédiatement sans que la période soit commutée.

Je ne sais pas comment le combattre, cette variante ne fonctionne pas non plus :

void OnTimer()//int 08
{
static bool b_Flag = false;

   if (b_Flag == true) return;//ret -- реентерабельность --
   b_Flag = true;//cli
   

string db_SymbolName;
//MqlRates rates[100];
int edx;
double           open_array[1];      // массив для копирования цен открытия
double           close_array[1];      // массив для копирования цен закрытия
   
   
   //---------------------------------------------
   for (int ebx = 0; ebx < ecx; ebx++){
      db_SymbolName = g_s_SymbolsTrade[ebx];
      //edx=CopyRates(db_SymbolName,_Period,0,1,rates);
      edx = 0;//xor edx,edx
      edx += CopyOpen(db_SymbolName,_Period,0,1,open_array);
      edx += CopyClose(db_SymbolName,_Period,0,1,close_array);
      if (edx != 2){//cmp edx,2 | jne
         b_Flag = false;//sti
         return;//jne ret;
      }   
   }//loop ecx       
   Print ("Загрузка завершена.");
   //---------------------------------------------
   b_Flag = false;//sti
}

Un outil par tick, même s'il fonctionne aussi n'est pas une option, car je charge 108 paires pour InstaForex :

string g_s_SymbolsTrade[] = {"EURUSD", "GBPUSD", "USDCHF", "USDJPY", "USDCAD", "AUDUSD", "AUDCAD", "AUDCHF", "AUDJPY", "EURGBP", "EURCHF", "EURJPY", "NZDUSD", "AUDNZD,
"EURNZD", "EURCAD", "GBPAUD", "GBPCAD", "GBPNZD", "CHFJPY", "CADCHF", "CADJPY", "NZDCAD", "NZDCHF", "NZDJPY", "EURAUD", "GBPCHF", "GBPJPY", "AUDCZK", "AUDDKK", "AUDHKD".
"AUDHUF", "AUDMXN", "AUDNOK", "AUDPLN", "AUDSEK", "AUDSGD", "AUDZAR", "CADCZK", "CADDKK", "CADHKD", "CADHUF", "CADMXN", "CADNOK", "CADPLN", "CADSEK", "CADSGD", "CADZAR",
"CHFCZK", "CHFDKK", "CHFHKD", "CHFHUF", "CHFMXN", "CHFNOK", "CHFPLN", "CHFSEK", "CHFSGD", "CHFZAR", "CZKJPY", "DKKJPY", "EURCZK", "EURDKKD", "EURHUF", "EURMXN",
"EURNOK", "EURPLN", "EURSEK", "EURSGD", "EURZAR", "GBPCZK", "GBPDKK", "GBPHKD", "GBPHUF", "GBPMXN", "GBPNOK", "GBPPLN", "GBPSEK", "GBPSGD", "GBPZAR", "HKDJPY", "HUFJPY",
"MXNJPY", "NOKJPY", "NZDCZK", "NZDDKKK", "NZDHKD", "NZDHUF", "NZDMXN", "NZDNOK", "NZDPLN", "NZDSEK", "NZDSGD", "NZDZAR", "SEKJPY", "SGDJPY", "USDCZK", "USDHKD", "USDHUF",

"USDMXN", "USDPLN", "USDSGD", "ZARJPY", "USDDKK", "USDNOK", "USDRUR", "USDSEK", "USDZAR"} ;

Au moment où la dernière paire est chargée, la barre a déjà changé.

Existe-t-il un autre moyen d'obtenir l'ouverture et la fermeture de toutes les paires de devises en une minute ?

 
pusheax:

...

Existe-t-il un autre moyen d'obtenir l'ouverture et la fermeture de toutes les paires de devises en une minute ?

Vous pouvez obtenir les données instantanément en exécutant une boucle sur tous les instruments SymbolsTotal() dans la fenêtre Market Watch à l'arrivée d'un tick sur l'un d'entre eux, ou toutes les secondes si nécessaire.

int  SymbolsTotal(
   bool  selected      // true – только символы в MarketWatch
   );
 
 
tol64:

Vous pouvez obtenir des données instantanément en exécutant une boucle sur tous les instruments SymbolsTotal() dans la fenêtre Market Watch à l'arrivée d'un tick sur l'un d'entre eux, ou toutes les secondes si nécessaire.

Je ne comprends pas, comment puis-je obtenir les prix d'ouverture et de clôture ?

Pourriez-vous me dire, en dehors des fonctions : CopyRates, CopyOpen et CopyClose, s'il existe d'autres moyens alternatifs de chargement ?

 
pusheax:
Je ne comprends pas, comment puis-je obtenir les prix d'ouverture et de fermeture ?

En parcourant tous les symboles de la fenêtre Market Watch par index, obtenez le nom du symbole en utilisantSymbolName().

string  SymbolName(
   int   pos,          // номер в списке
   bool  selected      // true – только символы в MarketWatch
   );
Et ensuite vous obtenez les données requises par le nom du symbole.
 
pusheax:

...

Pouvez-vous me dire s'il existe d'autres méthodes de chargement que les fonctions CopyRates, CopyOpen et CopyClose ?

Grandes fonctions. Je ne connais pas d'autres variantes. ))) Profitez-en.
 
Existe-t-il un moyen de dessiner le graphique à barres ou les barres ensemble, sans distance entre les valeurs ? C'est le cas, par exemple, si l'échelle est réduite au minimum.
 
progeon:

Existe-t-il un moyen de dessiner le graphique à barres ou les barres ensemble, sans distance entre les valeurs ? C'est, par exemple, ce qui se passe si l'échelle est réduite au minimum.
Les styles peuvent être définis comme suit :
#property indicator_style1 STYLE_SOLID
#property indicator_width1 2
Vous pouvez également spécifier l'échelle du graphique et ajuster les largeurs de ligne de manière programmatique, en fonction de l'échelle. Il est également possible de dessiner avec une ligne au lieu d'un histogramme. Connectez les points et remplissez la partie inférieure comme cela est fait dans cet indicateur : STALIN
 
pusheax:

Je ne comprends pas, comment puis-je obtenir les prix d'ouverture et de clôture ?

Pouvez-vous me dire s'il existe d'autres moyens de chargement que les fonctions CopyRates, CopyOpen et CopyClose ?

Quelle quantité de RAM avez-vous sur votre ordinateur ?
 
MetaDriver:
Quelle quantité de RAM avez-vous sur votre ordinateur ?
Mon ordinateur a 2 Go.

J'ai juste décidé de ne pas changer de cadre temporel. Espérons qu'il fonctionnera de manière plus ou moins stable à ce moment-là.

Jusqu'à présent, cela semble fonctionner.

 
pusheax:
J'ai 2 Go sur mon ordinateur.

J'ai juste décidé de ne pas changer de cadre temporel. Avec un peu de chance, cela fonctionnera de manière plus ou moins stable.

Jusqu'à présent, cela semble fonctionner.

Combien de barres y a-t-il dans la fenêtre ?