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

 
Nikolay Ivanov #:

Una pequeña corrección... No habrá un error crítico, sólo el booleano OrderSelect devolverá false... y eso es todo... Pero, por supuesto, es mejor evitarlo... Porque si no se utilizan correctamente las características del código, es difícil predecir las posibles trampas...

Sí, por supuesto. Pero sólo cuando se utilizan matrices normales y terminales, que no son visibles para nadie y a las que se accede mediante funciones normales, que tienen protección contra el desbordamiento y devuelven banderas de error. Me refería a trabajar con mis matrices, después de todo:

Pero en cuanto uno se da cuenta de que debe almacenar en caché los datos de los arrays normales y empieza a trabajar con sus propios arrays, es cuando hay que acostumbrarse a manejar los arrays con cuidado.

Y todo lo que la gente ha estado haciendo últimamente, utilizando sus propios cachés de datos (históricos y de mercado) es mucho más fácil y rápido - ahí puedes ordenar como quieras y seleccionar lo que quieras, y obtener nuevas matrices con sólo los datos necesarios, y ordenarlas como quieras y seleccionar lo que quieras de ellas.

Pero este es el siguiente nivel de uso de las posibilidades del terminal y su API - MQL.

 
Nerd Trader #:

En el primer orden se da por defecto magic = 1. Entonces se inicia un bucle:

Inicio de la iteración magic = 1 unique = 0, al final (cuando ya hay una orden con magic = 1 ) magic sigue siendo 1 y unique = 0
Segunda iteración magic = 2 unique = 0, al final, magic = 2 y unique = 1 (no hay coincidencia) y la retorn se asigna a la segunda orden magic = 2.
La tercera debería ser igual...

Quería imprimir todo el proceso, pero algo salió mal:

https://www.mql5.com/ru/articles/5687
Siga leyendo con tranquilidad. Y es una tontería numerar sólo el Magik. Tiene que estar encriptado. Puedes pegar el número, el tipo, el ticket, incluso la hora de creación del pedido
 
Valeriy Yastremskiy #:
h ttps://www.mql5.com/ru/articles/5687
Léalo con calma. Y es una estupidez sólo numerar a Magik. Tiene que estar encriptado. Puedes poner el número, el tipo, el ticket, incluso la hora en que se creó el pedido
Vamos a leerlo. No sé por qué un mago debería estar encriptado, con la numeración de serie me basta. La opción de asignar el mayor número mágico + 1 está bien, pero tengo que averiguar por qué mi código no funciona.
 
Ivan Butko #:
¿Puedes decirme algún truco (maniobra) para que el terminal recuerde varios valores?

Por ejemplo, una tarea:

Dada N velas al revés. Encuentra velas con tamaño >= X pips, memoriza su número y el tamaño de cada una de ellas. Si la vela actual después del cierre fue >= X pips, entonces compara su tamaño con el número total de velas calculadas y muestra el resultado - cuál es su tamaño entre todas las velas encontradas.
MakarFX #:

De todos modos, el terminal lo recuerda todo... ¡el archivo de citas!

Y para un Asesor Experto o indicador, necesitas esto

Makar, gracias por tu respuesta. Lamentablemente, hasta ahora no he dominado esta página. Cómo resolver este problema a través de las matrices, no entiendo.

 
Ivan Butko #:

Makar, gracias por tu respuesta. Lamentablemente, aún no domino la página anterior. No entiendo cómo resolver este problema con las matrices.

Todavía no soy bueno con las matrices...

Tal vez uno de los expertos pueda ayudarte.

 
Maxim Kuznetsov la sintaxis del lenguaje y los fundamentos básicos de los algoritmos.

De lo contrario se producen tonterías en el tema, en lugar de consultas sobre la plataforma y los algoritmos, diálogos a nivel de escuelas primarias - dónde poner ; qué es un bucle y por qué los índices son 0.

Por ejemplo, hay un sitio intuit.ru - hay cursos sobre C y algoritmos, tómate tu tiempo, un par de semanas como máximo. Al mismo tiempo, es posible que consigas un papel :-)

La mejor motivación para estudiar algo, cuando hay necesidad. Antes intentaba aprender C, C++ de los libros de texto, pero no sé de dónde debe salir la motivación para hacer las tareas, por ejemplo: convertir grados Celsius a Fahrenheit, etc. Pero cuando hay una necesidad real, como la que tengo yo, de escribir un EA, la cosa cambia. He aprendido más en una semana según las necesidades: clases, estructuras, etc. Al mismo tiempo, también tuve que aprender y aplicar git. Ahora estoy buscando dominar algún editor kosher como vim o emacs.

P.D.
Tengo un curso de vídeo en mql4, pero no tengo ni siquiera la energía para verlo, porque no escribe los búhos adecuados para mí. Sí, el curso ideal es aquel en el que te escriben el EA.
 
Nerd Trader #:

Tengo un curso de vídeo en mql4 pero ni siquiera tengo fuerzas para verlo, porque no está escrito por esos búhos, que falta me hace. Sí, el curso ideal es aquel en el que te escriben el EA.

Qué espeluznante... ¿Qué son "esos" búhos? ¿No es Chernóbil? Que yo sepa, los búhos no saben escribir. No sólo eso, sino que no tienen ni idea de ello.

 
Artyom Trishkin #:

Qué espeluznante... ¿Qué son "esos" búhos? ¿No es Chernóbil? Que yo sepa, los búhos no saben escribir. No sólo eso, sino que no tienen ni idea de ello.

Ajá, ajá. El búho escribe.
 
Nerd Trader #:
Vamos a leerlo. No sé por qué el mago necesita estar encriptado, con la numeración de serie me basta. La opción de asignar el mayor mago + 1 está bien, pero tengo que averiguar por qué mi código no funciona.
Una tontería, porque los pedidos están numerados de todos modos. Tienen números ordinales y billetes. Y escribes los números ordinales más 1 en Magik. Y lo hace incluso sin un prefijo distintivo para distinguir los pedidos que necesita.

 

Buenas noches, ayúdenme a reescribir una sección de código en MQL4 para el compilador MQL5, si no es difícil, ¡gracias!

   FLU=iCustom(NULL,0,"FractalsLine",0,0);
   FLL=iCustom(NULL,0,"FractalsLine",1,0);
   MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_4_t=iMA(NULL,0,Period_MA_4,0,MODE_EMA,PRICE_TYPICAL,0);
   Sig_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   Sig_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   Macd_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   Macd_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   RCI_t = iRSI(NULL,0,14,0,0) - 50;
   Atr=iATR(0,0,14,0);
   WPR=iWPR(NULL,PERIOD_H1,14,0);
   Vol=iVolume(NULL,0,0);
   Stoh_m=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_MAIN,0);
   Stoh_s=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_SIGNAL,0);
Razón de la queja: