Autoaprendizaje del lenguaje MQL5 desde cero - página 11

 
Aliaksandr Hryshyn:

Tienes un plan de estudio equivocado, estás empezando desde el lugar equivocado.

Aquí estás aprendiendo una función:

Esto no es sencillo, relativamente, y requiere ya conocimientos básicos.

Para confirmarlo, intente responder a las preguntas de esta función, probablemente no será capaz de responder, lo que indica la dirección equivocada del aprendizaje:

¿Por qué "Mi_línea_2" está entre comillas y OBJ_VLINE sin ellas?

¿Qué significa aquí int, double y en qué se diferencian?

¿Por qué se escribe sub_window y no al revés, qué sentido tiene?

No es necesario aprender las funciones de la ayuda, sino los elementos básicos del lenguaje, los principios básicos del trabajo con el entorno comercial, con los archivos, con todo tipo de datos, y otros, dependiendo de la tarea a realizar.

Gracias, Alexander, por tus consejos. Los tendré en cuenta.

Saludos, Vladimir.

 
MrBrooklin:

Así es, pero tomar un ejemplo ya hecho o escribir tu propio código son dos grandes diferencias. Al menos para mí. ¡Y muchas gracias por el consejo!

Sinceramente, Vladimir.

Si no vas a estudiar C++ y MQL por completo, sino que buscas una variante más sencilla, puedes tomar un código ya hecho y organizarlo en modo explicativo, intenta entender la Referencia MQL5, como recomienda el autor.

Aliaksandr Hryshyn:

Tienes un plan de estudio equivocado, estás empezando desde el lugar equivocado.

Puedes escribir algo similar o incluso mejor).

Pero empieza por el propósito -> por qué quieres estudiar y qué necesitas estudiar exactamente para alcanzar tu objetivo, para que puedas olvidar las cosas innecesarias y concentrarte en lo esencial).

 
El libro de texto MQL4 es la mejor opción. Todo es fácil de entender, incluso para los principiantes. Selección correcta y actualizada del material. En ~4 meses podrás escribir tus propios EAs.

No elabore un programa de estudios usted mismo, ya que no entiende en absoluto esta área de conocimiento (programación). En consecuencia, confíe en un libro de texto competente.
 
VVT:

Si no vas a aprender C++ y MQL por completo, sino que buscas una versión más sencilla, coge el código ya hecho, descompónlo, intenta entender para qué y por qué, utilizando la Guía de Referencia de MQL5, como se recomienda

Si entiendes todo lo que te interesa, puedes escribir algo similar o incluso mejor).

Pero empieza por el propósito -> por qué estudias y qué necesitas estudiar para alcanzar tu objetivo, de modo que elimines lo innecesario y te centres en lo esencial).

Estoy estudiando los lenguajes de programación C++ y MQL5 paso a paso a medida que aparecen las preguntas. Estoy escribiendo guiones para reforzar el material que he aprendido. Paso a paso me estoy deshaciendo de mi miedo interior a lo desconocido. Estoy empezando a entender algunas cosas. Espero tener la paciencia y la fuerza necesarias para aprender no sólo los fundamentos de la programación, sino para hacer aún más. Gracias por compartir sus consejos. Todos ellos se tienen en cuenta. Pero, como dice el refrán, ¡Moscú no se construyó de golpe!

Saludos, Vladimir.

 
Реter Konow:
El tutorial de MQL4 es el mejor. Todo es comprensible incluso para los principiantes absolutos. Dispone de una selección precisa y actualizada de material para nuestro sector. En unos 4 meses podrás escribir tus propios EAs.

No elabore un programa de estudios usted mismo, ya que no entiende en absoluto esta área de conocimiento (programación). Por lo tanto, confíe en un libro de texto competente.

¡Gracias, Peter! Espero estar en lo cierto con su nombre. Definitivamente encontraré este libro para estudiar. Justo ahora, hay un punto en el que el estupor puede venir de una sobrecarga de información. Por ahora, según mi plan de autoaprendizaje, tengo unos cuantos guiones más en la cola para fijar el material que ya he aprendido.

Una vez más, ¡gracias por sus consejos!

Saludos, Vladimir.

 

Sigo estudiando el lenguaje de programación MQL5. El nuevo script New5.mq5 establece la línea de tendencia entre dos intervalos de tiempo. Como prometí antes, intenté describir todo en este script para un estudiante de primera clase de la escuela de programación.

Saludos, Vladimir.

//+------------------------------------------------------------------+
//|                                                         New5.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//---
#property script_show_inputs
//---
/* Ранее в скриптах New2.mq5, New3.mq5 и New4.mq5 мы научились создавать горизонтальную
   и вертикальную линию на текущем графике главного окна терминала MetaTrader 5.
   Теперь мы немного усложним задачу и попробуем создать линию, но уже с привязкой двух точек по
   временнОй и ценовой координатам. Кроме того, в данном скрипте мы реализуем возможность
   изменять входные параметры нужных нам координат. Снова воспользуемся информацией имеющейся 
   в Справочнике MQL5.
   Для начала необходимо сделать так, чтобы перед установкой новой линии, у нас было место, 
   где мы могли устанавливать или менять нужные нам координаты привязки. Для этого мы должны
   воспользоваться препроцессором – специальной подсистемой компилятора MQL5, которая занимается 
   предварительной подготовкой исходного текста программы непосредственно перед ее компиляцией.
   Препроцессор позволяет также определять специфические параметры mql5-программ:
   - Объявлять константы
   - Устанавливать свойства программы
   - Включать в текст программы файлы
   - Импортировать функции
   - Использовать условную компиляцию
   В нашем случае интересен раздел "Устанавливать свойства программы", поэтому жмем на эту ссылку
   и переходим во вкладку "Свойства программ (#property)". Если внимательно просмотреть все константы, то
   можно найти "script_show_inputs" (дословный перевод - показать входы скрипта), а если быть точнее, 
   то вывести окно со свойствами перед запуском скрипта и запретить вывод окна подтверждения. Запишем
   #property script_show_inputs чуть ниже шаблона шапки скрипта.
   Движемся дальше. Создадим входные параметры скрипта. Для этого нам понадобится класс памяти input 
   который определяет внешнюю переменную. Модификатор input указывается перед типом данных. 
   Изменять значение переменной с модификатором input внутри mql5-программы нельзя, такие переменные 
   доступны только для чтения. Изменять значения input-переменных может только пользователь из окна 
   свойств программы. Простыми словами input нам нужен для того, чтобы задавать свои значения в диалоговом 
   окне скрипта в момент его запуска.   
*/

// ПИШЕМ КОД СКРИПТА
input datetime inp_time1=D'2020.10.01 14:00'; //Превая точка привязки по временнОй координате
input double inp_price1=1.17693;              //Первая точка привязки по ценой координате
input datetime inp_time2=D'2020.10.02 10:00'; //Вторая точка привязки по временнОй координате
input double inp_price2=1.17412;              //Вторая точка привязки по ценой координате
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ObjectCreate(0,"Моя_линия_3",OBJ_TREND,0,inp_time1,inp_price1,inp_time2,inp_price2);
   
  }
//+------------------------------------------------------------------+

/* Теперь расшифруем, что именно мы создали в программном коде скрипта.
1. Первым делом мы создали четыре входных параметра, по два на каждую точку привязки. В данном скрипте
   каждая точка привязки линии имеет 2-а параметра - price и time. Каждый входной параметр начинается
   с input (переводится как "ввод").
2. После input пишется тип переменной. Например, для ценовых координат присваивается тип переменной double,
   т.к. она (цена) имеет дробную часть, а для временнЫх координат присваивается тип переменной datetime.
   Все эти сведения мы берем из уже известного нам Справочника MQL5.
3. Чтобы мы смогли вводить свои данные, нам необходимо создать четыре собственные переменные созвучные с
   price и time. Ими станут inp_time1, inp_time2, inp_price1 и inp_price2. Каждой новой переменной зададим
   конкретные значения (константы), например, input datetime inp_time1=D'2020.10.01 14:00' и т.д.
4. Дальше для создания новой линии, нам также потребуется ObjectCreate, только с некоторыми поправками.
   Во-первых, зададим для линии новое уникальное имя "Моя_линия_3". Во-вторых, зададим новый тип объекта 
   OBJ_TREND, т.к. будем создавать линию, которая может располагаться на торговом терминале в
   произвольном положении. В-третьих, там где в предыдущих скриптах мы записывали конкретные 
   величины price и time, а именно, time1, price1, time2 и price2, теперь мы должны записать вновь
   созданные нами переменные inp_time1, inp_price1, inp_time2 и inp_price2. Всё! Наш новый скрипт готов.
5. Компилируем и запускаем скрипт. Как компилировать и запускать скрипт мы уже узнали, когда создавали скрипт New2.mq5.
*/
 
MrBrooklin:

¡Gracias, Peter! Espero estar usando su nombre correctamente. Definitivamente encontraré este libro para estudiar. Es que ahora mismo estoy en un punto en el que me puede abrumar la sobrecarga de información. Hasta ahora, según mi plan de autoestudio, tengo unos cuantos guiones más en la cola para fijar el material que ya he estudiado.

Una vez más, ¡gracias por sus consejos!

Saludos, Vladimir.

Tutorial de MQL4
Учебник по MQL4
Учебник по MQL4
  • book.mql4.com
В настоящее время персональный компьютер стал незаменимым помощником в жизни каждого человека. Благодаря развитию Интернета и увеличению мощности современных компьютеров открылись новые возможности во многих областях деятельности. Ещё десять лет назад торговля на финансовых рынках была доступна только банкам и узкому кругу специалистов. Сегодня...
 
Alekseu Fedotov:
Tutorial MQL4

¡¡¡Gracias, Alexey, por el enlace!!!

Sinceramente, Vladimir.

 
MrBrooklin:

¡Gracias, Peter! Espero estar usando su nombre correctamente. Definitivamente encontraré este libro para estudiar. Es que ahora mismo estoy en un punto en el que me puedo sentir abrumado por la sobreabundancia de información. Hasta ahora, según mi plan de autoestudio, tengo unos cuantos guiones más en la cola para fijar el material que ya he estudiado.

Una vez más, ¡gracias por sus consejos!

Sinceramente, Vladimir.

Peter también es bueno. :)

Ahora, con toda seriedad: deja este prematuro "jugueteo" con las líneas. Es mejor no lanzarse a programar, es demasiado complicado. Necesitas una base. Empieza con las primeras lecciones del tutorial MQL4 y no te preocupes por el programa, está bien pensado para ti.

Lee y toma notas. Hasta que no domines al menos el principio, ni siquiera intentes programar, esto sólo te llevará por el camino equivocado. La paciencia y el trabajo te ayudarán a adquirir valiosos conocimientos, que no conseguirás en un caótico autoestudio. Es como ir a la escuela, elegir clases y asignaturas al azar cada día. Tu cabeza estará hecha papilla. :)

P.D. Primero hay que repasar los tipos de variables, las matrices, aprender a trabajar con bucles, escribir las funciones más sencillas y sólo después dibujar líneas. Si es al revés, estarás atado a los códigos de otros, y no podrás escribir tu propio programa a tu gusto.Escribir un programa es el final, no el principio del aprendizaje de los libros de texto.
 
Реter Konow:
... Primero hay que repasar los tipos de variables, las matrices, aprender a trabajar con bucles, escribir las funciones más sencillas y sólo después dibujar líneas. Si es al revés, estarás atado a los códigos de otros, y no podrás escribir tu propio programa, según tu idea.Escribir un programa es el final, no el principio del aprendizaje de un libro de texto.

Gracias Peter, he tomado en cuenta tu consejo.

Saludos, Vladimir.