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

 
evillive:

Si lo he entendido bien, ¿se necesita una foto después de 30 ticks, no por cada uno de los siguientes 30 ticks después de cerrar la posición?

¿No sería entonces más fácil hacer una foto por tiempo? Digamos, ¿después de 30 segundos de la hora de cierre del pedido?

La foto necesita una después de 30 ticks. El gráfico será de ticks por lo que será de 30 ticks. Pero en cualquier caso, debemos trabajar con la matriz. Si otras órdenes se cierran en 30 segundos, tendremos que contar 30 segundos de las otras órdenes también.
 
JuliettaRu:
Buenas tardes, por favor, indíqueme dónde encontrar una explicación a mi pregunta (supongo que no soy el primero que la hace) y qué hacer. He instalado MT4 en mi teléfono inteligente, pero los gráficos que muestra con un retraso de 20 minutos - lo comparo con las lecturas de MT4 en el PC.
¡Es un grial!
 

Ayúdame a resolver esto. No sé cómo arreglar este trozo de código... O más bien, ¿qué debo añadir para que no joda?

El valor de retorno de 'OrderModify' debe ser comprobado

         }    
         if (OrderOpenPrice()-Ask > Korts*Point*Multi)
         {
           if (OrderStopLoss() > Ask +(Korts)*Point*Multi) 
           {
              OrderModify(OrderTicket(),OrderOpenPrice(),Ask + (TrSt)*Point*Multi,'1', 0, Red);
           }
         }            
      }
   }   
   return(0);
 
Guaro:

Ayúdame a resolver esto. No sé cómo arreglar este trozo de código... O más bien, ¿qué debo añadir para que no joda?

El valor de retorno de 'OrderModify' debe ser comprobado

El valor devuelto de la función OrderModify() debe asignarse a una variable para poder comprobar la función. O simplemente

if(OrderModify(OrderTicket(),OrderOpenPrice(),Ask + (TrSt)*Point*Multi,'1', 0, Red))
Print("Ордер модифицирован успешно.");
 

Ayuda para corregir el error de compilación: Magic - undeclared identifier

gato:

bool CheckExists(int Tipo)
{
bool Result = True;
for(int = 0; i < OrdersTotal(); i++)
if(OrderSelect(i, SELECT_BY_POS))
if(OrderType() == Type && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
if(OrderOpenTime() >= Time[0])
Resultado = False;
for(i = 0; i < OrdersHistoryTotal(); i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY))
if(OrderType() == Type &&& OrderOpenTime() >= Time[0]
&& OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
Result = False;
}

return(Result);
}

 
Abdus_Ali:

Ayuda para corregir el error de compilación: Magic - undeclared identifier

gato:

Las variables globales y de usuario deben declararse al principio del código, en este caso es una variable de usuario, escríbela así:

entrada int Magia = 1;

 
ticket2=OrderSend( Symbol(),OP_SELL, lot1, Price2, 20, SL2, TP2, NULL, 2,0, clrGreen);
si (Oferta>=TP1) // 1(1/0)
{

OrderModify(ticket2,?????, SL2, Price2, 0, clrNONE);

Buenas noches, ¿me pueden decir cómo modificar el orden del ticket2? Qué precio poner en lugar de ?????.....? ¿O tengo que seleccionar primero esta orden para modificarla? Aunque de hecho ya lo he seleccionado escribiendo en los parámetros del OrderModify(ticket2,.....

 
bobrush:
ticket2=OrderSend( Symbol(),OP_SELL, lot1, Price2, 20, SL2, TP2, NULL, 2,0, clrGreen);
si (Oferta>=TP1) // 1(1/0)
{

OrderModify(ticket2,?????, SL2, Price2, 0, clrNONE);

Buenas noches, ¿me pueden decir cómo modificar el orden del ticket2? Qué precio poner en lugar de ?????.....? ¿O tengo que seleccionar primero esta orden para modificarla? Aunque de hecho ya lo he seleccionado escribiendo en los parámetros del OrderModify(ticket2,.....

Poner OrderOpenPrice()
 
No puedo entender por qué la búsqueda y cierre de posiciones se detiene en el bucle, ya he invertido el bucle y aumentado el número de posiciones, en el probador sigue saltando (deja) posiciones... dime si puedes ver dónde y qué es lo que falla...
int positions=PositionsTotal();
       for(int x1=-1;x1<positions;x1++) 
          {
           ulong pos_tiket11=PositionGetTicket(x1);
           if(PositionSelectByTicket(pos_tiket11))
             {
              string comment11=PositionGetString(POSITION_COMMENT);
              Print("ПОЗИЦИЯ ТИКЕТ + "+(string)pos_tiket11+" "+comment11+" ТИП "+(string)PositionGetInteger(POSITION_TYPE));
              if(pos_tiket11!=TIKET11) 
                {
                 ENUM_POSITION_TYPE type11=(ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);
                 if(type11==POSITION_TYPE_BUY)
                   {
                    Print("ПОЗИЦИЯ ВЫБРАНА КОМЕНТ = "+comment11);
                    mytrade111.PositionClose(pos_tiket11,15);
                    TIKKET=0;    
                    dolivka_P1=1;
                   } 
                }
             }
          }
 
ara66676:
No entiendo por qué la búsqueda de posiciones y el cierre se detiene en el bucle, ya he invertido el bucle y aumentado el número de posiciones, pero en el probador sigue saltando (dejando) posiciones.

Como la pregunta está en el foro de mql4, supongo que el código también está en mql4. ¿O está mal?

En mql4 no hay posiciones, sólo hay órdenes.