Preguntas de un "tonto" - página 209

 
talliy:

También me gustaría aclarar cómo prohibir que una variable se mueva detrás de un precio.

Ejemplo: Una simple parada de arrastre. Le decimos a la variable que siga el precio a una distancia de 20 pips (por ejemplo). En otras palabras, variable = precio de oferta - 20 pips (suponiendo que hemos comprado). El precio sube y nosotros lo seguimos con éxito. Entonces el precio baja y necesitamos que la variable se mantenga en su valor al mismo nivel.

Entonces, mi pregunta es ¿cómo prohibir que la variable tome un valor en un momento determinado?

Por ejemplo, así:

if(mysymbol.Bid()>(myposition.StopLoss()+StopLoss*_Point))
              {
                ...
              }
 
A100:

Método Descripción
misímbolo.RefreshRates() Se utiliza para actualizar las tasas. Cuando se establece un nuevo símbolo, se llama automáticamente.

Entonces no se llama automáticamente.

Método Descripción
mysmbol.RefreshRates() Esta función se utiliza para comprobar los últimos datos de las cotizaciones. Devuelve true en caso de éxito y false en caso de fallo. Esta es una función útil de la que no puede prescindir.

Resulta que el artículo https://www.mql5.com/en/articles/138 fue escrito originalmente en inglés y la traducción no es del todo correcta: no hay ninguna referencia a la llamada automática. Es aconsejable especificar la lengua original en el encabezamiento del artículo.

The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor
The Use of the MQL5 Standard Trade Class libraries in writing an Expert Advisor
  • 2010.11.10
  • Samuel
  • www.mql5.com
This article explains how to use the major functionalities of the MQL5 Standard Library Trade Classes in writing Expert Advisors which implements position closing and modifying, pending order placing and deletion and verifying of Margin before placing a trade. We have also demonstrated how Trade classes can be used to obtain order and deal details.
 
uncleVic:

¡¡¡Muchas gracias humanamente!!!

¡Whoa, whoa, whoa, whoa, whoa, whoa, whoa, whoa!

Una variable estática puede ser inicializada con una constante o expresión constante correspondiente a su tipo, a diferencia de una simple variable local que puede ser inicializada con cualquier expresión.

Las variables estáticas existen en el momentode la ejecución del programa y se inicializan una vez antes de llamar a la función especializada OnInit(). Si no se especifican valores iniciales, las variables de clase de memoria estática toman valores iniciales cero.

Las variables locales declaradas con la palabra clave static guardan sus valores mientras exista la función. En cada siguiente llamada a la función, estas variables locales contienen los valores que tenían en la llamada anterior.

 
Reshetov:

Por ejemplo, así:

Y si el arrastre se hace de forma invisible desde el broker sin marcar un stop loss. Sólo algún tipo de seguimiento de precios.
 
A100:
Método Descripción
mysmbol.RefreshRates() Esta función se utiliza para comprobar los últimos datos de las cotizaciones. Devuelve true en caso de éxito y false en caso de fracaso. Esta es una función útil de la que no puede prescindir.

Resulta que el artículo https://www.mql5.com/en/articles/138 fue escrito originalmente en inglés y la traducción no es del todo correcta: no hay ninguna referencia a la llamada automática. Es aconsejable especificar la lengua original en el encabezamiento del artículo.

Gracias por el útil enlace
 
MetaQuotes:


MetaTrader 5 Client Terminal build 722

5. Terminal: Navegación de la carta fija cuando se establece el punto de fijación.
¿Puede explicar con más detalle de qué se trata?
 

talliy:

Yedelkin : Alternativamente, introduzca otra variable a la que asignará el valor true, si la primera variable se envía a imprimir.

bool bar_printed=false;
...
if()                     //Проверяете нужное условие
  {
   ...
   if(!bar_printed) { Print("Нужное условие выполнено");
      bar_printed=true;
     }
  } 

En el caso que sugieres, la variable es falsa con cada tic y se convierte en verdadera una vez que se realiza la impresión. Entonces hay un nuevo tick y el operador onTick() ejecuta su programa de arriba a abajo. Y ahí la variable vuelve a ser falsa, y en la condición si la variable es falsa entonces imprime. Y de ahí que el registro se llene de entradas con cada tic. ¡¡Probado!!

Me pregunto quién te ha dicho que hay que insertar la línea'bool bar_printed=false;' en el manejador de ticks. - Sin embargo, usted insertó esta línea directamente en el manejador de ticks y luego hizo su salida como "la variable con cada tick es falsa".

¿Y dónde has insertado la elipsis de la segunda línea de mi ejemplo? ¿Y cómo reaccionó su Asesor Experto a esa elipsis? - ...Tal vez, antes de poner otro sello de "¡¡¡Verificado!!!", es mejor preguntar, ¿qué tan correctamente entendiste la esencia de tu ejemplo propuesto?

 
uncleVic:

Si observas detenidamente la clase CPositionInfo "con rayos X", puedes notar que el método Type() no devuelve el tipo de posición (a diferencia del método PositionType()).

Sugiero cambiar el nombre de todos los métodos Type() de la biblioteca estándar a ClassType().

Hay demasiados errores y confusiones de este tipo.

Ya había puesto CPositionInfo.Type() en el código tres o cuatro veces en las que necesitaba el tipo de posición. Luego me pasé tres días depurando (las dos primeras veces. Luego lo entendí más rápido) :).

Para la compatibilidad, puedes empezar haciendo un duplicado con el nuevo nombre, y eliminar el antiguo después de unas semanas (meses).

 
Hola. ¿Podría aconsejar cómo colocar el archivo Channel.mq4 y Scalper_MA.mq4 en MT4? Gracias.
 
[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - MQL4 форум
  • www.mql5.com
[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - MQL4 форум