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

 
Sergey Dzyublik:

では、この操作の名称は何でしょうか?

この操作には、現在(1589年以降)名前がない。ウォーニングがどこから来たのかを理解したとき、私は思うのです。

template <typename T>
T Func(){
  T Res;
  return(Res);
}

template <typename T>
void Func( T Value ){
  T Res = (int)Value; // implicit conversion from 'number' to 'string'
}

void OnStart()
{
  Func<string>(); 

  Func(0);
}

をご覧いただければ、どのような問題であるかがご理解いただけると思います。

 

オプティマイザーのログに最適化するパラメータの範囲とステップを表示してください。

また、このような文字列のエージェントのログでは

NS      0       14:11:00.853    Tester  756 : passed in 0:00:04.789
MJ      0       14:11:03.447    Tester  757 : passed in 0:00:02.574
RM      0       14:11:05.860    Tester  758 : passed in 0:00:02.340

には、Expert Advisor の名前とその入力パラメータという、対応する実行に関する情報が含まれています。

 
ここの 行を削除すると
#define  TYPETOBYTES_FULL_SLOW

の場合、新しいユニオンが有効になり、コンパイル時間が2倍になります。

'TypeToBytes_ExampleScript.mq5' TypeToBytes_ExampleScript.mq5
'TypeToBytes.mqh'       TypeToBytes.mqh
0 error(s), 0 warning(s), compile time: 3195 msec

小さいコードで3秒は普通なのか?

一方、デバッグ版

0 error(s), 0 warning(s), compile time: 108 msec

は30倍速くコンパイルされます。

デバッグ自体を起動せずに、セルフテストのためにデバッグバージョンにすばやくコンパイルすることは可能でしょうか?

 

どうしてこうなったのか、わからないが、こうなってしまった。


 
Комбинатор:

どうしてこうなったのか、わからないが、こうなってしまった。

誰かに手紙を書かないと いけない。そうするしかない、他に方法はない)))
 
Andrey Khatimlianskii:
誰かに手紙を書かないと いけない。そうするしかないんだ、他に方法はないんだ )))
それだけではダメなんです。あんなことがあったんだから、結婚しないとね)))
 
今の現実では、これが普通なのでしょうか?
void OnStart()
{
  MqlTick Tick;
  
  Tick = (MqlTick)Tick; // cannot cast 'MqlTick' to 'MqlTick'
}
 

よろしくお願いします。

問題を解決するのに役立つ

つまり、マーケットレビューで新しいチャートを開き、その上にオブジェクトを描画するのです。

チャート内のティッカーが少ないうちは、特に問題は見当たりません。

ウィンドウを多く開けば開くほど、次のウィンドウが開くのが遅くなります。

チャート・オープン時間が3000ms!!!=3sに なると、ChartOpenは0を返す。チャートはいずれ開かれるが、!!新しいチャートにオブジェクトを描くという条件が ある。ChartOpenが0を返すと、チャートIDを取得できないので、チャートはいずれ開かれるがそのIDは分からない。

問題vasyanskim方法を解決しようとした、愚かにもスリープ4Sを回すが、それでも、約60のスコアで、それも動作しません。しかも、当初の予定通り、七面鳥のテンプレートを切り抜いて添付しています。

もし、あなたがスリープをザンメヌットしたら、スラッシュ、メイヘム、ソドミーは、もっと早く始まるでしょう。

2017.04.29 12:50:12.563 открытие множества чартов с созданием объектов (EURUSD,H1)      Чарт 131379294082473728 открывался = 2480.0
2017.04.29 12:50:12.563 открытие множества чартов с созданием объектов (EURUSD,H1)      Раз тут открылся чарт #Wheat_N7  должен нарисовать объект 
2017.04.29 12:50:12.673 открытие множества чартов с созданием объектов (EURUSD,H1)      На символе номер = 57 #Wheat_N7  создано объектов = 1
2017.04.29 12:50:12.673 открытие множества чартов с созданием объектов (EURUSD,H1)      На символе номер = 57 #Wheat_N7  на самом деле создано объектов = 1
2017.04.29 12:50:19.753 открытие множества чартов с созданием объектов (EURUSD,H1)      Не удалось открыть чарт № = 58 тикер = #AUS200  за время = 3003.0
2017.04.29 12:50:26.623 открытие множества чартов с созданием объектов (EURUSD,H1)      Чарт 131379294223977200 открывался = 2794.0
2017.04.29 12:50:26.623 открытие множества чартов с созданием объектов (EURUSD,H1)      Раз тут открылся чарт #Belgium20  должен нарисовать объект 

メモリーゴレートターミナルは約700MBで、あと1300MBが無料、つまりリソースには入っていない。チャートセット5000のKolvoバー。

Не удалось открыть чарт № = 58 тикер = #AUS200

しかし、チャートは開いたが、そのIDは不明である。

//+------------------------------------------------------------------+
//|                                                      ProjectName |
//|                                      Copyright 2012, CompanyName |
//|                                       http://www.companyname.net |
//+------------------------------------------------------------------+
#property strict
#property script_show_inputs
input string nametemplate="zz.tpl";
input int    limit=1000;
int symopen,objquant;
double close[];
datetime time[];
string namesym;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   ArrayInitialize(time,0);
   ArrayInitialize(close,0);
   long chart_id=ChartFirst(),chart_id_prev;
   for(int c2=0; c2<SymbolsTotal(true)-1; c2++)
     {
      int Q=0;
      objquant=0;
      chart_id_prev=chart_id;
      ArrayFree(close);
      ArrayFree(time);
      ArrayResize(close,limit);
      ArrayResize(time,limit);
      int время=CopyTime(namesym,0,1,limit,time);
      int цена=CopyClose(namesym,0,1,limit,close);
      namesym=SymbolName(c2,true);
      ulong start=GetMicrosecondCount();
      chart_id=ChartOpen(namesym,0);
      ulong finish=GetMicrosecondCount();
      Sleep(4000);
      if( chart_id==0 )
        {
         Print("Не удалось открыть чарт № = ",c2," тикер = ",namesym," за время = ",
               NormalizeDouble((finish-start)/1000,3));
         continue;
        }
      Print("Чарт ",chart_id," открывался = ",NormalizeDouble((finish-start)/1000,3));
      symopen=1;
      //      ChartApplyTemplate(chart_id,nametemplate);
      Print("Раз тут открылся чарт ",namesym," должен нарисовать объект ");
      //Sleep(100);
      ResetLastError();
      bool objcreated=ObjectCreate(chart_id,"name"+namesym+string(c2),OBJ_RECTANGLE,0,time[5],close[5],time[15],close[15]);
      if(objcreated==true) objquant++;
      else Print("Ошибка создания объекта = ",GetLastError());
      Print("На символе номер = ",c2," ",namesym," создано объектов = ",objquant);
      int total=ObjectsTotal(chart_id,0,-1);
      Print("На символе номер = ",c2," ",namesym," на самом деле создано объектов = ",total);
     }
   return;
  }

//+------------------------------------------------------------------+
 
kaus_bonus:

問題解決に役立つ

GetNewChartID()を記述する。
 
fxsaber:
GetNewChartID()を記述する。


ChartOpenは 新しいチャートIDを返すはずなのに、それをしない。

をお願いできますか?