エラー、バグ、質問 - ページ 1758

 
-Aleks-:

MT4でプロファイルを変更し、元に戻すと、市場が閉じたときにCPUの負荷が高くなり、最大で5%、18~25%後になります。

.mq5MEのコンパイルを実行するとクラッシュするだけだし、.mqhのコンパイルを実行するとコンパイラに悪態をつくので、コンパイラに何か問題があるような気がしていました)))そして、クラッシュすると巨大なファイルが出現!!常に更新されているのです。Win8.1x64のOS本体以外はウイルスなし、MT5だけがNetに行き、OS本体はそのリポジトリに行くので1台のマシンには全くウイルス対策なし。

ところで、Renatさんの千分の一テストについての回答へのテーマですが、私は質問を書く前に、異なるOSやマシンで同様のチェックをしています))結果が確認できれば質問し、そうでなければ自分で問題を掘り下げ始めます。

 

インジケータに問題があるのか、Expert Advisorに問題があるのか、Visualizerに問題があるのか、何が問題なのか理解できません(笑)。

これについては、インジケータは設定のみで、タイムフレームは同じです。


Expert Advisor コード

#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()
  {
//---

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

インジケータコード

#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);
  }
//+------------------------------------------------------------------+
ファイル:
test.mq5  11 kb
 

ターミナルを最小化すると、見積もりウィンドウは折りたたまれます。これではいけないと思います。

 
Vladimir Pastushak:

ターミナルを最小化すると、見積もりウィンドウは折りたたまれます。これではいけないと思います。

MTではスプレッドは常にそう表示されている(!)のですが...。理由は分かりませんが、多分、省スペース化のためでしょう...。スプレッド値が"!"よりも長い場合、どのような(?
 

RAMサイズ(赤の下線部)が正しいかどうか、どなたか教えてください。

修理前のノートパソコンのデータ。

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)

修理のためのラップトップを手渡した, 修理工場からインストールされていたことを言った後メモリ (すべてその 6 gb) 互換性がありません (1 で 4 gb) プロセッサの種類と.

メモリのサイズが正常に指定されているにもかかわらず、実際にはプロセッサの種類との非互換性のためにそれが関与していなかったということはないでしょうか?

 
Alexandr Bryzgalov:

ノートパソコンを修理に出したら、修理後にメモリ(6gbしかない)が工場から取り付けられていて、プロセッサーの種類と互換性がない(4gb用のもの)だと言われた。

通常、すべてのシステム、そして確実にすべてのラップトップは工場でテストされ、工場が互換性のないハードウェアをインストールする可能性は...それは非常に非常に非常に低いです...。
 
ivanivan_11:
通常、すべてのシステムとノートパソコンは工場でテストされ、互換性のないハードウェアがインストールされる可能性は非常に低いのですが...。
なぜか、私も同じように、自分が...と思ってしまいます。わたくしども
 
Alexandr Bryzgalov:
なぜか私も同じように、自分がされているような気がして・・・。わたくしども
工場出荷時に爆発するブランドスマートフォンがあるなど、さまざまな形で起きています。そして、コンピュータについて - 多くの要因はわからない - 誰かが販売前にラップトップを物色していたかどうか(改装、返品がある)、どのようなラップトップ、どのようなオペレーティングシステム、など。- これらはすべて、メモリの可用性に影響を与える可能性があります。
 
Alexandr Bryzgalov:

RAMサイズ(赤の下線部)が正しいかどうか、どなたか教えてください。

修理前のノートパソコンのデータ。

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)

修理のためのラップトップを与えた, 修理工場からインストールされていたことを言った後メモリ (のみその 6 gb) 互換性がありません (1、4 gb の) プロセッサの種類と.

メモリサイズが正常に記載されていても、実際にはプロセッサーの種類との相性が悪く、使用されていない可能性はありませんか?

メモリがマザーボードと競合することがあります。また、バイオがメモリの存在を検知した場合、メモリは存在しますが、安定的に動作しない可能性があります。

メモリサイズが小さいのは、ビデオカードのためにメモリを圧迫しているためだと思われます。統合型カードには、それ自体のメモリがないため、このような動作をするものもあります。

 

どのようにシグナルを見つけるのですか?

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