Erros, bugs, perguntas - página 2768

 
Saudações. O evento de inicialização ocorre quando o terminal é ligado?
Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Cara administração. A quem devo escrever aqui sobre a eliminação da minha conta (com registo como vendedor) de mql5.com?
 

Olá! existe um indicador MT5 "Grid Builder" que desenha linhas horizontais em incrementos de preços. Pode seleccionar, por exemplo, 100p, 200p, etc. E constrói uma grelha horizontal para cima e para baixo com um dado passo. Mas tem um problema, por exemplo, quando desenho níveis horizontais no prazo H4 (coloco linhas horizontais de ferramentas de desenho no terminal) e mudo para qualquer outro prazo, todas as minhas linhas são removidas. Restam apenas os níveis indicadores horizontais. Como posso corrigir este erro no código? Para assegurar que os meus níveis horizontais nunca sejam eliminados. Aqui está o código do indicador.

//+------------------------------------------------------------------+
//|                                                  GridBuilder.mq5 |
//|                                              Copyright 2015, AM2 |
//|                                     https://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, AM2"
#property link      "https://www.forexsystems.biz"
#property version   "1.00"
#property indicator_chart_window

//---- для расчёта и отрисовки индикатора использовано ноль буферов
#property indicator_buffers 0
//---- использовано всего ноль графических построений
#property indicator_plots   0
//--- входные параметры 
input int count = 50;      //количество линий вверх вниз от цены
input int step  = 333;     //шаг линий 
input double pr = 1.4622;  //цена от которой пляшем
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,0,OBJ_HLINE);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll(0,0,OBJ_HLINE);
  }
//+------------------------------------------------------------------+ 
//| Создает горизонтальную линию                                     | 
//+------------------------------------------------------------------+ 
bool HLine(const string name="HLine",double price=0)
  {
//--- создадим горизонтальную линию 
   if(!ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,
            ": не удалось создать горизонтальную линию! Код ошибки = ",GetLastError());
      return(false);
     }
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clrGreen);
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
   return(true);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
   double price=pr;
//--- создадим горизонтальную линию 
   for(int i=0;i<=count;i++)
     {
      HLine("HLine"+(string)i,price+step*i*_Point);
      HLine("HLine"+(string)(i+count+1),price-step*i*_Point);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Александр:

Olá! existe um indicador MT5 "Grid Builder" que desenha linhas horizontais em incrementos de preços. Pode seleccionar, por exemplo, 100p, 200p, etc. E constrói uma grelha horizontal para cima e para baixo com um dado passo. Mas tem um problema, por exemplo, quando desenho níveis horizontais no prazo H4 (coloco linhas horizontais de ferramentas de desenho no terminal) e mudo para qualquer outro prazo, todas as minhas linhas são removidas. Restam apenas os níveis indicadores horizontais. Como posso corrigir este erro no código? Para assegurar que os meus níveis horizontais nunca sejam eliminados. Aqui está o código de indicador.

Por favor, tenteinserir o código correctamente.

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • www.mql5.com
Теперь вы можете не только читать статьи и скачивать программы на языке MQL5, но и участвовать в обсуждении интересующих вас тем на Форуме, оставлять комментарии к статьям и опубликованным кодам. Кроме того, вы можете не только выкладывать собственные разработки в Code Base, но и публиковать Статьи, за которые мы предлагаем вознаграждение...
 

Beaubra a todos.

Quando altero o período de tempo que esteve ocioso durante muito tempo, o indicador congela. Por favor, guie-me onde o cão está enterrado. Obrigado!

 
BROXIV:

Beaubra a todos.

Quando altero o período de tempo que esteve ocioso durante muito tempo, o indicador congela. Por favor, guie-me onde o cão está enterrado. Obrigado!

O cão está a carregar dados.

 
BROXIV:

Beaubra a todos.

Quando altero o período de tempo que esteve ocioso durante muito tempo, o indicador congela. Por favor, guie-me onde o cão está enterrado. Obrigado!

Mesmo lugar onde o lobo mordeu a raposa....

Ele mordeu-a. O que pensa? )))))))

 
Como pode uma função ser chamada primeiro e depois declarada. O programa está a ficar sem sequência ou quê?
 
Ivan_Invanov:
Como pode uma função ser chamada primeiro e depois declarada? O programa não está a correr em fila ou o quê?

MQL-compilador, não intérprete, google " compilador linker ".





quanta probabilidade de receber de uma pequena cadeia de texto(10-50 símbolos) md5-hash (16 bytes) é igual a0xAAAAAAAAAAAAAAAAAA + 0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

ulong hash[2]
this.hash[0] = this.hash[1] = 0xAAAAAAAAAAAAAAAA; 

em geral, preciso de algum inicializador HASH_NULL (preciso de algumas variantes razoáveis), acho 0 não confiável por alguma razão


UPD: desencriptação md5 pesquisada online https://md5.web-max.ca/

no md5 hash: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diz Erro , 0 é também um erro

 

Boa tarde! Estou a escrever uma aula de recolha de extrema com base em leituras de indicadores iWPR. Aqui está um pedaço de código: começo por criar um cabo para um indicador e depois copio os dados para um buffer. Crio um laço para obter dados indicadores com base no tamanho da matriz e escrevo o curso dos acontecimentos no ficheiro para compreender o que se passa. Gostaria de salientar que copiei este código da MQL4 e, claro, adaptei-o para a MQL5. Não compreendo algo ou algo está errado, mas os dados da variável dwpr são escritos num ficheiro com algum tipo de erro. O que é que estou a fazer mal? Estou a anexar o ficheiro de texto do chamado log!

   hWPR=iWPR(NULL,period,240);
   CopyBuffer(hWPR,0,0,ibars,WPRBuffer);
   CopyLow(NULL,0,0,ibars,Low);
   CopyHigh(NULL,0,0,ibars,High);
   CopyTime(NULL,0,0,ibars,Time);
   int y=ArraySize(WPRBuffer);
   //int w=ArraySize(Low);
   //int x=ArraySize(High);
   //int z=ArraySize(Time);
   
   ResetLastError(); 
   if(flag){filehandle=FileOpen(Symbol()+"_VertexUpLoad_3.txt",FILE_WRITE|FILE_TXT);}
   if(flag){FileWrite(filehandle,"Количество элементов в буфере WPRBuffer "+IntegerToString(y)+" Low "+IntegerToString(w)+
            " High "+IntegerToString(x)+" Time "+IntegerToString(z));}
   //for(int i=ibars-1;i>0;i--)
   for(int i=1;i</*ibars*/ y-1;i++)
     {
      if(i==344)
      {
      Print("");}
      datetime d=Time[i];
      //if(x<D'2004.04.02. 12:00:00'){continue;}//участок кода для тестирования
      if(flag){FileWrite(filehandle,"======================================================================================");}
      dwpr=NormalizeDouble(WPRBuffer[i],4);
      if(dwpr>=dup&&dwpr<0.0){chflag=2;}//индикатор в верхней экстремальной зоне
      if(dwpr<=ddn&&dwpr>-100.1){chflag=1;}//индикатор в нижней ЭЗ, а остальное все тоже самое
//Самое начало пока индикатор "балтается"      
      if(dwpr>=0.0000){if(flag){FileWrite(filehandle,"Самое начало пока индикатор балтается. Бар № "+IntegerToString(i)+
                                         " dwpr "+DoubleToString(dwpr,4));}
Arquivos anexados: