Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 944

 
novichok2018:

Creo que lo tengo: la línea está trazada, pero sólo hay una. Creo que lo entiendo: sólo hay una línea trazada, pero sólo una. Para poder trazar otras líneas, tengo que borrar ésta.

Bueno, ahora tengo que dibujar la última línea en lugar de la primera. Esto es bueno, por supuesto, pero necesito que se guarden todas las líneas. ¿Cómo lo hago? Gracias.

 
novichok2018:

Así que ahora se dibuja la última línea en lugar de la primera línea de la historia. Está bien, pero necesito que se guarden todas las líneas. ¿Cómo lo hago? Gracias.

En el nombre de la línea, añada la hora del bar.

 
Alexey Viktorov:

En el nombre de la línea, añada la hora del bar.

No entiendo cómo.

 
Alexey Viktorov:

En el nombre de la línea, añada la hora del bar.

¿Dónde puedo leer cómo añadir la hora en el nombre y qué hora del bar añadir?

 
novichok2018:

¿Dónde puedo leer cómo añadir la hora en el nombre, y qué hora de bar añadir?

Sólo hay que poner la definición de la hora antes de la asignación del nombre de la línea.


        if((op1-lo1)>50 && (cl1-lo1)<10)
        {  Alert("VertLine");
        datetime time=Time[0];
        string obj_name="VertLine"+(string)time;
        color col = clrGreen; 
        ObjectCreate(0,obj_name,OBJ_VLINE,0,time,0,0,0);
        ObjectSetInteger(0,obj_name,OBJPROP_COLOR,col);
        }
 
Alexey Viktorov:
Sólo se debe poner la definición del tiempo antes de la asignación del nombre de la línea.


Gracias. Cuando ves el código, todo tiene sentido. Yo nunca lo habría entendido. No he visto en ningún sitio que para que las líneas se queden en el gráfico haya que añadir la hora de la barra al nombre de la línea, y por qué. ¡¿Estoy tan poco atento?!

 
novichok2018:

Creo que lo tengo: la línea está trazada, pero sólo hay una. Creo que lo entiendo: sólo hay una línea trazada, pero sólo una. Para dibujar otras líneas, hay que borrar ésta.

... o asignar un número de línea al nombre, porque no puede haber más de una línea con el mismo nombre

 
Alexandr Sokolov:

... no puede haber más de una línea con el mismo nombre

Es cierto. Resulta bastante sencillo... Gracias.

 

¡Hola de nuevo!

He encontrado una rareza en el cierre de posiciones: el TakeProfit no se activa cuando el precio lo alcanza, sino en una nueva barra. ¿Cuál es la razón?

Adjunto el código y el gráfico.

      if(New_Bar)      
         {
         if(Hour()>9 && Hour()<20)
         {
          if(...ЗДЕСЬ УСЛОВИЕ...) 
          {LotCalc();
      double TP=Ask-300*Point();
             t2=OrderSend(Symbol(),OP_SELL,LOT,Bid,slippage,0,TP,"",magic,0,Red);
            if(t2>0)
           {
            if(OrderSelect(t2,SELECT_BY_TICKET,MODE_TRADES))
            {
             Alert("Открыта SELL");
            }
           }            
         else
            Print("Error opening SELL order : ",GetLastError());
         return; 
            }
         }
         }

extracto de

 
novichok2018:

¡Hola de nuevo!

He encontrado una rareza en el cierre de posiciones: el TakeProfit no se activa cuando el precio lo alcanza, sino en una nueva barra. ¿Cuál es la razón?

Adjunto el código y los fragmentos del gráfico.


¡Oh, mierda! ¡Te estaba molestando de nuevo! Acabo de marcar las pruebas abriendo los precios, eso es lo que estaba haciendo...

Razón de la queja: