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

 
Nerd Trader #:

por quê? Por que isso não acontece para a linha verde? As condições são idênticas apenas inversamente (preço > Perguntar) para a linha amarela e (preço < Lance) para a linha verde.

Mas as linhas verde e vermelha, por alguma razão, são criadas apenas em uma instância e não piscam quando o cursor se move.

de zero e acima?

Ponto interessante...

Você está à procura de duas linhas

        if(ObjectFind("Buy Stop") == window || ObjectFind("not allowed") == window){

e você apaga um.

          ObjectDelete(line_name);

A questão é qual deles? Qual é o sobrenome do "nome_da_linha"?

 
Mihail Matkovskij #:

Completou a mensagem. Teste sua função e a minha com a identificação incorreta do gráfico e quando o objeto é criado subjanela. E veja o que sua função retorna e o que a minha acredita.

Você está apenas fora do circuito)


 
MakarFX #:
E se

o que então?

Erro. E você, é verdade, por alguma razão!

 
Mihail Matkovskij #:

Erro. E você, é verdade, por alguma razão!

"-1" significa nenhum objeto. Como não há nenhum objeto, é verdade
 
MakarFX #:

Você está apenas fora do circuito).


Eu dei a você como deveria ser a verificação da existência do objeto. E que minha função não vai funcionar? Pelo contrário, é mais versátil. Se você precisar trabalhar com uma subjanela, não notará muita diferença.

 
Mihail Matkovskij #:

Eu lhe dei como deveria ser a verificação da existência do objeto. E que minha função não vai funcionar? Pelo contrário, é mais versátil. Se você precisar trabalhar com uma subjanela, isso não fará muita diferença.

Deixe-me repetir a pergunta

E se
ObjectFind(chart, name)=-1

O que então?

 
MakarFX #:
"-1" - não há nenhum objeto. Como não há nenhum objeto - verdadeiro

Sua função voltará a ser verdadeira e quando ocorrer um erro:

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Qualquer pergunta de novatos sobre MQL4 e MQL5, dicas e discussão sobre algoritmos e códigos

Mihail Matkovskij, 2021.12.06 12:38

Enriqueceu sua mensagem. Você deve testar sua função e a minha com identificação incorreta do gráfico e quando o objeto é criado na subjanela. E veja o que sua função retornará e o que a minha retornará. E leia a documentação cuidadosamente. Todos os links e citações são fornecidos acima.


 
  string name = "name";

  ObjectCreate(1, name, OBJ_HLINE, 1,0,0);

  Print(FindObject("name"));

  if (objectExist(0, "name")) Print("objectExist Find");
  else Print("objectExist Object not found.");

...

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); }

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }
Eu não crio na janela principal, ainda é verdade (mas Makar escreveu para minha situação apenas para a janela principal). Para objectExist está claro, lá >= 0.


Se a busca por outro objeto que não "nome", então a variante de Makar retornará falsa.
 
Mihail Matkovskij #:

Completou a mensagem. Teste sua função e a minha com identificação incorreta do gráfico e quando o objeto é criado na subjanela . E veja o que sua função retornará e o que a minha retornará. E leia a documentação cuidadosamente. Todos os links e citações são fornecidos acima.

Mihail Matkovskij #:

Eu lhe dei como deveria ser a verificação da existência do objeto. E minha função não vai funcionar? Pelo contrário, é mais universal. Se você precisar trabalhar com uma subjanela, isso não fará muita diferença.


Quanto à universalidade da função, bem...

bool FindObject(string name,int win)
  {
   if(ObjectFind(0,name)!=win) return(false);
   return(true);
  }
 
MakarFX #:

Um ponto interessante...

Você está procurando por duas linhas

e você remove um.

A questão é qual deles? Qual é o sobrenome do "nome_da_linha"?

Aquela que, por convenção, é verdadeira