Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1783

 
Volodymyr Zubov #:

Sempre tem que pensar em cortes de energia e assim por diante...

Um EA da história deve ser configurado e funcionar a qualquer momento.

Isto é quando o robô é um sistema comercial realmente funcional. É muito cedo para os iniciantes. Eles precisam prescrever um algoritmo básico e testar o sistema comercial, para começar.

 
законопослушный гражданин possível perda de dados devido à conversão do tipo


double openPrice()
  {
   double OP = dMA;
   if (GetLotSize()>LotControl) OP = dMA + Deviation * _Point;
   return(OP);
  }
 
Nerd Trader #:

Fez uma linha seguir o cursor do mouse depois de clicar no botão desenhar e excluir

Talvez haja outra maneira? Porque o resfriador do processador começa a fazer barulho :)

Muito bem. Apagar, criar. Criar, apagar. E por que a CPU está fazendo barulho... :)

Mas não vamos abrir documentação e ler sobre funções tão bonitas como ObjectSetInteger e ObjectSetDouble...

 
Nerd Trader #:

Fez uma linha seguir o cursor do mouse após apertar um botão para desenhar e excluir

Talvez haja outra maneira? O resfriador do processador está começando a ficar ruidoso :)

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {    
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE))
     {
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;
     
      if(id == CHARTEVENT_MOUSE_MOVE)
        {
         if(ChartXYToTimePrice(0,x,y,window,dt,price))
           {
            if(ObjectMove(0,"H Line",window,dt,price))
              {
               ChartRedraw(0);
              }
           }
        }
     }
   else
     {
      ObjectDelete(0,"H Line");
     }
  }
 
MakarFX #:
ObjectMove está mudando, não estabelecendo novas coordenadas...? Pelo menos a documentação diz que sim...
 
MakarFX #:

exatamente o que eu preciso, obrigado.


Mihail Matkovskij #:

Isso é ótimo. Apagar, criar. Criar, apagar. E por que a CPU está fazendo barulho... :)

Mas não vamos abrir a documentação e ler sobre funções tão legais como ObjectSetInteger e ObjectSetDouble...

Eu entendo muito bem porque a CPU é carregada de forma inteligente. Quando eles colocam a busca no Google em *.chm, você escreve o que eu abro e onde eu não leio.

 
Nerd Trader #:

exatamente o que eu preciso, obrigado.


Eu sei exatamente porque a CPU está carregando calças inteligentes. Quando eles colocam a busca no Google em *.chm, então você pode me escrever o que eu abro e onde eu não leio.

O que pesquisar no google? :)

https://www.mql5.com/ru/docs/objects

Документация по MQL5: Графические объекты
Документация по MQL5: Графические объекты
  • www.mql5.com
Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Removido a criação da linha do evento do movimento do mouse, ainda não melhor - o refrigerador é barulhento, acho que é como deveria ser.
   if(ObjectGetInteger(0,"button_bs",OBJPROP_STATE)){
      int      x     =(int)lparam;
      int      y     =(int)dparam;
      datetime dt    =0;
      double   price =0;
      int      window=0;

      if(ChartXYToTimePrice(0,x,y,window,dt,price)){
        ObjectCreate(0,"H Line",OBJ_HLINE,window,dt,price);
        if(id == CHARTEVENT_MOUSE_MOVE)
          if(ObjectMove(0,"H Line",window,dt,price))
            ChartRedraw(0);
      }
      else{
        ObjectDelete(0,"H Line");
      }
  }
 
Nerd Trader #:
Removido a criação de linhas do evento de movimento do mouse, no entanto não ficou melhor - o cooler é barulhento, acho que deveria ser.

Depois, limpar o pó, lubrificar os mancais, substituir a pasta térmica. :)

 
Mihail Matkovskij #:

Depois, limpar o pó, lubrificar os mancais, substituir a pasta térmica. :)

Mas falando sério, o ChartRedraw é chamado mais de 24 vezes por segundo.

E ObjectCreate! O horror...

Razão: