Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 1300

 
Vladimir Karputov:
 m_trade.SetExpertMagicNumber(InpMagic);

Sí, lo hice, resulta que cometí un error lógico que hizo que no se llamara al método. Gracias por la respuesta.


Una pregunta más: ¿cómo llamar a otro método de la misma clase dentro de un método de clase (en el archivo .mqh)?

La construcción no funciona:

void CTradeMT45::CloseAll(int OrderType) {

CloseOrder(ticket);

}

void CTradeMT45::CloseOrder(ulong ticket){

}
 
Ildar Yusupov:

Sí, lo hice, resulta que cometí un error lógico que hizo que no se llamara al método. Gracias por la respuesta.


Una pregunta más: ¿cómo llamar a otro método de la misma clase dentro de un método de clase (en el archivo .mqh)?

La construcción no funciona:

Un consejo: olvide la palabra "orden" (sólo se permite "orden pendiente") y obtendrá inmediatamente toda la lógica.

 
Vladimir Karputov:

Un consejo: olvídese de la palabra "orden" (sólo se puede utilizar "orden pendiente") y toda la lógica caerá inmediatamente en su sitio.

En lugar de "Orden", sería más correcto utilizar la palabra "Orden" en mt5. Aunque son similares en su esencia.

 
Valeriy Yastremskiy:

En lugar de Orden, la palabra correcta a utilizar en mt5 es Orden. Aunque son palabras similares.

También hay una orden de mercado en MetaTrader 5. No se puede renunciar a algo, que es parte integrante del sistema de órdenes de la plataforma comercial, por razones "religiosas".

Hay órdenes en MT5. Y se muestran en el historial. E incluso llevan información que una persona con conocimientos utilizará en su propio beneficio.

Sólo hay que conocer mejor cómo funcionan las cosas, y no tomarse a chufla el nombre de lo que se llama exactamente orden. Es una orden comercial. Es el iniciador del resto de la cadena de metamorfosis que lleva a una posición. Una orden pendiente es una entidad diferente. También puede atribuirse a las órdenes, una "orden condicional", por así decirlo.

Cuando la orden se ejecuta, aparece una orden de mercado y se transforma en una operación que genera una posición o la modifica. Si la memoria no me falla - hace mucho tiempo que miré todo el historial con la cadena de eventos desde la orden hasta el cierre de una posición. Pero cuando lo trataba a fondo, si la memoria no me falla, es exactamente así: orden -- orden de mercado -- trato -- apertura/cambio/cierre de posición.

Y, sí, no se trata de palabras estrechamente relacionadas, sino de una traducción del inglés al ruso. Orden == Orden

 
Artyom Trishkin:

MetaTrader 5 también tiene una orden de mercado. No se puede renunciar a algo que forma parte del sistema de órdenes de la plataforma de negociación por razones "religiosas".

Hay órdenes en MT5. Y se muestran en el historial. E incluso llevan información que una persona con conocimientos utilizará en su propio beneficio.

Sólo hay que conocer mejor cómo funcionan las cosas, y no tomarse a chufla el nombre de lo que se llama exactamente orden. Es una orden comercial. Es el iniciador del resto de la cadena de metamorfosis que lleva a una posición. Una orden pendiente es una entidad diferente. También puede clasificarse como una orden, por así decirlo, condicional.

Cuando se ejecuta la orden, aparece una orden de mercado que se transforma en una operación que genera una posición o la modifica. Si la memoria no me falla - hace mucho tiempo que miré todo el historial con la cadena de eventos desde la orden hasta el cierre de una posición. Pero cuando lo trataba a fondo, si la memoria no me falla, es exactamente así: orden -- orden de mercado -- trato -- apertura/cambio/cierre de posición.

Y, sí, no se trata de palabras estrechamente relacionadas, sino de una traducción del inglés al ruso. Orden == Orden.

Al parecer, no hablo inglés. No estoy pidiendo en absoluto una sustitución de conceptos. Sólo para que se entienda bien sustituye las palabras. Y utilizar la sustitución al explicarlo. Y utilizar los conceptos existentes.

En el comercio se utiliza como traducción. Y en ruso una orden es una orden que se ejecuta en la producción. Una orden de producción suele ser una orden de producción.

 
Valeriy Yastremskiy:

Aparentemente no soy muy elocuente. No estoy pidiendo en absoluto que se sustituyan los conceptos. Sólo para sustituir las palabras por una comprensión adecuada. Y utilizar sustituciones al explicarlos. Y utilizar los conceptos existentes.

En el comercio se utiliza como traducción. Y en ruso una orden es una orden que se ejecuta en la producción. Una orden de fabricación suele ser.

Una orden de ejecución en producción, se llama naryad. En algunos lugares se llamaba orden-orden, orden-asignación...

Siempre hubo sólo una carta de porte para la liberación de los productos. Y una orden se emitió generalmente para una detención ... o una búsqueda ... ¿Cuál debe escribir )))))))))

No es tan malo... También había una orden para un lugar para vivir. He tenido dos de esos...

 

No puedo entender qué tipo de tonterías da el indicador. Quiero comprobar cuáles de las siguientes 10 velas tienen picos en zigzag, en las mismas velas quiero destacar sólo los máximos y también sólo los mínimos. Sé que en el buffer 0 todos los picos locales, en el 1 - hai, en el 2 - los bajos.

¿Cuál es el problema aquí? No lo entiendo. He comprobado la configuración de los indicadores en el gráfico y los que paso a la llamada: son los mismos. Sólo imprimo el cero del buffer principal para comprobar el funcionamiento.

input int ExtDepth = 40;
input int ExtDeviation = 5;
input int ExtBackstep = 3;

double zz = 0;
double zi_0[];
double zi_1[];
double zi_2[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   ArraySetAsSeries(zi_0,  true);
   ArraySetAsSeries(zi_1,  true);
   ArraySetAsSeries(zi_2,  true);
   zz = iCustom(_Symbol,PERIOD_CURRENT,"Examples\\ZigZag",ExtDeviation,ExtDeviation,ExtBackstep);
   
   CopyBuffer(zz,0,0,10,zi_0);
   CopyBuffer(zz,1,0,10,zi_1);
   CopyBuffer(zz,2,0,10,zi_2);
   
  
  for(int i = 0; i < 10; i++)
     {
       Print(i,"  ",zi_0[i]);
     }
   
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {

   
  }
//+------------------------------------------------------------------+


 
Nikita Chernyshov:

No puedo entender qué tipo de tonterías da el indicador. Quiero comprobar cuáles de las siguientes 10 velas tienen picos en zigzag, en las mismas velas quiero destacar sólo los máximos y también sólo los mínimos. Sé que en el buffer 0 todos los picos locales, en el 1 - hai, en el 2 - los bajos.

¿Cuál es el problema aquí? No lo entiendo. He comprobado la configuración de los indicadores en el gráfico y los que paso a la llamada: son los mismos. Imprimo sólo el buffer principal cero para comprobar si funciona.


En el búfer "0" los picos = valores de pico, o "0". "0" son aquellas barras que no son picos.

 

Buenas tardes.

La cuestión es la siguiente. Cuando trabajo en el Probador de Estrategias, el Asesor Experto guarda la información necesaria sobre las posiciones en un archivo. El archivo se guarda en la carpeta
"<carpeta_terminal>\Nde_probador>\Nnombre_del_agente_de_prueba>\MQL5\Files\........".

Más tarde quiero utilizar el mismo archivo de datos sólo en el gráfico (NO en el probador). El terminal permite trabajar con archivos de la carpeta

"<carpeta_terminal>\MQL5\Files\.....".

¿Es posible que el código MQL5 arrastre los archivos cargados por el Asesor Experto a la carpeta "<Carpeta_terminal>\Tester\N y <nombre_del_agente_de_prueba>\MQL5\Files "? ¿O estas áreas están estrictamente separadas entre el Probador de Estrategias y el trabajo habitual?

No he podido escribir todo desde el Probador de Estrategias a "<Carpeta_Terminal>\MQL5\Files\" ni copiarlo con el métodoFileMove.

 
satorifx:

Buenas tardes.

La cuestión es la siguiente. Cuando trabajo en el Probador de Estrategias, el Asesor Experto guarda la información necesaria sobre las posiciones en un archivo. El archivo se guarda en la carpeta
"<carpeta_terminal>\Nde_probador>\Nnombre_del_agente_de_prueba>\MQL5\Files\........".

Más tarde quiero utilizar el mismo archivo de datos sólo en el gráfico (NO en el probador). El terminal permite trabajar con archivos de la carpeta

"<carpeta_terminal>\MQL5\Files\.....".

¿Es posible que el código MQL5 arrastre los archivos cargados por el Asesor Experto a la carpeta "<Carpeta_terminal>\Tester\N y <nombre_del_agente_de_prueba>\MQL5\Files "? ¿O estas áreas están estrictamente separadas entre el Probador de Estrategias y el trabajo habitual?

No he podido escribir todo desde el Probador de Estrategias a "<Carpeta_Terminal>\MQL5\Files\" ni copiarlo con el métodoFileMove.

Escribir en la carpeta compartida para todos los terminales( banderaFILE_COMMON)
Razón de la queja: