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

 
Karputov Vladimir:

誤りはここ(逆カンマの間)にある。


本当なんです。現在、動作しています。ありがとうございます。:-)
 
ファイル Bases-BCS-MetaTrader5 ΘticksSi-12.16201610.tkc は 6 Gb のサイズです。これではいけないと思います。
 
fxsaber:
ファイルBases-BCS-MetaTrader5 ΘticksSi-12.16201610.tkc は 6 Gb のサイズです。これではいけないと思います。

おそらく10ヶ月目にティックデータの構造が変わった(多くの追加情報が導入された)のでしょう。あるいは、そのシンボルが活発に取引されるようになったということでしょうか。

今現在、このようなスクリプトでリクエストすると

//+------------------------------------------------------------------+
//|                                                    CopyTicks.mq5 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.01"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
input int  ticks=200000000;  // количество запрашиваемых тиков
//---
MqlTick ExTicks[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- запросим тики
   int copied=CopyTicks(_Symbol,ExTicks,COPY_TICKS_ALL,0,ticks);
//--- если тики получены, то выведем на график значения Bid и Ask  
   Print("Получено тиков: ",copied," код ошибки: ",GetLastError());
   if(copied>1)
     {
      Print("Тик: ",ExTicks[0].time," bid: ",ExTicks[0].bid," ask: ",ExTicks[0].ask," last: ",ExTicks[0].last," [0]");
      Print("Тик: ",ExTicks[copied-1].time," bid: ",ExTicks[copied-1].bid," ask: ",ExTicks[copied-1].ask," last: ",ExTicks[copied-1].last," [",copied-1,"]");
     }
   Print("Size ",((long)copied*sizeof(MqlTick))>>20, " Mb");
  }
//+------------------------------------------------------------------+

サーバー「Open-Broker」でのティックのサイズ(そして10ヶ月目には最終的なものではなく、ティックはアップロードされ続けます)。

ティックデータベースサイズ

2016.10.05 07:34:05.886 Terminal        MetaTrader 5 x64 build 1434 started (MetaQuotes Software Corp.)
2016.10.05 07:34:05.888 Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120 M  @ 2.50 GHz, RAM: 3800 / 8077 Mb, HDD: 57955 / 233310 Mb, GMT+02:00
2016.10.05 07:34:05.888 Terminal        C:\Users\KVN\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075
ファイル:
CopyTicks.mq5  2 kb
 
Karputov Vladimir:

おそらく10ヶ月目にティックデータの構造が変わった(多くの情報が追加入力された)のでしょう。あるいは、そのシンボルが活発に取引されるようになったということでしょうか。さて、このようなスクリプトで問い合わせると

サーバー「Open-Broker」でのティックのサイズ(そして10ヶ月目には最終的なものではなく、ティックはアップロードされ続けます)。

スクリプト

#define  TOSTRING(A) #A + " = " + (string)(A) + " "

void OnStart()
{
  MqlTick Ticks[];
  
  const int Amount = CopyTicks(_Symbol, Ticks, COPY_TICKS_ALL, D'2016.10.01' * 1000, 1000000000);
  
  if (Amount > 0)
    Print(TOSTRING((Amount * sizeof(MqlTick)) >> 20) + "Mb " + TOSTRING(Ticks[0].time) + TOSTRING(Ticks[Amount - 1].time));
}

空のターミナル(Expert Advisorやインジケータのない1つのチャート)での結果(他のシンボルで実行しても同じ結果になる)。

2016.10.05 08:16:56.824 Scripts script Test (Si-12.16,M1) removed
2016.10.05 08:16:56.821 MemoryException 52000000072 bytes not available
2016.10.05 08:16:56.816 Scripts script Test (Si-12.16,M1) loaded successfully
2016.10.05 08:10:10.408 Terminal        RAM: 81 Mb reserved, 491 Mb committed

 
Karputov Vladimir:

おそらく10ヶ月目にティックデータの構造が変わった(多くの追加情報が導入された)のでしょう。あるいは、そのシンボルが活発に取引されるようになったということでしょうか。

今現在、このようなスクリプトでクエリを実行した場合。

サーバー「Open-Broker」でのティックのサイズ(そして10ヶ月目には最終的なものではなく、ティックはアップロードされ続けます)。

私は十分な忍耐を持っていなかった - 7.5Gbのファイルサイズ 201610.tkcでダニのダウンロードを中断することにしました。
 

ファイルをグロッキーすると、再起動してもエラーになります。

10月1日から1000ティックを要求した場合、起動のたびに対応するtkcファイルが増え続けることになります。要するに、バグがめちゃくちゃなんです。

 
Karputov Vladimir:
私は十分な忍耐を持っていなかった - 7,5Gbのファイルサイズ201610.tkcで、私はティックのダウンロードを中断することにしました。

バグ!10月の情報は、すべて指標で表示しています。そして、そのファイルは果てしなく増えていくのです。

ビルドのクリティカルアップデートが必要なのですが、作業ができないので。

 

ハロー

次のような奇妙なエラーに遭遇した人

私のExpert Advisorは、例えばWDOX16で 取引を開始しようとすると、reply = 0を取得 します。

同時にその操作が成功したことを書き込みます:結果= 0シンボル WDOX16 ボリューム 1.0 アクション 1 tp 3264.5 sl 3239.5 タイプ 0 価格 3250.0 操作は正常に完了しました。

しかし、やはりどこも開かない。?


 
fxsaber:

スクリプト

空のターミナル(EAやインジケータのない1つのチャート)での結果(他のシンボルで実行しても同じ結果になる)。

いつもミリオネアをリクエストしているのですか?アレイ1本あたりでちょうど49ギガバイトです。1月から現在までのSi-12.16のティックは15789962です。

あなたのものをベースにした小さなスクリプトで、月別にティックの数をカウントします。

void OnStart()
  {
   MqlTick Ticks[];
   int Amount=CopyTicks(_Symbol,Ticks,COPY_TICKS_ALL,D'2016.01.01'*1000,ulong(100000000));
   MqlDateTime str;
   TimeToStruct((Ticks[0].time_msc-Ticks[0].time_msc%1000)/1000,str);
   char m=(char)str.mon;
   long n=StringToTime(StringFormat("01.%d.2016",m+1))*1000;
   int pos=0;
   for(int i=0;i<Amount;i++)
     {
      if(Ticks[i].time_msc>=n || i==Amount-1)
        {
         PrintFormat("Month %d: %d ticks, %d Mb",m,i-1-pos,(sizeof(MqlTick)*(i-1-pos))>>20);
         m++;
         n=StringToTime(StringFormat("01.%d.2016",m+1))*1000;
         pos=i;
        }
     }
  }


という結果が得られます。

2016.10.05 10:31:51.249 CalcTick (Si-12.16,M1)  Month 1: 122413 ticks, 6 Mb
2016.10.05 10:31:51.249 CalcTick (Si-12.16,M1)  Month 2: 78627 ticks, 3 Mb
2016.10.05 10:31:51.252 CalcTick (Si-12.16,M1)  Month 3: 758652 ticks, 37 Mb
2016.10.05 10:31:51.253 CalcTick (Si-12.16,M1)  Month 4: 388578 ticks, 19 Mb
2016.10.05 10:31:51.254 CalcTick (Si-12.16,M1)  Month 5: 181053 ticks, 8 Mb
2016.10.05 10:31:51.255 CalcTick (Si-12.16,M1)  Month 6: 408080 ticks, 20 Mb
2016.10.05 10:31:51.257 CalcTick (Si-12.16,M1)  Month 7: 458366 ticks, 22 Mb
2016.10.05 10:31:51.260 CalcTick (Si-12.16,M1)  Month 8: 867396 ticks, 43 Mb
2016.10.05 10:31:51.297 CalcTick (Si-12.16,M1)  Month 9: 10973162 ticks, 544 Mb
2016.10.05 10:31:51.301 CalcTick (Si-12.16,M1)  Month 10: 1555625 ticks, 77 Mb


ディスク上ではこんな感じです。


 
Alexey Da:

いつもミリオタにリクエストしているのですか?これは、アレイ1本あたりだけでも49ギガバイトになります。1月から今までのSi-12.16のティックは15789962です。

いや、今回に限っては。1兆個のティックを要求しても、実際には2000万個以下なのに、なぜ1兆個分のメモリーを確保しようとするのか!?

1兆円は余裕を持って。でも、だからといって、そこまで要求しているとは少しも思っていません。指定された日付からの全てのティックを出せ」としか書いていない。

あなたのものをベースにした小さなスクリプトで、月別にティックの数をカウントします。

という結果が得られます。

ディスク上ではこのように表示されます。

あなたはオトクリティで実験、私はBCSで実験。あなたのスクリーンショットは、私やKarputov(同じOpening)のものと共通点がなく、どちらもOctober-tkcがもっと多いですね。しかも、どんどん大きくなっていくんですよ!?