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

 
Sergey Dzyublik:
www.mql5.com、Cookieをクリアする必要があります。
教えてください。
 
Sergey Dzyublik:

chrome 56.0.2924.87では、レビューページを手動で更新した場合としなかった場合の両方で、正常に飛行します。

苦情返信」は表示されないのですか?レビューの編集や削除ができない。
 
fxsaber:
教えてください。
Googleがお手伝いします。

しかし、Chromeではこのように することができます。
www.mql5.com でF12キーを押す => ダッシュボードでアプリケーション => クッキー => クッキーをクリック => すべてを消去...
 
Sergey Dzyublik:
Googleがお手伝いします。

しかし、Chromeではこのように することができます。
www.mql5.com を閲覧中にF12キーを押す => ダッシュボードでアプリケーション=> クッキー => クッキーをクリック => すべてをクリア...

ないんです。

 
Sergei Vladimirov:

再生しています。あなたのコードをスクリプトに書き込んだところ、デバッグモードで実行すると正しい値(1001199)を出しましたが、リリースをコンパイルしてMT5でツリーから実行すると、安定して11199を出すことができました。ローカライズができた。

これは本当にコンパイラのバグで、servicedkに書き込んで ください。

ありがとうございます、サービスデスクに書き込みます。
 
fxsaber:

ないんです。

写真をご覧ください。バージョン56.0.2924.87
ファイル:
Ch.jpg  187 kb
 



MT4が1.8Gbyte(RAM)の重さになるようになりましたので、アドバイスをお願いします。UPUを全部食ってしまい、第2端子のスイッチがうまく入らない。MTからRAMを「クリーニング」する方法について、何かご提案があれば教えてください。

 
Ivan Butko:



MT4が1.8Gbyte(RAM)の重さになるようになりましたので、アドバイスをお願いします。UPUを全部食ってしまい、第2端子のスイッチがうまく入らない。MTからRAMを "クリーン "にする方法について、何かご提案があれば教えてください。

端末の再起動は試されましたか?

チャートのバーの 数を減らせばメモリは解放されますが、その後再起動が必要です。

 
-Aleks-:

端末の再起動は試されましたか?

チャートのバーの 数を減らせばメモリは解放されますが、その時は再起動が必要です。

以前試した時は1週間続いたが、今回また試した。バーを最小に削除(最大だった)、これを試してみます。
 

インジケータ・パラメータ・タイプ ENUM_DATATYPE の判定に誤りがありました。

テスト用のインジケータを動かしています。入力パラメータでは、各パラメータは固有の型を持っています。

#property indicator_chart_window
#property indicator_plots 0
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
input bool inpBool = false;    //1
input char inpChar = 0;        //2
input uchar inpUChar = 0;      //3
input short inpShort = 0;      //4
input ushort inpUShort=0;      //5
input color inpColor=clrWhite; //6
input int inpInt=0;            //7
input uint inpUInt=0;          //8
input datetime inpDatetime=0;  //9
input long inpLong=0;          //10
input ulong inpULong = 0;      //11
input float inpFloat = 0.0;    //12
input double inpDouble = 0.0;  //13
input string inpString = "";   //14
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   IndicatorSetString(INDICATOR_SHORTNAME,"DATATYPE");
   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[])
  {

   return(rates_total);
  }
//+------------------------------------------------------------------+

次に、それをスクリプトで検索し、そのパラメータの型の設定を解除することを行っています。

//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//--- Проверяем количество аналогичных индикаторов на всех открытых окнах
   long id=ChartFirst();
   int indicatorsTotal=0;
   int windowsTotal=0;
//---
   int ctr=0;
//---
   do
     {
      windowsTotal=(int)ChartGetInteger(id,CHART_WINDOWS_TOTAL);
      for(int i=0; i<windowsTotal; i++)
        {
         indicatorsTotal=ChartIndicatorsTotal(id,i);
         for(int j=0; j<indicatorsTotal; j++)
           {
            //Print( __FUNCTION__,": Имя индикатора: "+ChartIndicatorName( id, i, j ) );
            //---
            string shortName=ChartIndicatorName(id,i,j);
            if(StringFind(shortName,"DATATYPE")<0)
               continue;
            else
              {
               //--- получим хэндл индикатора
               int handle=ChartIndicatorGet(id,i,shortName);
               //---
               if(handle==INVALID_HANDLE) // Если хэндл не получен
                 {
                  Print(__FUNCTION__,": ОШИБКА #",GetLastError(),": хэндл индикатора "+shortName+" не получен!");
                  return;                                 // Ошибка! Переходим к следующему индикатору
                 }
               //--- Получаем параметры индикатора
               MqlParam parameters[];                            // Массив-приемник параметров
               ENUM_INDICATOR indicator_type;                      // Тип индикатора
               //--- Получение..
               int params=IndicatorParameters(handle,indicator_type,parameters);
               //---
               for(int p=1; p<params; p++)
                  Print(__FUNCTION__,": p#",p,": type = ",EnumToString(parameters[p].type));
              }
           }
        }
     }
   while(( id=ChartNext(id))>=0);
  }

出力では、私は取得します。

2017.02.20 09:08:58.144 test_DATATYPE (BR-3.17,M1)      OnStart: p#1: type = TYPE_BOOL
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#2: type = TYPE_CHAR
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#3: type = TYPE_UCHAR
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#4: type = TYPE_SHORT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#5: type = TYPE_USHORT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#6: type = TYPE_UINT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#7: type = TYPE_INT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#8: type = TYPE_UINT
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#9: type = TYPE_LONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#10: type = TYPE_LONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#11: type = TYPE_ULONG
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#12: type = TYPE_DOUBLE
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#13: type = TYPE_DOUBLE
2017.02.20 09:08:58.147 test_DATATYPE (BR-3.17,M1)      OnStart: p#14: type = TYPE_STRING

TYPE_COLOR(#6)型の代わりにTYPE_UINT型、TYPE_DATETIME型(#9)の代わりにTYPE_LONG型、TYPE_FLOAT型(#12)の代わりにTYPE_DOUBLE型が表示されていることが確認できます。TYPE_COLOR、TYPE_DATETIME、TYPE_FLOATの各タイプは列挙型で記述されており、独自の値を持つべきですが!

サービスデスク#1677120