Errores, fallos, preguntas - página 291

 
Interesting:

Por cierto, los desarrolladores deberían añadir a la biblioteca estándar una funcionalidad para CPositionInfo, que rellene automáticamente el array de ofertas para la posición seleccionada al menos (aún no existe).

Las clases C...Info fueron "afinadas" para acceder a la información como una "envoltura" de las funciones MQL.

Está previsto desarrollarlos en el futuro para utilizarlos como almacenes de datos.

 
Valmars:

Pero existe la función HistorySelectByPosition(), que hace lo mismo, lo único que necesitamos es conocer el identificador de posición. Y permite obtener el historial tanto de las posiciones existentes como de las ya cerradas. ¿Qué devolverá el método propuesto ? ¿Una serie de acuerdos sobre la posición existente, o toda la historia del símbolo? Y si no hay posición en este momento, ¿qué va a devolver?


Por supuesto, muchas cosas se pueden resolver a "bajo nivel", pero quiero tener una solución en una biblioteca estándar.

Y la función devolverá el número de tratos que formaron la posición (que participaron en el proceso), y al mismo tiempo llenará el array de entradas para estos mismos tratos.

Ante cualquier error, devolverá 0. No he visto algo así en la biblioteca estándar (quizás no he buscado lo suficiente).

Por supuesto, esto es sólo una sugerencia, porque nadie va a prohibir a escribir el descendiente de la clase estándar y hacer allí cualquier cosa y cómo usted quiere.

tíoVic:

En el futuro estamos planeando desarrollarlos para utilizarlos como almacenes de datos.

Eso está bien, en cierto modo.
 
Valmars:
El tiempo de apertura de la posición es siempre uno, y puede haber muchos cambios de volumen (y/o dirección) de la posición durante su existencia, y ¿qué quieres obtener el array completo de tiempo de cambio de volumen de la posición con el método estándar de la biblioteca? El cambio de volumen es siempre el resultado de una operación, por lo que hay que analizar el historial de operaciones de una determinada posición, y ahí se refleja el momento de una operación. Si necesita la hora del último cambio de posición, debe encontrar la última operación de la posición en el historial, y buscar lo que es igual a DEAL_TIME para ello.
Me refería a la hora del último cambio y la obtengo con la ayuda del método de la biblioteca estándar.
 

Señores profesionales, ayúdenme a entender algo

He encontrado un int estático Recount[] en Code Base 9 en Multik (EA multidivisa), pero además esta matriz toma

verdadero o falso ---- es un error o no y una cosa más: cuando este EA multidivisa se adjunta al gráfico del EUR, las cotizaciones de otras divisas Puedo hacer lo que quiera con ellos.

Gracias de antemano Vladimir

 
fvdtrejder:

Señores profesionales, ayúdenme a entender algo

En la página de Code Base 9 Multik (EA multidivisa) en el programa está escrito static int Recount[] y luego este array toma

verdadero o falso ---- es un error o no y otra pregunta es si el EA multidivisa se adjunta al gráfico del EUR y a las cotizaciones de otras divisas Puedo hacer lo que quiera con ellos.

Gracias de antemano Vladimir

Probablemente sólo valores booleanos convertidos a 1 o 0. Personalmente no veo un gran problema (probablemente el autor se sentía cómodo con ello).

Todos los símbolos y sus parámetros en este EA están codificados.

Con cada tick del símbolo del "gráfico de trabajo", el Asesor Experto recibe señales para los 12 símbolos e intenta operar de acuerdo con estas señales.

De un símbolo concreto, según entiendo, sólo depende la frecuencia de los ticks, es decir, la frecuencia de disparo de OnTick().

 
Interesting:

Lo más probable es que los valores booleanos sólo se conviertan en 1 o 0. Personalmente no veo un gran problema (probablemente, era conveniente para el autor).

Todos los símbolos y sus parámetros en este EA están codificados.

Con cada tick del símbolo del "gráfico de trabajo", el Asesor Experto recibe señales para los 12 símbolos e intenta operar de acuerdo con estas señales.

Según tengo entendido, sólo la frecuencia de los ticks depende de un símbolo concreto, es decir, la frecuencia de activación de OnTick().

No he encontrado en el programa dónde se convierten las expresiones booleanas a 1 o 0, o quizás he entendido algo mal.

Y gracias por el resto

 
fvdtrejder:

Cuando este EA multidivisa se adjunta a un gráfico de euros, por ejemplo, las cotizaciones de otras divisas siguen fluyendo en este programa y puedo hacer cualquier cosa con ellas, ¿qué significa adjuntar físicamente el EA a un instrumento específico?

Adjuntar "físicamente" un EA a un gráfico específico simplemente inicia el EA. Por lo que entiendo, la necesidad de adjuntar un EA que opere en diferentes instrumentos a un solo gráfico debe ser vista como un atavismo, soportado conceptualmente en esta etapa de desarrollo de la plataforma.

 
fvdtrejder:

lo que se gana con la vinculación física de un EA a un determinado instrumento

Si hablamos específicamente de los EAs multidivisa, aquí se describen algunas características.
 
Yedelkin:

"Adjuntar físicamente un EA a un gráfico específico simplemente hace que ese EA se ejecute. Por lo que entiendo, la necesidad de adjuntar un EA que opere en diferentes instrumentos a un mismo gráfico debe ser vista como un atavismo, soportado conceptualmente en esta etapa de desarrollo de la plataforma.

¿Puedo escribir Recount[Number] =false después de describir el array static int Recount [] en el programa
 
fvdtrejder:

No he encontrado en el programa dónde se convierten las expresiones booleanas a 1 o 0, ¿o estoy entendiendo algo mal?

Y gracias por el resto.

La idea es convertir automáticamente, verdadero es 1, falso es 0.