[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 246

 
BBSL:

eddy dijo que no quería ofender a nadie

Dije que me importaba una mierda :D Me comportaré correctamente aunque ofenda a alguien porque es su problema. pero es en su beneficio, para que puedan resolver el problema y encontrar la causa y eventualmente erradicarla, de lo contrario siempre habrá problemas.
 
Ais:

Una razón para hacer todo en un solo archivo -> https://docs.mql4.com/ru/basis/variables/formal:

" Es posible pasar parámetros por referencia. En este caso, la modificación de dichos parámetros afectará a las variables correspondientes en la función llamada pasada por referencia. No se pueden pasar elementos de arrays por referencia. Los parámetros por referencia sólo pueden pasarse dentro de un mismo módulo, esto no es posible para las funciones de biblioteca. "


Sí, tal vez ese sea el problema...

Tengo muchas funciones en las que uno de los parámetros es un array pasado por referencia...

Es decir, hay que abandonar la estructura de programa de varios archivos para evitar problemas, ¿no se puede resolver de otra manera?

 
Bicus:

Señores, aquí hay una pregunta.

Estoy ejecutando el EA en el probador. El EA tiene acceso al historial, es decir, busca una de las últimas, digamos, 20 órdenes cerradas.

Esto es muy fácil en un EA real: podemos especificar el periodo de la historia durante el cual se deben mostrar las órdenes. Por lo tanto, las últimas órdenes están siempre "por encima". Pero, cuantas más operaciones tenemos en el probador, más órdenes se cierran y más grande es la lista que hay que revisar y más lento empieza a funcionar el Asesor Experto.

De todos modos, ¿cómo has resuelto este problema?

Los ordenadores modernos realizan cientos de millones de operaciones por segundo.

¿Cuántas transacciones deben realizarse para que el ordenador empiece a ralentizarse?

En su caso "difícil", puede especificar la condición según la cual la búsqueda de pedidos se realizará sólo para el último mes/semimestre.

 
eddy:
en realidad he dicho que me importa un carajo :D me comportaré correctamente aunque ofenda a alguien porque es su problema. pero es en su beneficio, por lo que quieren resolver el problema y empezar a buscar las causas y finalmente erradicarlas, de lo contrario siempre habrá problemas.


eddy, el concepto de derecho es muy subjetivo))

Si un grupo de personas piensa que algo es generalmente aceptado y correcto, entonces esa es la norma para ese grupo de personas. Hay un grupo de este tipo en este foro.

Está muy bien que tengas tu propia visión del mundo, pero dedicar tiempo a discutirla y más aún a cambiar o reeducar a la gente es un lujo muy grande))

Discutir sobre la corrección de las ideas es un desperdicio de recursos y nuestros problemas no se resuelven.

Propongo, con todo el respeto hacia ti y entendiendo tus ideas, volver a la programación))

 
tmt0086:
Hola =) Acabo de escribir un EA ... no hay condiciones, sólo la apertura en GBPUSD y EURUSD. Por lo tanto, al hacer la prueba, no abre órdenes en GBPUSD cuando está en EURUSD. Y viceversa. ¿Puedes configurarlo? Así, abrirá las órdenes. No puedo hacerlo en la demo, pero no puedo probarlo.

Que alguien me diga...
 
Sergey_Rogozin:

En su caso "difícil", puede introducir una condición para que las órdenes sólo se reproduzcan en el último mes/semestre.

¿Qué condiciones?

Es imposible ordenar el historial en el probador. La última orden llega hasta el fondo. Tienes que desplazarte por todo el historial para llegar a él.

¿Me equivoco?

 
tmt0086:

Que alguien me diga...

No hay probador de estrategias multidivisas en MT4.
 
BBSL:


eddy, la noción de derecho es muy subjetiva))

Hay reglas objetivas y, por lo tanto, corrección. también está la importancia de las reglas y la jerarquía de las mismas. si una regla es menos importante que otra o está jerárquicamente por debajo, debe ser ignorada si una regla lo requiere. he estudiado reglas y corrección toda mi vida
 
Roman.:

No hay probador de estrategias multidivisas en MT4.

¿Puedes decirme dónde puedo probarlo? ¿Funcionará en MT5?
 
Bicus:

¿Cuáles son las condiciones?

Es imposible ordenar el historial en el probador. El último pedido cae en la parte más baja. Tienes que desplazarte por TODO el historial para llegar a él.

¿Me equivoco?


No. A continuación se muestra un ejemplo de selección del pedido cerrado más reciente del historial de pedidos para seguir trabajando con él...

//---Поиск последнего отработавшего ордера для открытия очередной позиции ---
   
   for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
   {   
      if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY))
      {
         Print("Ошибка при доступе к исторической базе (",GetLastError(),")");
         continue;
      }
   
      if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber))
      {
         continue;
      }
      
        
   //-------------------------Принимаем в расчет только ордер, закрытый недавно-----------------------
if(time<OrderCloseTime())     //(сравниваем его с хранящимся в пероеменной time) 
  {
    time=OrderCloseTime();     //если время закрытия ордера больше - ложим его в переменную
         
         
     
         int lastType = OrderType();
         double lastLots = OrderLots();
         double lastProfit = OrderProfit() + OrderSwap();
.....
.....
.....