[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 277

 
Pyro:

¿Puede decirme por qué no funciona OrderOpenPrice? La tarea es buscar una orden en el pool a un determinado precio, y si no está, poner la orden y establecer una bandera de que está puesta.


Utilice la función ya preparada

Función ExistPosByPrice().


https://www.mql5.com/ru/forum/131859/page2#434212
 
artmedia70:

Lee la última línea de mi post. ¿Quién dijo que estaba escribiendo un ejemplo de cierre?

El resto son las verdades claras. Escriba su propio libro de texto.

Aclarado no para ti. Mi post es puramente para principiantes. Así que no hay necesidad de ofenderse.
 

No puedo poner la señal de divergencia del indicador en mi EA.

Indicador FX5_Divergence_V2.1.mq4


¿Cómo se quita la flecha del indicador?

 
bolt:
Aclarado no para ti. Mi puesto es exclusivamente para los recién llegados. Así que no hay necesidad de ofenderse.
¿Ofendido? Dios no lo quiera! Hubo un comentario en mi post, respectivamente, y el tratamiento se lleva al autor del post comentado. Todo está bien.
 
artmedia70:

Si sólo tienes un pedido, puede que funcione, pero si sigues abriéndolo manualmente, no será lo mismo. El número de ticket debe ser almacenado en una variable, y después de seleccionar un pedido, debemos comparar su ticket con el almacenado:

Y en general, la selección de la orden debe hacerse mediante la función OrderSelect() en el bucle:

Esto es sólo un ejemplo para entender, no el código de trabajo terminado, en todo caso... :)





Gracias)))
 
bolt:

Al cerrar las órdenes, si hay más de una, se debe utilizar un ciclo como éste:



Gracias también))
 
Sergey_Rogozin:

No puedo poner la señal de divergencia del indicador en el Asesor Experto.

Indicador FX5_Divergence_V2.1.mq4


¿Cómo se quita la flecha del indicador?

El segundo y el tercero amortiguan el indicador. La segunda es la flecha hacia arriba y la tercera es la flecha hacia abajo. Utilice iCustom(); con la comprobación de datos de estos búferes.
 
Pyro:

¿Puede decirme por qué no funciona OrderOpenPrice? La tarea consiste en buscar una orden en el pool a un precio determinado, y si no está, poner la orden y marcarla como establecida.

Es algo así:

int   dg=MarketInfo(Symbol(), MODE_DIGITS);
orderset=false;
for (int i=0; i<OrdersTotal(); i++) {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) {
      if (OrderSymbol()!=Symbol())        continue;
      if (OrderType()<2 || OrderType()>5) continue;
      if (OrderMagicNumber()!=Magic)      continue;
      if (NormalizeDouble(OrderOpenPrice()-price,dg)==0) {
         orderset=true;
         break;
         }
      }
   }
if(!orderset) {
   int ticket=OrderSend(Symbol(),OP_SELLLIMIT,baselot,price,3,NULL,price-10,"Comment",0001+i,0,White);
   if (ticket<0) Print("Не удалось выбрать ордер, ошибка ", GetLastError());
   else price=OrderOpenPrice();
   }
Lo escribí a mano - no me des una patada... :)
 
artmedia70:
El segundo y el tercero amortiguan el indicador. La segunda es la flecha hacia arriba y la tercera es la flecha hacia abajo. Utilice iCustom(); con la comprobación de datos de estos búferes.
Estos búferes están vacíos. Producir el mismo valor 27.........., en definitiva, un montón de números que nunca cambian...
 
Sergey_Rogozin:
Estos búferes están vacíos. Dan el mismo valor 27.........., en fin, un montón de números que nunca cambian...

Sólo cambian en la barra con la flecha. Pulse Ctrl+D y mueva el ratón sobre el gráfico del indicador, observando los datos de estos buffers. Me debes una cerveza :))

ZS. Estos números no son más que EMPTY_VALUE (valor de búfer vacío)

Razón de la queja: