[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 230

 

¡Buenos días!

Mi pregunta es muy sencilla: cuando se accede al buffer de indicadores como un array (de manera que el primer elemento tiene índice 0), ¿se debe llamar a ArraySetAsSeries en cada iteración - o es suficiente una llamada a esta función, por ejemplo, en init()?

 
betmen >> :

Para ello estoy utilizando el siguiente código:


bool Barra_de_funcionamiento()
/*
está diseñada para detectar si hay una nueva barra,
en caso contrario, devuelve "false".
===========
Variables:
===========
Test_Time - Tiempo de prueba
*/
{
static datetime Hora_de_prueba=0;
if(¡Tiempo_de_prueba!=Tiempo[0])
{
Hora_de_prueba=Hora[0];
return(true);
}
return(false);
}


Para mi pregunta, por favor, ayuden a quien lo sepa o díganme si no es posible... Llevo 3 días buscando una respuesta y hasta ahora no ha habido suerte. :-(




Muchas gracias. Ayudó.
 
betmen >> :

Usted ofrece iniciar un exe compilado desde otro IDE durante la inicialización, como alternativa, es realmente posible ejecutar un archivo exe durante la inicialización, pero entonces hay otro problema - ¿cómo pasar datos del programa en variables del propio indicador?

Por ejemplo, ¿cómo transferir el valor de combobox1.text convertido en un número a MA_Method?

No es estéticamente agradable a través de archivo, y MetaTrader y "test.exe" creado por mí no tienen espacio de memoria común.

No. Yo no lo sugeriría :-). Esto es bastante complicado. Hablaba de Dll, lo describí con más o menos detalle.

Las cadenas se pasan. Sólo te estoy dando una advertencia. Los números se pasan sin ningún problema.

En metatrader se importa así: get(int & to[]), en C se explica por get(int * to). Encuentra un ejemplo.

 
xp3rienced >> :

¡Buenos días!

Mi pregunta es muy sencilla: cuando se accede al buffer de indicadores como un array (de manera que el primer elemento tiene el índice 0), ¿se debe llamar a ArraySetAsSeries en cada iteración - o es suficiente una llamada de esta función, por ejemplo, en init()?

Sólo hay que poner los datos. Si ya es un buffer indicador (SetIndexBuffer) - no es necesario hacer nada.

¿Por qué surgió la pregunta? :-)

 
jartmailru >> :

Sólo tienes que introducir los datos allí. Si ya es un buffer indicador (SetIndexBuffer)- no es necesario hacer nada.

¿Por qué surgió la pregunta? :-)


Simplemente lo hago. Sí, el array es un buffer indicador. Y necesito que se trate como un array, cuando el primer elemento tiene un índice cero. ¿O quiere decir (por "no hacer nada"), que ese direccionamiento, para los búferes de índice, es el predeterminado?

La pregunta surgió porque necesito llenar el buffer de "pasado" a "futuro", y no sé si el modo de direccionamiento del array se restablece, y si lo hace, en qué circunstancias. Eso es todo)

 
xp3rienced >> :

¿O estás diciendo (con "no hacer nada") que este direccionamiento, para los buffers de índice, es el predeterminado? o_O

Sí. Estarás bien.

 
jartmailru >> :

>> Sí. Todo va a salir bien.


>> Muchas gracias.
 
jartmailru >> :

No. No estoy sugiriendo :-). Es bastante complicado. Yo hablaba de Dll, lo escribí más o menos en detalle.

Las cadenas se pasan. Sólo te estoy dando una advertencia. Los números se pasan sin problemas.

Metatrader los importa de esta manera: get(int & to[]), mientras que C explica get(int * to). Encuentra un ejemplo.

Gracias, seguiremos investigando...

 
También hay una pregunta. El indicador puede tener más barras que en el gráfico actual, y en esta situación: hay nuevos valores en la matriz de índices, pero las barras no aparecen en el indicador. ¿Cómo solucionarlo? Sin recalcular completamente y redimensionar la matriz de índices, preferiblemente :)
 
Colegas, ¿qué puede significar el error 130 al intentar fijar un retraso? Tengo que comprobar la distancia mínima antes de colocar el péndulo. Entiendo que no todos sois videntes, supongamos que mantengo la minidistancia al 100%, en este caso ¿qué otra cosa podría ser la causa del error 130?