Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 334

 
Melko:

II Esta es una función elemental de colocación de órdenes pendientes, los parámetros no son importantes, pero es importante para que el Asesor Experto (puede utilizar el bucle existente de evaluación de órdenes) después de recibir un "nuevo precio" o para pasar por él, o para evitar de alguna manera la colocación de órdenes al mismo precio. En este caso, el ciclo de colocación de pedidos no debe detenerse. Por favor, ayúdame.

Repite cien veces en todos los hilos del foro, y tal vez acelere una respuesta.
 

Buenos días a todos.

He mirado todas las páginas de EAs, he mirado los códigos de los EAs basados en órdenes pendientes,

No he encontrado ninguna respuesta, buscando en todas las páginas del Foro, y releyendo el tutorial y la documentación de MQL .

Tal vez, no me fijé bien. He decidido preguntarlo aquí.

Estoy escribiendo un EA basado en órdenes pendientes. No he tenido problemas con los criterios de apertura de posiciones basados en los datos del indicador (<, >, =, etc.).

Pero, actualmente, el sistema no se basa en ningún indicador. El criterio para la apertura de posiciones es el PRECIO.

A saber, en la oferta igual al nivel de precios, supongamos, ХХХ.00 o ХХХ.50 (para los pares de yenes), el bloque de criterios dice que

hay un criterio de compra (venta) y se envía al bloque de apertura de órdenes.

En la Fig. 1 se muestra un ejemplo aproximado cuando el nivel es fijo y lo establece, por ejemplo, un usuario.

int start()                                   // Спец. функция start
  {
//----
   double
   Level,                                     // Сигнальный уровень
   Price;                                     // Текущая цена
   Level=140.00;                              // Задаём уровень
   Price=Bid;                                 // Запрашиваем цену
//----
    if (Price==Level)                          // Оператор if с условием
     {
      Alert("Курс равен  заданному уровеню");  // Сообщение трейдеру
     }

   return;// Выход из start()
  }

La cuestión es cómo escribir la condición para comparar el BID actual con los niveles que no se fijaron de antemano sino que son planos,

por ejemplo 140.00, 141.00, 142.00 .... a saber, con XXX.00

La primera parte de la condición es clara, por ejemplo

if (NormalizeDouble(Price,Digits) >= NormalizeDouble(Level,Digits))

La segunda parte con Level, qué hacer.

Se lo agradezco de antemano,

Respetuosamente,


P.D. Si esto ya se ha discutido y me lo he perdido, póngame al corriente, por favor.

 
Melko:

II Esta es una función elemental de colocación de órdenes pendientes, los parámetros no son importantes, pero es importante para que el Asesor Experto (puede utilizar el bucle existente de evaluación de órdenes) después de recibir un "nuevo precio" o para pasar por él, o para evitar de alguna manera la colocación de órdenes al mismo precio. En este caso, el ciclo de colocación de pedidos no debe detenerse. Por favor, ayúdame.

¡Elimina todos tus spoilers y aprende a insertar el código pulsando el botón SRC antes de hacer los pedidos!
 
Shum_sp:

Buenos días a todos.

He mirado todas las páginas de EAs, he mirado los códigos de EAs basados en órdenes pendientes,

No he encontrado ninguna respuesta, así que he buscado en todas las páginas del Foro, he leído el tutorial de MQL y la Documentación de nuevo.

Puede que lo haya mirado mal. Decidí preguntar aquí.

Estoy escribiendo un EA basado en órdenes pendientes. Anteriormente, no había ningún problema con el criterio de apertura de una posición basado en los datos del indicador (<, >, =, etc.).

Pero, por el momento, el sistema es insolidario. El criterio para abrir una posición es el PRECIO.

Es decir, en el Bid igual al nivel de PRECIO, digamos, ХХХ.00 o ХХХ.50 (para los pares de yenes), el bloque de criterios dice que

hay un criterio de compra (o venta) y nos envía al bloque de apertura de órdenes.

Un ejemplo aproximado se muestra en la Fig. 1, cuando el nivel es fijo y lo establece, por ejemplo, el usuario.

La cuestión es cómo especificar la condición que permitiría comparar el BID actual con niveles predefinidos pero iguales,

por ejemplo, 140.00, 141.00, 142.00 .... a partir de XXX.00

La primera parte de la condición es clara, por ejemplo

En la segunda parte con Level, qué hacer.

Os doy las gracias a todos por adelantado,

Respetuosamente,


P.D. Si esto ya se ha discutido y me lo he perdido, póngame por favor.


if (NormalizeDouble(Price,Digits) >= NormalizeDouble(Bid,0)) //Для 4-х знаков можно и 1 или 2 вместо 0.
 
evillive:


Demasiado, creo.

¿Vas a responder a eso?

 
tara:


Demasiado, creo.

¿Vas a responder a eso?


La pregunta, como se dice, es la respuesta. Quién sabe cómo se calcula el precio, y el nivel no se especifica de antemano...


Pero si precio = Oferta, entonces...

if (Bid >= NormalizeDouble(Bid,0)) //опять же можно и 1 или 2 вместо 0.
 
Shum_sp:

Buenos días a todos.

He mirado todas las páginas de EAs, he mirado los códigos de EAs basados en órdenes pendientes,

No he encontrado ninguna respuesta, así que he buscado en todas las páginas del Foro, he leído el tutorial de MQL y la Documentación de nuevo.

Puede que lo haya mirado mal. Decidí preguntar aquí.

Estoy escribiendo un EA basado en órdenes pendientes. Anteriormente, no había ningún problema con el criterio de apertura de una posición basado en los datos del indicador (<, >, =, etc.).

Pero, por el momento, el sistema es insolidario. El criterio para abrir una posición es el PRECIO.

Es decir, en el Bid igual al nivel de PRECIO, digamos, ХХХ.00 o ХХХ.50 (para los pares de yenes), el bloque de criterios dice que

hay un criterio de compra (o venta) y nos envía al bloque de apertura de órdenes.

Un ejemplo aproximado se muestra en la Fig. 1, cuando el nivel es fijo y lo establece, por ejemplo, el usuario.

La cuestión es cómo especificar la condición que permitiría comparar el BID actual con niveles predefinidos pero iguales,

por ejemplo, 140.00, 141.00, 142.00 .... a partir de XXX.00

La primera parte de la condición es clara, por ejemplo

En la segunda parte con Level, qué hacer.

Os doy las gracias a todos por adelantado,

Respetuosamente,


P.D. Si esto ya se ha discutido y me lo he perdido, póngame por favor.


Con este esquema, se pueden comparar simplemente las variables, incluso para la igualdad.
 
Shum_sp:

La pregunta es cómo escribir una condición para comparar el BID actual con los niveles no preestablecidos pero sí con los niveles,

por ejemplo 140.00, 141.00, 142.00 .... a saber, con XXX.00



int Level=140;                              // Задаём уровень
 
:)
 
artmedia70:


¡Buenas tardes!


Es mucho prescribir todos los niveles.

El Asesor Experto debe determinar que el nivel es XXX.00, el usuario no debe participar en esto y especificar los niveles en los que trabajar.

No puedo entender cómo se explica que el precio actual sea XXX.00

Gracias a todos.

Razón de la queja: