Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1326

 
DanilaMactep:

Más de una vez he visto cambiar esas variables sin problemasen los videotutoriales.

A mí también me gustaría verlo, ¿se puede conseguir un enlace?

DanilaMactep:

Por favor, dé un consejo realmente claro y sensato

Puesto#13247

 

¿Puedes decirme cómo encontrar un objeto por un nombre que no está completo?

El indicador crea objetos y les da un nombre

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

Busca el objeto y lo elimina si su precio es inferior al actual

 
MakarFX:

¿Puedes decirme cómo encontrar un objeto por un nombre que no está completo?

El indicador crea objetos y les da un nombre

Necesito encontrar un objeto y eliminarlo si su precio es inferior al actual

¿Lo es?

StringFind

Buscar la subcadena en la cadena.

intStringFind(
stringstring_value,// cadena que buscamos
cadenamatch_substring,//lo que buscamos
intstart_pos=0// qué posición para iniciar la búsqueda
);

Parámetros

valor_de_cadena

[in] Cadena para buscar en.

match_substring

[in] Match_substring a buscar.

start_pos=0

[in] Posición en la cadena donde debe iniciarse la búsqueda.

Valor devuelto

Devuelve el número de posición en la cadena donde comienza la subcadena a buscar, o -1 si no se encuentra ninguna subcadena.

 
Vitaly Muzichenko:

¿Esto?

Probablemente no...

o mejor dicho, no sé cómo vincularlo a la búsqueda de objetos.

Lo estoy intentando.

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

pero no funciona.

 
MakarFX:

Probablemente no...

o mejor dicho, no sé cómo vincularlo a una búsqueda de objetos.

Todavía lo estoy intentando.

pero simplemente no funciona(

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

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

 

Sugiero esto:

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:

Gracias, ahora probaré ambos)

 

Lo hice así.

 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 a la perfección.

Gracias a todos)

 

Hola. Pregunta sobre el coste del artículo. Estoy haciendo esto:

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

Obtengo los mismos valores en estos dos pares. ¿Es así como funciona? ¿O es un fallo?

 
MakarFX:

Lo hice así.

Funciona a la perfección.

Gracias a todos)

El ciclo debe invertirse. De lo contrario, habrá preguntas sobre por qué no ha funcionado perfectamente.

Razón de la queja: