Erreurs, bugs, questions - page 1758

 

Je n'arrive pas à comprendre quel est le problème - que ce soit dans l'indicateur, ou dans le conseiller expert, ou dans le visualiseur).

Pour cela, l'indicateur n'a que les mêmes paramètres, le timeframe est le même.


Code du conseiller expert

#property strict
input string   Symbol1="EURUSD";
input int Per=14;  
double buf[];
int handle_1,copied1;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

handle_1=iCustom(Symbol(),PERIOD_CURRENT,"test ma",Symbol1,Per);
ArrayInitialize(buf,0);
   return(INIT_SUCCEEDED);
  }
//+---------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  Comment("");
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---

  copied1=CopyBuffer(handle_1,0,0,4,buf);
  Comment("Индикатор 3 = ",buf[3]);
}  

//+------------------------------------------------------------------+
//| Trade function                                                   |
//+------------------------------------------------------------------+
void OnTrade()
  {
//---

  }
//+------------------------------------------------------------------+

code indicateur

#property indicator_separate_window
//---- количество индикаторных буферов 2
#property indicator_buffers 3
//---- использовано всего одно графическое построение
#property indicator_plots   1
//+----------------------------------------------+
//|  объявление констант                         |
//+----------------------------------------------+
#define RESET 0 // Константа для возврата терминалу команды на пересчёт индикатора
//+----------------------------------------------+
//|  Параметры отрисовки индикатора              |
//+----------------------------------------------+
#property indicator_type1   DRAW_HISTOGRAM
#property indicator_color1  clrPlum
//+----------------------------------------------+
//| Входные параметры индикатора                 |
//+----------------------------------------------+
input string Symb1="EURUSD";
input int Per=14;                        
int Shift=0;                              
//+----------------------------------------------+
//---- объявление динамических массивов, которые будут в
// дальнейшем использованы в качестве индикаторных буферов
double Buffer1[];
double Buffer2[];
double Buffer3[],Buffer4[],Buffer5[];
//---- Объявление целых переменных начала отсчёта данных
int min_rates_total;
//---- Объявление целых переменных для хранения хендлов индикаторов
int Handle1,Handle2;
double buf1[],buf2[],close1[],close2[],buf4[];
int closed1,closed2;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+  
int OnInit()
  {
//---- Инициализация переменных начала отсчёта данных
   min_rates_total=Per+1;

//--- получение хендла индикатора Fast iCCI
   Handle1=iMA(Symb1,PERIOD_CURRENT,Per,0,0,0);
   if(Handle1==INVALID_HANDLE)
     {
      Print(" Не удалось получить хендл индикатора");
      return(INIT_FAILED);
     }

//---- превращение динамического массива в индикаторный буфер
   SetIndexBuffer(1,Buffer1,INDICATOR_DATA);
   SetIndexBuffer(0,Buffer3,INDICATOR_DATA);
   SetIndexBuffer(2,buf1,INDICATOR_DATA);
//---- осуществление сдвига индикатора 1 по горизонтали на Shift
   PlotIndexSetInteger(0,PLOT_SHIFT,Shift);
//---- осуществление сдвига начала отсчёта отрисовки индикатора 1 на min_rates_total
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,min_rates_total);
      IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
//--- завершение инициализации
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(
                const int rates_total,    // количество истории в барах на текущем тике
                const int prev_calculated,// количество истории в барах на предыдущем тике
                const datetime &time[],
                const double &open[],
                const double& high[],     // ценовой массив максимумов цены для расчёта индикатора
                const double& low[],      // ценовой массив минимумов цены  для расчёта индикатора
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[]
                )
  {
//---- объявления локальных переменных
   int to_copy;
  
//---- расчёты необходимого количества копируемых данных
   if(prev_calculated>rates_total || prev_calculated<=0)// проверка на первый старт расчёта индикатора
     {
      to_copy=rates_total; // стартовый номер для расчёта всех баров
     }
   else to_copy=rates_total-prev_calculated+1; // стартовый номер для расчёта новых баров

      int first,bar;
      if(CopyBuffer(Handle1,0,0,to_copy,Buffer1)<=0) return(RESET);
      if(CopyClose(Symb1,0,0,to_copy,buf1)<=0) return(RESET);
    
//---- расчёт стартового номера first для цикла пересчёта баров
   if(prev_calculated>rates_total || prev_calculated<=0) // проверка на первый старт расчёта индикатора
      first=min_rates_total; // стартовый номер для расчёта всех баров
   else first=prev_calculated-1; // стартовый номер для расчёта новых баров

//---- Основной цикл расчёта индикатора
   for(bar=first; bar<rates_total ; bar++)
   {
   Buffer3[bar]=Buffer1[bar] - buf1[bar];
   }
  
//----    
   return(rates_total);
  }
//+------------------------------------------------------------------+
Dossiers :
test.mq5  11 kb
 

La fenêtre de cotation s'effondre lorsque le terminal est réduit. Cela ne devrait pas être le cas.

 
Vladimir Pastushak:

La fenêtre de cotation s'effondre lorsque le terminal est réduit. Cela ne devrait pas être le cas.

L'écart a toujours été marqué ainsi ( !) dans MT... Qui sait pourquoi, peut-être pour gagner de la place... quoi ( ?) si la valeur de l'écart est plus longue que " !" ...
 

Quelqu'un peut-il me dire si la taille de la RAM (soulignée en rouge) est correcte ?

Données de l'ordinateur portable avant réparation :

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610 M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version 305.46)
2013.04.28 01:26:54     OpenCL  Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54     OpenCL  Device #0: CPU Intel(R) Corporation  Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

remis l'ordinateur portable pour réparation, après réparation dit que de l'usine a été installé la mémoire (tous ses 6 gb) n'est pas compatible (celui à 4 gb) avec le type de processeur.

se peut-il que la taille de la mémoire soit spécifiée normalement, mais qu'en fait, en raison d'une incompatibilité avec le type de processeur, elle ne soit pas concernée ?

 
Alexandr Bryzgalov:

J'ai remis mon ordinateur portable pour réparation, après la réparation ils ont dit que la mémoire (seulement 6gb) avait été installée en usine et n'était pas compatible (celle pour 4gb) avec le type de processeur.

Habituellement, TOUS les systèmes et certainement tous les ordinateurs portables sont testés en usine et la possibilité que l'usine ait installé du matériel incompatible... c'est très très très peu probable....
 
ivanivan_11:
Habituellement, TOUS les systèmes et certainement les ordinateurs portables sont testés en usine et les chances de matériel incompatible installé en usine... c'est très très très improbable....
pour une raison quelconque, je ressens la même chose, je me sens comme si j'étais... moi
 
Alexandr Bryzgalov:
Pour une raison quelconque, je ressens la même chose, je me sens comme si j'étais... moi
Eh bien, cela se produit de différentes manières, comme il s'avère - il y a des smartphones de marque qui explosent dès l'usine. Et à propos de l'ordinateur - beaucoup de facteurs ne sont pas connus - si quelqu'un avait fouillé dans l'ordinateur portable avant la vente (il y a des remises à neuf, des retours), quel type d'ordinateur portable, quel système d'exploitation, etc. - tous ces éléments peuvent affecter la disponibilité de la mémoire.
 
Alexandr Bryzgalov:

Quelqu'un peut-il me dire si la taille de la RAM (soulignée en rouge) est correcte ?

Données de l'ordinateur portable avant réparation :

2013.04.28 01:26:54     OpenCL  Device #2: GPU NVIDIA Corporation GeForce 610 M with OpenCL 1.1 (1 units, 950 MHz, 2047 Mb, version 305.46)
2013.04.28 01:26:54     OpenCL  Device #1: GPU Intel(R) Corporation Intel(R) HD Graphics 4000 with OpenCL 1.1 (16 units, 350 MHz, 1624 Mb, version 9.17.10.2828)
2013.04.28 01:26:54     OpenCL  Device #0: CPU Intel(R) Corporation  Intel(R) Core(TM) i5-3210 M CPU @ 2.50 GHz with OpenCL 1.1 (4 units, 2500 MHz, 6029 Mb, version 1.1)

a donné l'ordinateur portable pour réparation, après la réparation a dit que de l'usine a été installé la mémoire (seulement ses 6gb) n'est pas compatible (celui sur 4gb) avec le type de processeur.

Est-il possible que la taille de la mémoire soit indiquée normalement mais qu'en fait, en raison d'une incompatibilité avec le type de processeur, elle ne soit pas utilisée ?

La mémoire peut entrer en conflit avec la carte mère. Et, si le bios a détecté la mémoire comme présente, elle est là, mais peut ne pas fonctionner de manière stable.

La taille réduite de la mémoire, je suppose, est due au fait que la mémoire est comprimée pour la carte vidéo - certaines cartes intégrées font cela car elles n'ont pas de mémoire propre.

 

Comment trouver les signaux qui ont ?

Слишком большой прирост за последний месяц говорит о высоком риске

 

J'ai remarqué une caractéristique intéressante du terminal MT5. Si plusieurs fenêtres du même outil sont ouvertes, lorsque vous appuyez sur le bouton "rafraîchir" d'une fenêtre, TOUTES les fenêtres de cet outil sont rafraîchies. C'est censé être comme ça ?

Ajouté :

Maintenant, dans un marché fermé avec des indicateurs tick sur d'autres graphiques de cet instrument (Si-12.16) conduit à des accroches de graphiques vides glauques !

Raison: