Ayuda a la codificación - página 301

 
sunshineh:
Hola,

Estoy utilizando las funciones de archivo y funcionan bien.

Estoy utilizando archivos bastante grandes y estoy trabajando con un bucle for.

En cada ciclo estoy leyendo una línea del archivo. Así que a veces quiero cambiar una palabra en una de estas líneas.

¿Hay alguna manera fácil de hacerlo? Si cierro el archivo para la lectura y lo abro para la escritura, entonces mi puntero de archivo va al final del archivo.

¿Pero hay alguna posibilidad de obtener la posición real del puntero del archivo? Para poder escribir directamente, por ejemplo, en la mitad del archivo.

No hay una manera fácil si las líneas no son de tamaño fijo (entonces tienes que reescribir todo el archivo)

Si las líneas son de tamaño fijo utilice FileSeek(fileHandle,lineSize*(numberOfLine-1),SEEK_SET); y luego escriba los cambios en esa línea específica

 

Perdona si repito mi mensaje...pero es importante para mi.... necesito ejemplo de código:

Hola Mladen,

Me gustaría pequeño indicador que, en 5 min marco de tiempo, me muestra cuando Stoc 5-3-3 es inferior a 20 en 15 min marco de tiempo.

No quiero stoc multitimeframe....pero señal de marco de tiempo superior en tf inferior.

Gracias de antemano

 

Hola Mladen ,

Quiero exportar los valores nrp no lag ma a un archivo CSV. Los colores rojo (tomate) deben ser negativos y los azules deben ser valores positivos... Gracias.

 
nevar:
Hola Mladen , quiero exportar los valores de non lag ma nrp a un archivo CSV.Los colores rojos(tomate) deben ser negativos y los azules deben ser valores positivos... Gracias.

nevar

Aquí hay un script que hace eso : export_nonlag_ma_data.mq4

Necesitas el "NonLag ma nrp nmc" de este post en la carpeta de indicadores también : https://www.mql5.com/en/forum/general

Archivos adjuntos:
 
mladen:
AZRUL

No estás suministrando el valor que quieres buscar en la línea 180 (esta línea :

int ranking = rank();

por lo que la función rank no puede comparar con ningún valor. Su llamada debe ser de la siguiente forma :

int ranking = rank(algúnValorParaRanking);

Estimado SIR MLADEN,

He intentado obtener el ranking de la salida Total de mi Indicador para hacer un RANK en Orden Ascendente pero no lo consigo... Solo he obtenido 2 salidas y solo una de ellas es correcta.. ( creo que sí..) y el resto (5 más) es (0) cero......

He intentado todo lo que se me ha ocurrido y se me están acabando las ideas sobre cómo producir un código para clasificarlos en orden ya sea ascendente o descendente estaría bien.... ¿podría ayudarme por favor.........

Su tiempo y experiencia es siempre apreciado y necesario.......

su servidor

AZRUL...

Archivos adjuntos:
 
12BPRO:
Estimado SIR MLADEN,

He intentado obtener el ranking de la salida Total de mi Indicador para hacer un RANK en Orden Ascendente pero no lo consigo... Sólo tengo 2 salidas y sólo una de ellas es correcta.. ( creo que sí..) y el resto (5 más) es (0) cero......

He intentado todo lo que se me ha ocurrido y se me están acabando las ideas sobre cómo producir un código para clasificarlos en orden ya sea ascendente o descendente estaría bien.... ¿podría ayudarme por favor.........

Su tiempo y experiencia es siempre apreciado y necesario.......

su servidor

AZRUL...

12BPRO

Creo que ya te lo he dicho: tienes que hacer una clasificación/ordenación bidimensional (ya que tienes un valor+nombre de símbolo en cada par que quieres mostrar) No es suficiente con ordenar sólo los valores ya que así pierdes los nombres de los símbolos tienes que hacer un procedimiento de ordenación propio que mueva el nombre del símbolo también al lugar correspondiente cuando el valor se mueva a su lugar

 
mladen:
12BPRO Creo que ya te lo he dicho: tienes que hacer una clasificación/ordenación bidimensional (ya que tienes un valor+nombre de símbolo en cada par que quieres mostrar) No es suficiente con ordenar sólo los valores ya que así pierdes los nombres de los símbolos tienes que hacer un procedimiento de ordenación propio que mueva el nombre del símbolo también al lugar correspondiente cuando el valor se mueva a su lugar

Estimado SIR MLADEN,

He probado este código mediante la adición de procedimiento de ordenación y es la indicación de algún valor ... por desgracia parece haber perdido el último valor de la matriz (TOTCAD) ... ¿podría usted por favor echar un vistazo ...

Estoy muy2 lo siento, no soy un programador .... no entiendo mucho ... mi querido GURU..... Estoy haciendo mi mejor esfuerzo para aprender esto......

Su tiempo y experiencia es siempre apreciado y necesario.......

su servidor

AZRUL...

Archivos adjuntos:
 
12BPRO:
Estimado SIR MLADEN,

He probado este código mediante la adición de procedimiento de ordenación y está indicando algún valor ... por desgracia, parece haber perdido el último valor de la matriz (TOTCAD) ... ¿podría echar un vistazo ...

Estoy muy2 lo siento, no soy un programador .... no entiendo mucho ... mi querido GURU..... Estoy haciendo mi mejor esfuerzo para aprender esto......

Su tiempo y experiencia es siempre apreciado y necesario.......

su servidor

AZRUL...

AZRUL

Aquí hay una rutina de ordenación que ordena arrays de 2 dimensiones :

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}

Llenar el array PR con vlues y algún tipo de marca para un símbolo (por ejemplo PR[0,0] = valor para eur, PR[0,1] = 1 (lo que significaría que 1 es una marca para EUR). A continuación se llama al procedimiento SortIt() y se leen los valores y sus correspondientes marcas para los símbolos (por ejemplo se obtendría PR[5,1] == 1 (1 significa EUR) lo que significaría que el valor PR[4,0] es el valor de EUR)

 
mladen:
AZRUL

Aquí hay una rutina de ordenación que ordena arrays de 2 dimensiones :

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

// 2 dimenzional array shell sort

//

//

//

double PR[][2];

void SortIt()

{

int size ArrayRange(PR,0);

int i,j,increment = size / 2;

double temp,temi;

//

//

//

//

//

while (increment > 0)

{

for (i = increment; i < size; i++)

{

j = i;

temp = PR;

temi = PR;

while ((j >= increment) && (PR[j-increment,0] < temp))

{

PR[j,0] = PR[j-increment,0];

PR[j,1] = PR[j-increment,1];

j = j-increment;

}

PR[j,0] = temp;

PR[j,1] = temi;

}

if (increment == 2) increment = 1;

else increment = (increment / 2.2);

}

}
Llena el array PR con vlues y algún tipo de marca para un símbolo (por ejemplo PR[0,0] = valor para eur, PR[0,1] = 1 (lo que significaría que 1 es una marca para EUR). Se llama al procedimiento SortIt() y se leen los valores y sus correspondientes marcas para los símbolos (por ejemplo se obtendría PR[5,1] == 1 (1 significa EUR) lo que significaría que el valor PR[4,0] es el valor de EUR)

Querido SIR MLADEN,

MUCHAS GRACIAS SIR(GURU).... usted es mi HERO Y .... 6to. Crédito...

Me encanta este foro tanto.... gracias a los GURU aquí....

Esto sería beneficioso para otros también....

GRACIAS SIR....

su servidor

AZRUL...

 
mladen, mrtool...

need help to modify/add color changing rule by 2 moving averange (MA period 8 n MA period 24).

si MA8 > MA24, histo color=verde.

si MA8 < MA24, histo color=rojo.

aquí está el enlace del indicador: https: //www.mql5.com/en/code/download/7992/BW_MFI.mq4

todavía estoy esperando... ya he intentado por mi mismo (antes de publicar esta solicitud), pero no buen resultado, necesita más búferes? o porque no soy codificador / falta de habilidad de codificación. sólo quiero saber si es posible combinar BW MFI con otro indic's.