[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 253

 
DDFedor >> :

¿se trata de un presupuesto MQL5?

Si no es así, pregúntenos. No a todo el mundo le gusta leer la transliteración, por lo que ésta también limita su capacidad de respuesta.

Gracias, DDFedor, y cuando tenía que encontrar algo en google solía hacer apliques de las letras del texto en ruso.

 

ayúdame a colorear el indicador, quiero que sea verde si el valor sube, rojo si baja

Aquí está el código:

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Green


int BarsCount = 10000;

//---- buffers
double buf_1[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
    SetIndexStyle(0,DRAW_HISTOGRAM);
    SetIndexBuffer(0, buf_1);
//    SetIndexStyle(1,DRAW_HISTOGRAM);
//    SetIndexBuffer(1, buf_2);
    //----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
int i;
//----
   int limit = BarsCount;
    if ( limit > Bars)
        limit = Bars;
        
   for ( i = limit; 0 <= i; i--) {

        buf_1[ i] = High[ i]-Low[ i];
   
        
        
        }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 

Quiero que se coloque una orden pendiente a las 15:00, si no hay ninguna posición abierta a esa hora,

Escribo lo siguiente:

si (Hora()=15 || Minuto()=0)

double max_level=High[iHighest(NULL,0,MODE_HIGH,13,0)]; //definir el precio máximo de las últimas 13 barras
double min_level=Low[iLowest(NULL,0,MODE_LOW,13,0)]; //definir el precio mínimo de las últimas 13 barras
int Dist_SL =60; // Establecer SL (pt)
int Dist_TP =60; // fijar TP (pt)
//--------------------Цикл установки ордера BUY STOP---------------------------------------------------------------------
while(true) //Apertura del ciclo de pedidos.
{
int Min_Dist1=MarketInfo(Symbol(),MODE_STOPLEVEL); // Min_Dist.
double Precio_B=nivel_máx; // Precio de oferta

//----------------Устанавливаем ордер на покупку---------------------------------------------------------------------------
if (NormalizeDouble(Price_B,Digits)< // Si es menor de lo permitido.
NormalizarDoble(Pregunta+DistanciaMínima1*Punto,Dígitos))
{ // ¡Sólo para BuyStop!
Precio_B=Precio+Distancia_Mínima1*Punto; // no puede acercarse más
Alert("El precio de compra declarado ha sido modificado: Precio = ", Precio_B);
}
double SL_B=Precio_B - Dist_SL*Punto; // Precio SL declarado para comprar
double TP_B=Precio_B + Dist_TP*Punto; // El precio TP declarado para comprar
Alert("La orden de comercio ha sido enviada al servidor. Esperando respuesta...");
int ticket1=OrderSend(Symbol(), OP_BUYSTOP, 0.1, Price_B, 0, SL_B, TP_B); //Configurar orden de compra
if (ticket1>0) // Ha funcionado :)
{
Alerta ("Orden de compra abierta ",ticket1);
break; // Salir del bucle
}

Debo estar escribiendo algo mal, ¿puede decirme cómo abrir una posición en un momento determinado?

 

Bueno, punto por punto:

1. Si el tick está en el minuto cero, el script se iniciará. Es mejor establecer el minuto cero como el minuto inicial, y luego establecer una bandera para evitar que el script se inicie de nuevo. Pero en principio esto no es crítico.

2. Sólo se comprueba cuando el nivel de precios es inferior al permitido, y cuando es superior, no se hace.

3. Si se utiliza la normalización al comprobar el precio, pero no al sustituir, puede haber errores.

 
Roger >> :

Bueno, punto por punto:

1. Si el tick está en el minuto cero, el script se iniciará. Es mejor establecer el minuto cero como el minuto inicial, y luego establecer una bandera para evitar que el script se inicie de nuevo. Pero en principio esto no es crítico.

2. Sólo se comprueba cuando el nivel de precios es inferior al permitido, y cuando es superior, no se hace.

3. Si se utiliza la normalización al comprobar el precio y no al sustituirlo, puede haber errores.

Gracias por su respuesta. Soy un completo principiante en la programación, acabo de empezar a estudiar el archivo de ayuda y decidí escribir mi EA. Entiendo que el marco.

si (Hora()=15 || Minuto()=0) no es correcto en absoluto, cada carácter provoca un error al compilar, por favor dígame cómo escribirlo correctamente?

 
albon >> :

Quiero que se coloque una orden pendiente a las 15:00, si no hay ninguna posición abierta a esa hora,


Debo estar escribiendo algo mal, ¿puede decirme cómo abrir una posición en un momento determinado?

Busca en el foro, lo tomé prestado de KimiV, hay una función ahí que limita la operación por tiempo

 
albon писал(а) >>

Gracias por la respuesta. Soy un completo novato en la programación, apenas comencé a estudiar el archivo de ayuda e inmediatamente decidí escribir mi EA. Entiendo que el marco

si (Hora()=15 || Minuto()=0) no es correcto en absoluto, en la compilación cada carácter causa un error, por favor, aconsejar cómo escribirlo correctamente?

Cámbialo por

if (Hour()==15 || Minute()==0)

P.D. Si no sabes nada, para qué molestarte, mejor mándaselo a otro.

 
dmmikl86 >> :

Ayúdame a colorear el indicador, quiero que el valor suba en verde, y baje en rojo.

aquí está el código:

Esto debe hacerse con dos tampones de diferentes colores.

Si el precio sube, el valor se asigna a un búfer, si baja a otro,

y el segundo se mantiene en el cuerpo negro (por ejemplo, SetIndexEmptyValue(0,0.0);)

El 0 se asigna a los dos búferes antes de que se llenen, y después de eso, se distribuyen los búferes a quien se quiere bancar y a quien no se quiere molestar.

Vinin parece haber tenido un indicador de este tipo, busque en el perfil de la base de código.

 
¿Pueden decirme si es posible insertar una pequeña imagen en la ventana principal del terminal?
 
IlyaA >> :
¿Puedes decirme si es posible insertar una pequeña imagen en la ventana principal del terminal?

Todavía no en el 5 que prometen (al menos por los medios estándar)