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

 
neverness:

No somos niños, somos individuos perfectamente cuerdos.

No intentemos susurrar y engañarnos.

Una vez más repito mi pregunta:

Por favor, dame un código sencillo del indicador, en el que se construya algún objeto con script (OnStart(), por ejemplo, una elipse).

El procedimiento es el siguiente:

Usted entra en el MetaEditor. Haga clic en Archivo->Crear....

Haga clic en el Indicador.

Y en este entorno se introduce el código del objeto script (OnStart(), por ejemplo, ellipse).

¡¡¡Es tan sencillo!!!

¡¡¡Buena suerte!!!

¿Por qué llamar a un script desde un indicador si toda la funcionalidad necesaria puede ser descrita en el indicador?
 
Vitaly Gorbunov:
¿Por qué necesita llamar a un script desde el indicador, si toda la funcionalidad necesaria puede describirse en el indicador?

Este es el procedimiento más sencillo en cualquier entorno de programación. En C++ no hay ningún problema.

Construimos un objeto gráfico a partir de un flujo de datos. La posición, la forma y otras características del objeto dependen de los valores de este flujo.

Como el indicador es responsable del flujo de datos de entrada en el entorno MQL, construimos los objetos de interés en este entorno.

Todo es lógico.

Pero MQL no permite construir estos objetos.

Esto es así a pesar de que esto no es un problema en C++, BASIC, JavaScript o cualquier otro entorno de programación.

Qué tipo de "funcionalidad necesaria" pretendía describir es un misterio para mí.

En general.

Los programadores suelen hablar en un LENGUAJE DE CÓDIGO.

¡Si puedes hacerlo, por favor dame un EJEMPLO de CÓDIGO!

Si no puedes, no tienes otra opción que estar de acuerdo conmigo.

Así de sencillo.

 

То есть, требуется не просто бросить объект на форму, или создать независимый ни  от чего объект, как в Вашем примере, а внедрить этот объект в вычислительную среду индикатора .

En otras palabras, si el flujo de datos del indicador cambia, el objeto gráfico también cambia.

No, como en tu ejemplo, sólo un maniquí en el gráfico que no depende de nada.


Cuál es el problema si el indicador sabe trabajar con este objeto, trabajará con este objeto. ¿Puede describir concretamente el problema? De lo contrario, estamos discutiendo sobre un caballo esférico en el vacío.

 
neverness:

Este es el procedimiento más sencillo en cualquier entorno de programación. En C++ no hay ningún problema.

Construimos un objeto gráfico a partir de un flujo de datos. La posición, la forma y otras características del objeto dependen de los valores de este flujo.

Como el indicador es responsable del flujo de datos de entrada en el entorno MQL, construimos los objetos de interés en este entorno.

Todo es lógico.

Pero MQL no permite construir estos objetos.

Esto es así a pesar de que esto no es un problema en C++, BASIC, JavaScript o cualquier otro entorno de programación.

Qué tipo de "funcionalidad necesaria" pretendía describir es un misterio para mí.

En general.

Los programadores suelen hablar en un LENGUAJE DE CÓDIGO.

¡Si puedes hacerlo, por favor dame un EJEMPLO de CÓDIGO!

Si no lo haces, no tienes otra opción que estar de acuerdo conmigo.

Así de sencillo.

No saber utilizar el lenguaje no es motivo para ser insultado.

En codobase abundan los códigos, diferentes, para todos los gustos y colores.

MQL5 Code Base
MQL5 Code Base
  • www.mql5.com
Две одинаковые торговые системы (для лонгов и шортов), построенные на сигналах индикатора ColorSchaffJJRSXTrendCycle, которые можно настраивать различным образом в одном эксперте с возможностью менять размер предстоящей сделки в зависимости от результатов предыдущих сделок для данной торговой системы.
 

Строим графический объект по потоку данных. Положение объекта, его форма и другие характеристики зависят от значений этого потока.

Como el indicador es responsable del flujo de datos de entrada en el entorno MQL, construimos los objetos de interés en este entorno.

Todo es lógico.

Pero MQL no permite construir estos objetos.


¿Qué objeto no se puede construir en el indicador?

 
Vitaly Gorbunov:

Cuál es el problema si el indicador sabe trabajar con este objeto funcionará con este objeto. ¿Puede describir específicamente el problema? De lo contrario, estamos discutiendo sobre un caballo esférico en el vacío.

El asunto es sencillo.

Tomemos el evento del indicador

int OnCalculate(const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])

y, por ejemplo, tomar un hilo de valores orn[] y si el valor en este hilo es mayor que el preestablecido, construiremos algún objeto de script gráfico en un punto determinado del gráfico con las características calculadas.

Todo es elementalmente sencillo.

En otras palabras, necesitamos incrustar el objeto de script OnStart() en el campo de datos OnCalculate() y construir el objeto de interés con valores calculados.

Es elementalmente sencillo.

¿Cómo hacerlo en MQL?

 
Vitaly Muzichenko:

No saber usar el idioma no es motivo para ser insultado.

En kodobase abundan los códigos, de todo tipo, para todos los gustos y colores.

La falta de habilidad se escribe junta -> https://ru.wiktionary.org/wiki/неумение

Ya he dicho antes que he omitido deliberadamente la "cáscara matemática" de MQL.

También se refiere a esos "códigos tan diferentes", que "abundan en kodobase" y son de todos los "gustos y colores".

¡Bueno, querido Vitaly!

Yo mismo me tomo esos comentarios sobre mí como un insulto.

Y ser lo suficientemente amable como para obtener una parte de la respuesta.

Aquí está.

Como usted señaló correctamente, todo tipo de "códigos milagrosos" que proporcionan 1000% de beneficio en kodobase realmente más que suficiente.

Pero todo el problema es la veracidad de la información que nos ofrecen los autores de estos códigos.

Y si formulamos estrictamente de forma matemática la tarea de construir "EAs ganadores", esta tarea sonará algo así

El enunciado del problema:

¿Es posible construir un EA que dé un resultado ganador en cualquier situación seleccionada por este EA?

Solución del problema.

Así que.

En cuanto a la solución puramente matemática del problema, resulta que podemos especificar la combinación de

de flujo de cotizaciones, en el que este EA perderá a sabiendas, y el trader perderá a sabiendas sus fondos.

Por supuesto, no voy a dar una solución puramente matemática a este problema, pero puedes estar seguro de que es cierto.

Es decir, desde el punto de vista matemático, para cualquier asesor, se pueden especificar tales o cuales situaciones en las que las acciones de este EA no serán rentables para un comerciante.


Si abordamos ahora la cuestión desde el punto de vista jurídico, todas las ofertas de venta de cualquier Asesor no son más que otra "trama fraudulenta",

Porque ningún Asesor Experto es capaz de proporcionar un "ganar-ganar".


Por lo tanto, querido Vitaly, ningún "saber usar el lenguaje" ni saber "usar los códigos" protegerá a un comerciante de las pérdidas.

Y ciertamente no puede ser un insulto.

Así que la próxima vez, elige tu lenguaje con más cuidado.

 
Vitaly Gorbunov:

¿Qué objeto no se puede construir en el indicador?

Bueno, construye algunos.

Personalmente, no veo en el horizonte ningún objeto de este tipo que se pueda construir.

Me gustaría ver al menos algo.

Al fin y al cabo, todavía soy un "novato" en MQL. Tal vez no sepa algo o haya pasado por alto algo.

 
neverness:

Es muy sencillo.

Tomamos un evento indicador

int OnCalculate(const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])

y, por ejemplo, tomar un hilo de valores oren[], y si el valor de este hilo es mayor que el preestablecido, construiremos algún objeto gráfico de script en un determinado punto calculado del gráfico con las características calculadas.

Todo es elementalmente sencillo.

En otras palabras, necesitamos incrustar el objeto de script OnStart() en el campo de datos OnCalculate() y construir el objeto de interés con valores calculados.

Es elementalmente sencillo.

¿Cómo hacerlo en MQL?

Bueno, construye este objeto y luego contrólalo.

¿Qué le parece esto? Describa una tarea sencilla y el lunes intentaré ponerla en práctica.

 
Vitaly Gorbunov:

Así que construye este objeto y luego contrólalo. ¿Cuál es el problema?

Digamos que usted describe una tarea sencilla y que yo trataré de ponerla en práctica el lunes.

Ya he descrito una tarea sencilla.

Abre el MetaEditor.

Haga clic en Archivo->Crear.

En el campo emergente seleccione Indicador.

En el indicador OnCalculate() introduce cualquier objeto script con el evento OnStart().

Yo personalmente no sé cómo hacerlo. Por ejemplo, así:

int OnCalculate(const int rates_total,
const int prev_calculado,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
for(int i = 1; i < 100;i++)

{

if(open[i] > Max)

{

OnStart()

Y aquí tenemos que escribir un script para construir el objeto que nos interesa. Por ejemplo, una elipse o una letra en un gráfico o cualquier otra cosa

} //if(open)

} //for(int i)
//--- devuelve el valor de prev_calculado para la siguiente llamada
return(rates_total);
} // OnCalculate

Esto debe ser algo así.

Pero este código no es aceptado por el traductor MQL.

Razón de la queja: