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

 
Alexey Viktorov:

¿De dónde se sacan estos programadores?

Todo esto es una absoluta tontería. Dónde enviar a ese programador, espero que lo entienda.

Bueno, por si acaso, para que no te lo pierdas, aquí tienes una indicación


Unas pocas personas - y todo el mundo empieza a averiguar si tengo una cuenta de cobertura o de red. Les digo que necesito un asesor universal y me contestan:

"La tarea consiste en colocar varias órdenes sobre un símbolo. En algunas cuentas se sumarán, en otras no. Todo encajará en una posición y el resultado futuro es desconocido (si los Asesores Expertos no están diseñados para ello, claro). Si cierro o abro a trozos, el beneficio será muy diferente del que sería individualmente.

He dicho que me da igual cómo se implemente, siempre que el algoritmo sea el descrito en la tarea. Discutimos durante varias horas en un acalorado intercambio, pero finalmente acordamos que yo era un pésimo cliente y que no sabía lo que quería...

Cuando me dirigí a los demás progresistas, volví a recibir las mismas preguntas: cobertura y red. Dije "Universal" y la respuesta fue: "Vete al infierno si no sabes lo que quieres".

 
Artyom Kuraev:

Algunas personas - y todo el mundo empieza a preguntar si tengo una cuenta de cobertura o de compensación. Digo que necesito un EA universal y obtengo la respuesta:

"La tarea consiste en colocar varias órdenes sobre el mismo símbolo. En algunas cuentas se sumarán, en otras no. Todo encajará en una posición y el resultado futuro es desconocido (si los Asesores Expertos no están diseñados para ello, claro). Si cierro o abro a trozos, el beneficio será muy diferente del que sería individualmente.

He dicho que me da igual cómo se implemente, siempre que el algoritmo sea el descrito en la tarea. Discutimos durante varias horas en un acalorado intercambio, pero finalmente acordamos que yo era un pésimo cliente y que no sabía lo que quería...

Cuando me dirigí a los otros progresistas, volví a recibir las mismas preguntas: cobertura y red. Yo digo "universal" y la respuesta es: "vete al infierno si no sabes lo que quieres".

Tal vez esa no era la palabra correcta. En efecto, en las cuentas de compensación se suman las posiciones abiertas. Pero si uno está interesado sólo en una contabilidad de posiciones como en MT4, entonces uno debe tener una cuenta de compensación.

Todo lo demás, el magik, la enumeración de posiciones y órdenes, la determinación de si un EA está abierto o abierto manualmente por otro EA, todo se resuelve a la vez.

 
Alexey Viktorov:

Probablemente no sea lo más adecuado. Es cierto que en las cuentas de compensación se suman las posiciones abiertas. Pero si sólo está interesado en la contabilidad de posiciones como en MT4, entonces una cuenta hadge es un requisito previo.

Todo lo demás, magik, enumeración de posiciones y órdenes, detección de posiciones abiertas por un EA o por otro EA, todo esto se resuelve de una vez.

Sí, se suman. Pero eso no significa que sea imposible obtener información sobre la orden requerida y aplicar la contabilidad y el cierre correctos de la orden requerida en un momento dado, ¿verdad?
 
Artyom Kuraev:

... - La respuesta es "vete a la mierda si no sabes lo que necesitas".


Respuesta absolutamente adecuada y correcta. Y eso hasta que se entiende la diferencia entre una cuenta de compensación y una cobertura.

Te doy el 99% que te da pereza leer(MetaTrader 5 ha añadido un sistema de contabilidad de cobertura para las posiciones), así que intenta reescribir tu tarea teniendo en cuenta eso:

AcciónResultado de la compensaciónResultado Cobertura
1.Comprar EURUSD 0.01Una posición Comprar EURUSD 0.01 loteUna posición Comprar EURUSD 0.01 lote
2.Comprar EURUSD 0,01Una posición Comprar EURUSD 0.02 loteDos puestos:
Comprar una posición de 0,01 lotes de EURUSD

Una posición Comprar EURUSD 0.01 lote

3 Vender EURUSD 0,01Una posición Comprar EURUSD 0.01 loteTres posiciones:

Una posición Comprar EURUSD 0.01 lote

Una posición Comprar EURUSD 0.01 lote

una posición de venta de 0,01 lotes de EURUSD

 
Vladimir Karputov:


Respuesta absolutamente adecuada y correcta. Eso es hasta que entiendas la diferencia entre una cuenta de compensación y una cobertura.

Te doy el 99% que te da pereza leer(MetaTrader 5 añadió la contabilidad de coberturas), así que intenta reescribir tu tarea teniendo en cuenta eso:

AcciónResultado de la compensaciónResultado Cobertura
1.Comprar EURUSD 0.01Una posición Comprar EURUSD 0.01 loteUna posición Comprar EURUSD 0.01 lote
2.Comprar EURUSD 0.01Una posición Comprar EURUSD 0.02 loteDos puestos:
Comprar una posición de 0,01 lotes de EURUSD

Una posición Comprar EURUSD 0.01 lote

3 Vender EURUSD 0,01Una posición Comprar EURUSD 0.01 loteTres posiciones:

Una posición Comprar EURUSD 0.01 lote

Una posición Comprar EURUSD 0.01 lote

una posición de venta de 0,01 lotes de EURUSD

Lo entiendo lógicamente, pero en el netting, ¿se borra toda la información de las operaciones abiertas/cerradas de todas partes, que no se puede obtener de ningún sitio y sólo esa parte de una posición total pertenece a este EA? Además, entiendo que colapse varias posiciones en una sola, pero entonces ¿qué pasa con el precio de apertura cuando se añade una posición?
 
Artyom Kuraev:
Lógicamente, lo entiendo, pero ¿se borra toda la información sobre las operaciones abiertas/cerradas de todas partes, por lo que es imposible obtenerla de cualquier parte y cerrar sólo la parte de la posición total, que pertenece a este EA?


Por supuesto, puede obtener operaciones del historial de operaciones y analizarlas. La cuestión es si esto es necesario.

Artyom Kuraev:
... Además, entiendo que colapse varias posiciones en una, pero ¿qué ocurre con el precio de apertura en el momento de añadir una posición?

La compensación da el precio medio final, que depende del precio y el volumen de la posición y del volumen que se añada. En ese caso, lo mejor es operar manualmente con la red. O mejor: si está acostumbrado a trabajar con un sistema de órdenes en su antiguo terminal, entonces en sus requisitos de MetaTrader 5 debería indicar explícitamente que quiere un robot para un sistema de cobertura.

 

Ayuda con la carga del historial, por favor.

Hay una serie de símbolos de carta abierta, puede haber hasta 30 piezas. El problema es que cuando se cambia de marco temporal de forma sincronizada, no hay historial, y mientras se carga, el indicador "cae"

Este diseño no funciona

  ArraySetAsSeries(_open,true);
  for(int i=0; i<ArraySize(mass_id); i++) {
   MassSY=ChartSymbol(mass_id[i]);
    for(int e=0; e<5; e++) {
      if(CopyOpen(MassSY,Period(),0,(int)ChartGetInteger(0,CHART_WIDTH_IN_BARS,0)+1,_open)>=ChartGetInteger(0,CHART_WIDTH_IN_BARS,0)) continue;
    }
  }

Adjunto video para mayor claridad


Gracias.

 
Vitaly Muzichenko:

Ayuda con la carga del historial, por favor.

Hay una serie de símbolos de carta abierta, puede haber hasta 30 piezas. El problema es que cuando se cambia de marco temporal de forma sincronizada, no hay historial, y mientras se carga, el indicador "cae"

Este diseño no funciona

Adjunto video para mayor claridad


Gracias.


Vitaly, mira en https://www.mql5.com/ru/docs/series/timeseries_access#synchronized, hay un script de ejemplo para cargar el historial, quizás te ayude
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Sergey Gritsay:

Vitaly, echa un vistazo a https://www.mql5.com/ru/docs/series/timeseries_access#synchronized, hay un ejemplo de un script para cargar el historial, puede que te ayude.
He luchado con este guión... No ayuda. Aunque, tal vez hice algo mal o hubo algunos errores en la construcción, después de mis torturas, hubo muchas quejas (no las mías) a esta construcción.
 
Vitaly Muzichenko:

Ayuda con la carga del historial, por favor.

Hay una serie de símbolos de carta abierta, puede haber hasta 30 piezas. El problema es que cuando se cambia de marco temporal de forma sincronizada, no hay historial, y mientras se carga, el indicador "cae"

Este diseño no funciona

Adjunto video para mayor claridad


Gracias.

Intenta hacer un ciclo de todos los símbolos/marcos de tiempo necesarios a través del temporizador de minutos (Bars( symbol, timeframe );)
Razón de la queja: