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

 
Alexandr Nikolaev:
Entonces, ¿resulta que OrderSelect por ticket de órdenes cerradas y eliminadas busca sólo entre el historial cargado en el terminal? No hay información al respecto en el manual.

De hecho, el EA sólo tiene acceso a los datos que puede encontrar en el terminal

Esto también se aplica al historial de los gráficos, si lo limitas, el EA no podrá acceder a las barras de los gráficos que no puedes ver en el terminal


Aleksey Mavrin:

En la descripción de OrdersHistoryTotal dice

Al seleccionar un pedido por billete:

El parámetro pool se ignora

https://docs.mql4.com/ru/trading/orderselect
 
¿Alguien puede decirme cómo obtener el mango del último archivo en la carpeta sin saber su nombre. Es decir, al ejecutar el script necesito hacer referencia al archivo creado más recientemente, que no se me ocurre qué poner en el bucle. MQL4
 
hoka777:
Puede alguien decirme cómo puedo obtener el mango del último archivo en la carpeta sin saber su nombre. Es decir, al ejecutar el script necesito referirme al archivo creado más recientemente, no se me ocurre qué poner en el bucle. MQL4

FileFindFirst, FileFindNext, FileGetInteger

 

¿qué significa esta entrada?

int tf=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020|0x0040;
 
Seric29:

¿qué significa esta entrada?

Igual a esto:

int tf=1|2|4|8|16|32|64;

Alguien está usando las banderas en algún lugar para algo. Esta entrada dice que hay 7 banderas almacenadas en la variable tf, y que todas están levantadas.

 

Seguimiento del pedido.

Hola a todos, Señores del foro.

Se enfrentó a la necesidad de hacer un seguimiento de los pedidos de la copiadora y se sorprendió por la complejidad del asunto.

Tarea.

Seguir la apertura, el cierre y la modificación de las órdenes de mercado y pendientes con el menor retraso y carga posible en el sistema.

Posibles soluciones.

1. Supervisar la lista de pedidos completa cada vez que se hace un tick no es muy atractivo todavía.

2. MQL5 tiene buenas funciones OnTrade() y OnTradeTransaction(), pero no he encontrado análogos en MQL4.

3. Nos puede resultar atractivo controlar las líneas de última orden y sus TP ySL en el gráfico utilizando OnChartEvent, pero estos objetos no son visibles y no son manejados por la función. ¿Tal vez haya una forma de mostrarlos?

4. Ahora estoy pensando en la posibilidad de obtener información del registro general. Ahí también tendrás que vigilar, pero menos.

Todavía no he encontrado una solución satisfactoria, ¿tal vez alguien ya ha investigado?

 
Artyom Trishkin:

Igual a esto:

Alguien en algún lugar está usando las banderas para algo. Esta entrada dice que hay 7 banderas almacenadas en la variable tf, y que todas están levantadas.

int tf=1|2|4|8|16|32|64;

¿Y por qué se escriben a través de un palo vertical cómo usar esto? ¿Se puede acceder a cada parte de esta bandera? Aquí hay un código como este.

    if(_Period==1440){diff=86399; tf=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020|0x0040;}// выбор старшего ТФ, с него скрипт рисует на младших ТФ
    if(_Period==240) {diff=14340; tf=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020;}
    if(_Period==60)  {diff=3540;  tf=0x0001|0x0002|0x0004|0x0008|0x0010;}
    if(_Period==30)  {diff=1740;  tf=0x0001|0x0002|0x0004|0x0008;}
    if(_Period==15)  {diff=840;   tf=0x0001|0x0002|0x0004;}
    if(_Period==5)   {diff=240;   tf=0x0001|0x0002;}  

    cl_timeM1=op_timeM1 + diff ;                    // координата даты и времени бара М1 по цене CLOSE старшего ТФ
    cl_NumBarM1=iBarShift(NULL,PERIOD_M1,cl_timeM1);// индекс бара М1
    cl_priceM1=iClose(NULL,PERIOD_M1,cl_NumBarM1);  // координата цены CLOSE бара М1
      
//--- трендовые линии -----------------------------------------------+ 
   for(i=0;i<1000000;i++){name1="Point_"+i; if(ObjectFind(name1)<0) break;}     // позволяет рисовать множество объектов с одинаковым именем, добавляя к имени порядковый номер
  
   ObjectCreate(0,name1,OBJ_TREND,0,op_timeM1,op_priceM1,cl_timeM1,cl_priceM1); // создать объект трендовая линия с координатами цены и времени  
   ObjectSet(name1,OBJPROP_COLOR,clrWhite);                                     // задать цвет объекта
   ObjectSet(name1,OBJPROP_STYLE,STYLE_DASH);                                   // задать стиль объекта (пунктир, линия...)
   ObjectSet(name1,OBJPROP_RAY,false);
   Строчка ниже будет отрисовываться нужное количество раз или что?
   ObjectSet(name1,OBJPROP_TIMEFRAMES,tf);    
 
Seric29:

¿Y por qué se escribe a través de un palo vertical cómo utilizarlo?

mientras lo llames "palo vertical", no puedes leer este código

leer la ayudahttps://www.mql5.com/ru/docs/basis/operations/bit

 
Igor Makanu:

mientras lo llames "palo vertical" no podrás leer este código

leer la ayudahttps://www.mql5.com/ru/docs/basis/operations/bit

Lo he leído (no sé por cuántas veces ya) y lo entiendo mal porque no hay ejemplos de su uso y no queda claro para qué sirve. Hay un ejemplo

int a=305;
int b=a;      
int shift=37; 
shift++; 
a=a>>shift;   // 38 в двоичном представлении будет выглядеть как '100110', младшие 5 бит '00110' представляют число 6 
b=b>>6;

¿Hay alguna manera de hacer que esta línea

if(_Period==1440){diff=86399; tf=0x0001|0x0002|0x0004|0x0008|0x0010|0x0020|0x0040;}

¿se puede escribir más corto a través del contador?

 
Seric29:

Lo he leído (no sé cuántas veces) y lo entiendo mal porque no hay ejemplos de cómo usarlo y no está claro para qué sirve. Hay un ejemplo.

Has leído el ejemplo equivocado

Operación OR a nivel de bits

OR a nivel de bits de las representaciones binarias de x e y. El valor de la expresión contiene 1 en todos los lugares donde x o y no contienen 0, y 0 en todos los demás lugares.

b = x | y;

Ejemplo:

 char a='a',b='b';
//--- операция ИЛИ
   char c=a|b;
   Print("a = ",a,"  b = ",b);
   Print("a | b = ",c);
// Результат будет такой:
// a = 97   b = 98
// a | b = 99
Razón de la queja: