[¡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 137

 

Por supuesto, puedo comprobarlo yo mismo, pero tal vez alguien me dé una respuesta rápida.

Si tengo un array m[] con el número actual de elementos ya generado, digamos, 10,

y luego digo

ArrayResize(m, 15)

¿los 10 elementos originales de la matriz mantendrán sus valores?

--------------------------------------------------------------------------

Todo comprobado - los valores se conservan.


 
more:

Por supuesto, puedo comprobarlo yo mismo, pero tal vez alguien me dé una respuesta rápida.

Si tengo un array m[] con un número actual de elementos ya formados, digamos, 10,

y luego decir

ArrayResize(m, 15)

¿los 10 elementos originales de la matriz mantendrán sus valores?

--------------------------------------------------------------------------

Todo comprobado - los valores se conservan.


¿Por qué especifica 15? Necesita 10.
 
Hay algunas cuestiones técnicas sobre la MT.

1. exportación de datos. Todo está claro con DDE y el archivo de citas de ahorro. Estoy interesado en descargar ciertas cotizaciones de un cierto intervalo durante un cierto período utilizando el lenguaje incrustado. Entiendo que se hace con la ayuda de scripts. En este sitio web he encontrado ejemplos de scripts para la descarga de datos.

Pregunta: Para que el script se ejecute automáticamente (en este caso, la descarga), ¿necesito crear un Asesor Experto que ejecute este script?

2. El código de los scripts, etc., parece estar almacenado en *.mq4, mientras que *.ex4 es probablemente un archivo compilado. Me gustaría tener la siguiente posibilidad: si es necesario cambiar el código del script con cualquier editor de texto - y que MT ejecute el script ya cambiado. Sila suposición sobre *.mq4 y *.ex4 es correcta, ¿es posible realizar la compilación utilizando métodos que no sean de interfaz y pasar el script modificado a MT para su ejecución?

Estoy interesado en la importación/exportación de transacciones a través de un archivo y una biblioteca - ¿existe tal posibilidad (similar a la funcionalidad en QUIK)? No he encontrado ninguna indicación clara de esta posibilidad. ¿Es posible organizar el intercambio a través de un archivo de formato propio: el Asesor Experto lee y analiza el archivo y, en función de su contenido, realiza las transacciones? Si es posible, ¿hayalgún ejemplo?


4. ¿Y existe un ayudante de sintaxis para el lenguaje MetaQuote?


Gracias de antemano por su ayuda.
 
Mopo3:
Hay algunas cuestiones técnicas sobre la MT.

1. exportación de datos. Todo está claro con DDE y el archivo de citas de ahorro. Estoy interesado en descargar ciertas cotizaciones de un cierto intervalo durante un cierto período utilizando el lenguaje incrustado. Entiendo que se hace con la ayuda de scripts. En este sitio web he encontrado ejemplos de scripts para la descarga de datos.

Pregunta: Si quiero que el script se ejecute automáticamente (en este caso, la descarga), ¿necesito crear un Asesor Experto que ejecute este script?

2. El código de los scripts, etc., parece estar almacenado en *.mq4, mientras que *.ex4 es probablemente un archivo compilado. Me gustaría tener la siguiente posibilidad: si es necesario cambiar el código del script con cualquier editor de texto - y que MT ejecute el script ya cambiado. Sila suposición sobre *.mq4 y *.ex4 es correcta, ¿es posible realizar la compilación utilizando métodos sin interfaz y pasar el script modificado a MT para su ejecución?

Estoy interesado en la importación/exportación de transacciones a través de un archivo y una biblioteca, ¿es posible (similar a la funcionalidad de QUIK)? No he encontrado ningún indicio claro de esta posibilidad. ¿Es realmente necesario organizar el intercambio a través de un archivo de formato propio: el Asesor Experto lee y analiza el archivo y, en función de su contenido, realiza las transacciones? Si es posible, ¿hayalgún ejemplo?

4. ¿Y existe un ayudante de sintaxis para el lenguaje MetaQuote?

Gracias de antemano por su ayuda.

1. Puede hacerlo desde cualquier lugar (script, Asesor Experto, indicador).

2. Puedes hacerlo, pero ¿por qué? Todo se puede implementar directamente en el código MQL4.

Sí, puede. Hay muchos ejemplos en la colección de archivos, y no sólo a través de un archivo.

4. F1. https://docs.mql4.com/ru/

 
Y también el botón F1 en los editores)
 
alsu:
Y también el botón F1 en los editores)
A eso me refería :-))
 
Zhunko:
A eso me refería :-))

Uh-oh. Es difícil en un lunes.

 
Zhunko:

1. Puede hacerlo desde cualquier lugar (script, experto, indicador).

2. Puedes hacerlo, pero ¿por qué? Todo se puede implementar directamente en el código MQL4.

Sí, puede. Hay muchos ejemplos en la colección de código, y no sólo a través de un archivo.

4. F1. https://docs.mql4.com/ru/


1. Ya veo, estudiaré el idioma.

2. Un ejemplo sencillo: un MTS de terceros en el que se seleccionan instrumentos, TFs, etc. También solicitará cotizaciones a MT, es decir, en este caso cambiará el código del script de carga de datos (aún no he encontrado ninguna librería externa para conectar en una aplicación de gestión de MT de terceros). MT tendrá que compilar el código modificado y ponerlo en marcha.

¿Supongo que el tema de la compilación y ejecución automáticas es para mirar https://docs.mql4.com/ru/?

3. No debo haber buscado lo suficiente. Me ha parecido que todos los ejemplos ilustran exactamente la toma de decisiones por parte de la MT en base al análisis de datos.

4. Muchas gracias por https://docs.mql4.com/ru/. Pero no se puede decir que F1 sea un ayudante de sintaxis :)

 

Desafortunadamente, el autor de este cuando se retiró de los negocios, así que te pido un pro-tengo después de un acuerdo de pérdida se abre, sólo un lote de acuerdo *2 - y luego mis órdenes son a veces cancelado - después de tiempo - todos están pendientes y, a menudo no viene a abrir ofertas lote *2 Creo que esto es porque después de abrir este acuerdo, mantenemos el equilibrio después de workbalance_before= balance_after; y la función ya es el siguiente acuerdo, es el habitual, sugieren - lo que necesita cambiar o arreglar - lo que sería

Ayúdenme a cambiar o corregir - qué debo cambiar o corregir - abrir el lote *2 hasta que la orden funcione, o abrir hasta que se bloquee la pérdida, ¡gracias de antemano por la respuesta!


Como parámetros, pasa el volumen inicial (doble lote), y el paso (doble x).
Inserte el método directamente en OrderSend en lugar del parámetro de volumen.

Пример вызова функции://+------------------------------------------------------------------+

double getMartinLot(double lot, double x){         //ФУНКЦИЯ УПРАВЛЕНИЯ ОБъЕМОМ ТОРГОВ ПО СИСТЕМЕ МАРТИНГЕЙЛА
   static double balance_before, balance_after;    //ДЛЯ ХРАНЕНИЯ СОСТОЯНИЯ БАЛАНСА ДО И ПОСЛЕ СДЕЛОК
   static double save_Lot;
   balance_after = AccountBalance();               //СОХРАНЕНИЕ ТЕКУЩЕГО СОСТОЯНИЯ БАЛАНСА
   if(balance_after >= balance_before){            //ПРОВЕРКА ИЗМЕНЕНИЯ БАЛАНСА
      save_Lot = lot;                              //ЕСЛИ ОН НЕ ИЗМЕНИЛСЯ ИЛИ СТАЛ БОЛЬШЕ, ТО СБРАСЫВАЕМ ЛОТ ДО БАЗОВОГО
   }else{
      save_Lot *= x;                               //ЕСЛИ СТАЛ МЕНЬШЕ ТО УВЕЛИЧИВАЕМ ЛОТ НА Х РАЗ
   }
   balance_before = balance_after;                 //СОХРАНЯЕМ СОСТОЯНИЕ БАЛАНСА ПОСЛЕ РАБОТЫ
   return(save_Lot);
}
//+------------------------------------------------------------------+

Pase el volumen inicial (doble lote), y el paso (doble x) como parámetros.
Inserte el método directamente en OrderSend en lugar del parámetro de volumen.

Ejemplo de llamada a una función:

if(OrdersTotal() == 0){
   OrderSend(Symbol(), OP_BUY, getMartinLot(0.1, 2), Ask, 10, Bid-25*Point, Bid+25*Point);
}

 
Mopo3:


1. Ya veo, estudiaré el idioma.

2. Un ejemplo sencillo: un MTS de terceros en el que se seleccionan instrumentos, TFs, etc. También solicitará cotizaciones a MT, es decir, en este caso cambiará el código del script de carga de datos (aún no he encontrado ninguna biblioteca externa para conectar en la aplicación de gestión de MT de terceros). MT tendrá que compilar el código modificado y ponerlo en marcha.

¿Supongo que el tema de la compilación y ejecución automáticas es para mirar https://docs.mql4.com/ru/?

3. No debo haber buscado lo suficiente. Me ha parecido que todos los ejemplos ilustran exactamente la toma de decisiones por parte de la MT en base al análisis de datos.

4. Muchas gracias por https://docs.mql4.com/ru/. Pero no se puede decir que F1 sea un ayudante de sintaxis :)

2. No entiendo por qué hay que compilar algo sobre la marcha. Haz un conjunto de scripts ya hechos y ejecútalos, si no sabes cómo gestionar los parámetros del script desde el exterior.

Soy capaz de manejar MT4 desde la aplicación de la consola. Utilizo la biblioteca de clases en la que se basa esta biblioteca.

4. Si algo no está claro en el código, pon el cursor en lo que no está claro y pulsa F1. Se trata de un ayudante de sintaxis.