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

 
DanilaMactep:

Mais de uma vez eu vi tais variáveis mudarem sem nenhum problemanos tutoriais em vídeo.

Eu também gostaria de ver, posso obter um link?

DanilaMactep:

Por favor, dê um conselho realmente claro e sensato

Post#13247

 

Você pode me dizer como encontrar um objeto por um nome que não esteja cheio?

O indicador cria objetos e lhes dá um nome

HlineCreate(0,"Min"+rand(),...);

Encontrar o objeto e eliminá-lo se seu preço for inferior ao preço atual

 
MakarFX:

Você pode me dizer como encontrar um objeto por um nome que não esteja cheio?

O indicador cria objetos e lhes dá um nome

Preciso encontrar um objeto e apagá-lo se seu preço for menor que o atual

Será?

StringFind

Procura de substrato em cordel.

intStringFind(
stringstring_value,//string string que estamos procurando
stringmatch_substring,//o que estamos procurando
intstart_pos=0// qual posição para iniciar a busca
);

Parâmetros

string_value

[em] String para pesquisar.

match_substring

[em] Match_substring a ser pesquisado.

start_pos=0

[em] Posição na corda onde a busca deve começar.

Valor retornado

Retorna o número de posição no fio onde começa o substrato a ser pesquisado, ou -1 se não for encontrado substrato.

 
Vitaly Muzichenko:

Isto?

Provavelmente não...

ou melhor, não sei como vinculá-lo à busca de objetos.

Estou tentando.

 for(int i=0;i<ObjectsTotal();i++)
     ObjectDelete(0,"Min"+IntegerToString(i));

mas não está funcionando.

 
MakarFX:

Provavelmente não...

ou melhor, não sei como vinculá-lo a uma busca de objetos.

Eu ainda estou tentando.

mas simplesmente não funciona(

for(int i=0;i<ObjectsTotal();i++) {
 if(StringFind(получим имя объекта,"Min")>-1) { // ObjectName
   ObjectDelete(0,"полученное имя");

stringObjectName(
intobject_index// número na lista de objetos
);

 

Eu sugiro isto:

int obj_total=ObjectsTotal(); 
 
   for(i=obj_total-1;i>=0;i--) 
     { 
      string name=ObjectName(i); 
      if(StringFind(name,"Min",0)!=-1)
        {
        ObjectDelete(name);
        } 
     } 
 
Vitaly Muzichenko:


Alekseu Fedotov:

Obrigado, vou tentar os dois agora)

 

Fez com que fosse assim.

 for(int a = 0; a<ObjectsTotal() ;a++)
  {
   if(ObjectGet(ObjectName(a),OBJPROP_PRICE1)>iHigh(Symbol(),PERIOD_D1,1))
   if(ObjectDelete(ObjectName(a)))Print("Delete");
  }

Funciona sem falhas!

Obrigado a todos vocês)

 

Olá. Pergunta sobre o custo do item. Eu estou fazendo isso:

MarketInfo("EURCAD",MODE_TICKVALUE) 
MarketInfo("USDCAD",MODE_TICKVALUE)

Eu recebo os mesmos valores nestes dois pares. É assim que funciona? Ou é uma falha?

 
MakarFX:

Fez com que fosse assim.

Funciona sem falhas!

Obrigado a todos vocês)

O ciclo deve ser revertido. Caso contrário, haverá perguntas sobre o porquê de não ter funcionado perfeitamente.

Razão: