Erros, bugs, perguntas - página 1813

 
Sergey Dzyublik:
É necessário limpar os cookies para www.mql5.com.
Pode dizer-me como?
 
Sergey Dzyublik:

No cromo 56.0.2924.87 o voo está bom, tanto com como sem actualização manual da página de revisão.

Não aparece"queixar-se|responder" na sua página? Não posso editar ou apagar as minhas críticas.
 
fxsaber:
Pode dizer-me como?
O Google irá ajudar.

Mas no cromado pode fazê-lo desta forma:
Prima F12 em www.mql5.com => no painel de instrumentos vá a Aplicação => Cookies => clique em cookies => Limpe tudo de...
 
Sergey Dzyublik:
O Google ajuda.

Mas no cromado pode fazê-lo desta forma:
Prima F12 enquanto navega www.mql5.com => no painel de instrumentos vá a Aplicação => Cookies => clique em cookies => Limpe tudo de...

Não há nenhuma.

 
Sergei Vladimirov:

Está a tocar. Escreveu o seu código em script, deu o valor correcto (1001199) quando executado em modo de depuração, mas se eu compilar o release e o executar a partir da árvore em MT5, deu 11199 de forma estável. Foi capaz de localizar.

Este é realmente um bug de compilação, escreva para servicedesk.

Obrigado, escreva para o Service Desk.
 
fxsaber:

Não há nenhuma.

Ver imagem. Versão 56.0.2924.87
Arquivos anexados:
Ch.jpg  187 kb
 

Aconselha-se

MT4 começou a pesar 1,8 Gbytes (RAM). Comeu toda a UPU, o segundo terminal não pode ser ligado correctamente. Alguma sugestão sobre como "limpar" a RAM da MT?

 
Ivan Butko:

Aconselha-se

MT4 começou a pesar 1,8 Gbytes (RAM). Comeu toda a UPU, o segundo terminal não pode ser ligado correctamente. Alguma sugestão sobre como "limpar" a RAM da MT?

Já tentou reiniciar o terminal?

A memória é libertada se eu reduzir o número de barras no gráfico, mas preciso de reiniciar depois.

 
-Aleks-:

Já tentou reiniciar o terminal?

A memória é libertada se reduzir o número de barras na tabela, mas é necessário reiniciar então.

Experimentei-o antes, durou uma semana, agora novamente. Removido barras ao mínimo (estava no máximo), vai tentar isto, obrigado
 

Erro na determinação do parâmetro indicador tipo ENUM_DATATYPE.

Estou a executar um indicador de teste. Nos parâmetros de entrada, cada parâmetro tem um tipo único:

#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);
  }
//+------------------------------------------------------------------+

De seguida, pesquiso-a através do guião e faço a desactivação do seu tipo de parâmetros:

//+------------------------------------------------------------------+
//| 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);
  }

Na produção recebo:

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

Posso ver que em vez de TYPE_COLOR(#6), mostra TYPE_UINT type, em vez de TYPE_DATETIME type (#9), mostra TYPE_LONG type, em vez de TYPE_FLOAT type (#12), mostra TYPE_DOUBLE type. Embora os tipos TYPE_COLOR, TYPE_DATETIME e TYPE_FLOAT estejam descritos na enumeração e devam ter os seus próprios valores!

Servicedesk#1677120