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

 
Seric29:

El problema es que aplico plantillas a todas las funciones que toman arrays, y exportar e importar funciones de plantillas no es posible, habrá que duplicar funciones para cada tipo, la misma situación con la dimensionalidad mql no quiere darlas para nada y de nuevo habrá que duplicarlas por la dimensionalidad resulta una especie de sobrecarga pero añadir argumentos adicionales no es necesario sin embargo esto también es código innecesario, en cuanto a aumentar los argumentos de la función mql tampoco dará solo datos habrá que duplicar funciones e Así que no creo que merezca la pena, pensé en escribir mi propio lenguaje pero entonces escribí el 15% de mi robot y pasé más de un año para calibrar todo y hacerlo lo más universal posible y proporcionar un rendimiento rápido y 3 años para los cálculos. No tengo suficiente vida para escribir mi propio lenguaje. Es así.

¡Tener tu propio idioma es genial!

Pero tal vez debería aprender primero MQL.

Y entonces verás que sus características no son pequeñas ni siquiera ahora.

Pero si aprendes C++ no tendrás ningún problema para programar.

Sí, he mirado tu código en C++ y veo que sabes muy poco.

 
Koldun Zloy:

Sí, tu código en C++, lo he mirado y veo que sabes muy poco.

Es mejor aprender a programar a los 4 años, y ya tengo 26, la probabilidad de llegar a ser un gran programador es muy pequeña, recuerden a gente como Elon Musk y otros que podían programar a los 9 años, yo al menos cumpliría la tarea principal.

 

Existe una función

ArrayCopy

Pero no permite copiar una columna específica. Entonces hay una función

ArrayInitialize

y de nuevo la misma tontería, luego está la función

ArrayFill

pero aquí tampoco se puede especificar una columna. De qué sirven estas funciones si tienes que escribir las tuyas propias.

 
Seric29:

Es mejor aprender a programar desde los 4 años, y ya tengo 26.

¡Oh, estás fumando algo fuerte! )))))

no se puede enseñar a programar desde los 4 años, porque no sólo quiere jugar con los juguetes sino que quiere tirarlos al suelo, el niño aún no está enseñado a leer, sólo sabe contar hasta diez (¡los niños prodigio pueden contar hasta 100! ))) )

¿No puedes aprender nada a los 26 años? En los tres meses que llevas escribiendo tu problema, lo habrías resuelto si te pusieras a leer y a leer, el foro de MQL es uno de los pocos foros en los que puedes obtener una respuesta a tu pregunta en 1-2 horas, ¡es realmente genial! Bueno, esta es su forma de vida. He encontrado uno para tu problema que no puedo decirte mejor:

https://www.mql5.com/ru/forum/3457/page4494#comment_12804114

 
Seric29:

Es mejor aprender a programar desde los 4 años, y ya tengo 26, la probabilidad de llegar a ser un programador guay es muy baja, recuerda a gente como Elon Musk y otros que podían programar a los 9 años, yo al menos completaría la tarea básica.

No empecé a los 4 años, ni siquiera a los 9.

La probabilidad de convertirse en un programador genial a partir de los 26 años es muy alta.

 

Chicos tengo una pregunta pero no se rían porque este código no funciona

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#define  Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
    Mas2[2][2]={{3,8},{4,17}},
    Mas22[2][2]={{31,128},{94,107}},
    Mas3[2][2][2];

int OnInit()
  {int Perem=ArrayDimension(Mas); 
   Mkarr(Mas2,0,0,0);
   return(INIT_SUCCEEDED);
  }

Dice acceso erróneo al array ¿cómo lo sabe si no se comprueban todas las variantes del caso y se intenta si no se comprueba nada también y lanza un error? ¿Es posible omitir el código en tiempo de compilación o no sirve de nada?

 
Seric29:

Chicos tengo una pregunta pero no se rían porque este código no funciona

Dice acceso erróneo a la matriz ¿cómo sabe si todas las variantes del caso no se comprueban y trató si nada se comprueba también y lanza un error? ¿Es posible omitir el código en tiempo de compilación o no ayuda?

Eso no es gracioso, me dan ganas de llorar.

¿Por qué usas macros si no sabes usarlas? Descompila la macro (¡sólo copia la mierda!) y deberías ver dónde está el error

SIN: ..... "Los ratones lloraban y lloraban pero seguían masticando el cactus" ((((

 
Igor Makanu:

no es divertido, me dan ganas de llorar.

¿Por qué usas macros si no sabes usarlas? Descomprime la macro (¡sólo copia la mierda!) y deberías ver dónde está el error

SZY: ..... "Los ratones lloraban y lloraban, pero seguían royendo el cactus" ((((

La verdad es que no lo entiendo, la macro puede tomar cualquier elemento y al procesarlo en el compilador me sale una protección de que un mismo elemento no puede ser tanto esto como aquello. ¿Es posible poner en práctica esta idea?

 
Seric29:

No sé mucho sobre el tema, la macro toma cualquier elemento y al procesarlo en el compilador hay una protección de que un mismo elemento no puede ser a la vez esos y esas, tengo esos pensamientos. ¿Puede llevarse a cabo esta idea?

una vez más... Tome su macrosustitución en ME (¡o al menos en el bloc de notas!) y "enchúfela" en lugar de utilizarla, sustituya todos los parámetros entre paréntesis por sus números

Ni siquiera sé cómo explicarlo de forma más sencilla... Lea la Wiki si no tiene suficientes referencias sobre MQL

Comando de macros

Preprocesador C

 
Igor Makanu:

una vez más... tome su macro sustitución en ME (¡incluso en el bloc de notas!) y "enchúfela" en lugar de utilizarla, sustituya todos los parámetros entre paréntesis por sus números

reemplazado para usted, aquí está el código sin macros

//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//#define Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
Mas2[2][2]={{3,8},{4,17}},
Mas22[2][2]={{31,128},{94,107}},
Mas3[2][2][2];
int OnInit()
  {
   int Perem=ArrayDimension(Mas);
//   Mkarr(Mas2,0,0,0);
   switch(ArrayDimension(Mas2))
     {
      case 3:Mas2[0][0][0]=15;
      break;
      case 2:Mas2[0][0]=15;
      break;
     }
   return(INIT_SUCCEEDED);
  }

No sé por qué estás gastando tanto tiempo en trabajar con arrays multidimensionales si no puedes entender la sintaxis y los fundamentos de C++ / MQL, tienes arrays definidos con una dimensión y estás tratando de usarlos con otra, por supuesto que puedo estar equivocado, pero este truco no debería funcionar ni siquiera en Python, imho

Razón de la queja: