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

 
Vladimir:
En algún lugar de la ayuda, los desarrolladores dijeron que no se garantiza la clasificación.

Siempre hay un pedido en el billete. El ticket de una orden posterior nunca será menor que el de una orden anterior (por tiempo de apertura).

Y si buscamos entre las órdenes pendientes, entonces sólo por orden - la orden con número 0 - es la orden más antigua, y la orden con número OrdersTotal()-1 será la orden más reciente (de nuevo, por tiempo de apertura), sin tener en cuenta el tipo.

En el historial de órdenes cerradas, sigue dependiendo de la ordenación en la pestaña de historial de la ventana del terminal.

 

Tuve que buscarlo. No lo he encontrado en MQL5 Reference, pero sí en OrderSelect Reference para MQL4:

"Cuando se utiliza el parámetro SELECT_BY_POS, la información se devuelve en el orden en que se recibió del servidor de comercio. No se garantiza la clasificación de la lista de pedidos recibida".

En realidad, compruebo sistemáticamente si las listas que utilizo tienen una clasificación por número de billete. No ha habido ningún caso de ausencia. Pero tampoco se puede discutir la referencia, no hay argumento. Está bien, está bien...

 
Vladimir:

Tuve que buscarlo. No lo he encontrado en MQL5 Reference, pero sí en OrderSelect Reference para MQL4:

"Cuando se utiliza el parámetro SELECT_BY_POS, la información se devuelve en el orden en que se recibió del servidor de comercio. No se garantiza la clasificación de la lista de pedidos recibida".

En realidad, compruebo sistemáticamente si las listas que utilizo tienen una clasificación por número de billete. No ha habido casos de su ausencia. Pero tampoco se puede discutir la referencia, no hay argumento. Está bien, está bien...

¿Qué quieres decir con "nada"? Ordenar por ticket - siempre habrá orden y no hay contradicciones con la documentación, dice de ordenar por número de serie, no por ticket, son cosas diferentes.
 
chicos decidme como probar con las nuevas builds que siempre están cambiando y lo que funcionaba ahora no funciona me descargo las cotizaciones del tipstory light e importo las cotizaciones en el terminal para las builds1010 todo bien y la nueva1045 todo esto no funciona en que problema alguien sabe?
 
Vitalie Postolache:
¿Qué quiere decir con "no clasificar"? Ordenar por ticket - siempre habrá orden y no hay contradicción con la documentación, dice sobre ordenar por número de ticket, no por ticket, son cosas diferentes.
¿Y en alguna parte de la documentación está escrito sobre la ordenación por número de ticket? ¿Puedes decirme? No lo sé.
 
Vitaly Muzichenko:

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;
}

//-
}
Gracias. Lo tengo.
 

Otro problema con el que me he encontrado. No juzgues, he estado estudiando el idioma durante 2 o 3 semanas, ¡quizás sea tonto!

La tarea del Asesor Experto es notificar al comerciante por correo electrónico cada 4 horas, si el margen libre en la cuenta ha añadido un cierto valor.

En el asunto del mensaje tienes que escribir el nombre del broker y el par negociado, y en el cuerpo del mensaje "¡Peligro! La detracción está por encima del límite. Adopte las medidas necesarias".

El compilador está funcionando mal, no soy bueno en inglés y no puedo averiguar cuál es el error.

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PS: Tal vez en general hay una solución más fácil para este tipo de problema, pero hasta ahora lo veo sólo de esta manera)

 
Un consejo para un tonto. ¿Cómo abrir una cuenta real?
 
Anton Sokolov:

Otro problema con el que me he encontrado. No juzgues, he estado estudiando el idioma durante 2 o 3 semanas, ¡quizás sea tonto!

La tarea del Asesor Experto es notificar al comerciante por correo electrónico cada 4 horas, si el margen libre en la cuenta ha añadido un cierto valor.

En el asunto del mensaje tienes que escribir el nombre del broker y el par negociado, y en el cuerpo del mensaje "¡Peligro! La detracción está por encima del límite. Adopte las medidas necesarias".

El compilador se queja, no se me da bien el inglés y no puedo averiguar cuál es el error.

input  double MessageMail     = 50.0;
double Sag;

void OnTick()
  {
   Sag = NormalizeDouble(100-100*(AccountInfoDouble(ACCOUNT_FREEMARGIN)/AccountInfoDouble(ACCOUNT_BALANCE)), 1);  //находим процент просадки и округляем до 1 знака
    if(Sag > MessageMail && iVolume(NULL,PERIOD_H4,0)<3)                                       //если просадка больше заданного и начата новая свеча на 4ч таймфрейме
     {
     Alert(Symbol(), ": Просадка = ", Sag, " % ", " > ",  MessageMail, " % ");                 //вывести предупреждение в терминале
//Сюда нужно вставить команду SendMail для отправки сообщения, а что и как не понятно
// пробовал bool SendMail( AccountInfoString(ACCOUNT_COMPANY)|Symbol, "Опасность! Просадка привысила допустимое значение. Примите необходимые меры")
//что то не выходит                          
     }
  }


PD: Tal vez en general hay una solución más simple para tal problema, pero hasta ahora sólo lo veo de esta manera)

No sé de qué se trata.

Cuáles son los errores del compilador

 

prıvet.podjalujte pojalusta pozwala why on demo schete ne mogu otkrıt zdelkı


Razón de la queja: