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

 
¿Cómo hacer una línea de oferta en un indicador personalizado?

Lo prescribo así

      ObjectCreate("line",OBJ_HLINE,windowIndex,0,Bid);
              
      ObjectSet("line",OBJPROP_COLOR,Red);
      ObjectSet("line",OBJPROP_WIDTH,1);

      WindowRedraw();  

Pero se construye una vez y luego se para. Es estático.
Necesito que cambie con cada tick, como una línea de oferta en un gráfico de precios.
 
Alexey Viktorov:

El código es genial, pero todavía hay una cosa que no entendemos

Hemos creado un objeto, le hemos asignado un nivel de precio (digamos el precio de la última apertura +500 pips hacia arriba para la red de compra)

y lo arrastré manualmente hacia abajo

Cómo se verá entonces la condición "si una oferta está por encima de la línea para cubrir todo" Debe estar en algún lugar para guardar su posición actual de acuerdo con los movimientos dados, es decir, la oportunidad de obtener el nivel de precios en el que se encuentra.

según el esquema

-solicitud de precio en el tick

--Si no cumple las condiciones de cierre

-- dejar todo como está

y según tengo entendido es necesario encuadernar un texto aparte para el marcado

 
igrok333:
¿Cómo hacer una línea de oferta en un indicador personalizado?

Lo escribo así

      ObjectCreate("line",OBJ_HLINE,windowIndex,0,Bid);
              
      ObjectSet("line",OBJPROP_COLOR,Red);
      ObjectSet("line",OBJPROP_WIDTH,1);

      WindowRedraw();  

Pero se construye una vez y ya está ahí, es estático.
Necesito que cambie con cada tick, como una línea de oferta en un gráfico de precios.
Lea sobre ObjectMove().
 

¡Buenas tardes!

¿Puede decirme una cosa sencilla?

¿Puedo dibujar el indicador sólo a través de la matriz de indicadores o hay otras formas de vincularlo al gráfico?

La pregunta es la siguiente: estoy recogiendo una matriz de fechas para las que luego quiero dibujar las marcas. Resulta que para ello tendré que buscar en el array time[]. ¿Hay alguna otra forma de dibujar las marcas correspondientes en el gráfico?

 
Anttonnio:

¡Buenas tardes!

¿Puede decirme una cosa sencilla?

¿Puedo dibujar el indicador sólo a través de la matriz de indicadores o hay otras formas de vincularlo al gráfico?

La pregunta es la siguiente: estoy recogiendo una matriz de fechas para las que luego quiero dibujar las marcas. Resulta que para ello tendré que buscar en el array time[]. ¿Hay alguna otra forma de dibujar las marcas correspondientes en el gráfico?

Puedes dibujar las flechas tú mismo como OBJ_ARROW

no es necesario crear topes indicadores para cada estornudo :-)
 

¡Ayuda con el fragmento de código para un EA!

¿Cómo puedo eliminar las órdenes pendientes previamente colocadas que están a más de 200 pips del precio actual?


La función OrderDelete está vinculada al número de pedido. Y el número de pedido puede ser desconocido en el momento de la eliminación.

 
Anton Sokolov:

¡Ayuda con el fragmento de código para un EA!

¿Cómo puedo eliminar las órdenes pendientes previamente colocadas que están a más de 200 pips del precio actual?


La función OrderDelete está vinculada al número de pedido. Y el número de pedido puede ser desconocido en el momento de la eliminación.

En el bucle, recorra todos los pedidos, aplique OrderSelect, aplique OrderTicket a los pedidos y luego elimine por ticket. Cómo se puede desconocer el número del billete en un caso así, de alguna manera no puedo ni imaginarlo.

El código base está repleto de ejemplos de código, busca y encontrarás incluso más de lo que estabas buscando.

 

1. ¿Existe alguna herramienta práctica para sincronizar Asesores Expertos, indicadores y scripts entre terminales? (por ejemplo, programo en un terminal, luego necesito enviar el Asesor Experto a los terminales en los que opero)

2. ¿Hay algún ejemplo deactualización automática(carga de una nueva versión) de un EA en un gráfico de trabajo?

 
Anton Sokolov:

¿Cómo calcula la función OrdersTotal los pedidos?

Supongamos que tengo 10 órdenes abiertas (varias de compra y venta) y 10 órdenes pendientes (varias de límite de compra y límite de venta, stop de compra y stop de venta).

La apertura y colocación de órdenes pendientes se realiza de forma aleatoria.

¿Cuál de ellos será el primero en colocarse? ¿A partir de qué empieza la cuenta atrás?

Ejecute este código y lea el registro

bool flag=true;

void OnTick()
{
//--
if(flag)
  {
  for(int i=0; i<OrdersTotal(); i++)
   {
   if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
     Print(i," = ",OrderOpenTime());
    }
   }
  flag=false;
}

//-
}
 
Anton Sokolov:

¿Cómo calcula la función OrdersTotal los pedidos?

Supongamos que tengo 10 órdenes abiertas (varias de compra y venta) y 10 órdenes pendientes (varias de límite de compra y límite de venta, stop de compra y stop de venta).

La apertura y colocación de órdenes pendientes se realiza de forma aleatoria.

¿Cuál de ellos será el primero en colocarse? ¿A partir de qué empieza la cuenta atrás?

En alguna parte de la ayuda los desarrolladores dijeron que no se garantiza ningún pedido.