[¡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 1057

 
eddy:

Cambio la declaración int Pos[k] a double Pos[k] - sale 33.00000000, ¿por qué int array no funciona?


eddy:
bueno el único punto lógico de su post es que asumió que no había leído el libro de texto

Si lo leyeras, sabrías QUÉ


En las expresiones MQL4, sólo se utilizan conversiones de tipo implícitas. Los tipos se priorizan en orden ascendente durante la conversión:

int (bool,color,datetime); double; string;

Antes de las operaciones (excepto las operaciones de asignación), se realiza una conversión al tipo con mayor prioridad, y antes de las operaciones de asignación - al tipo de destino.

Ejemplos:

int i = 1 / 2; // no hay conversión de tipo, resultado: 0 int i = 1 / 2.0; // la expresión se convierte a tipo double, luego se convierte a tipo target int, resultado: 0 double d = 1 / 2; // la expresión de tipo int se convierte a tipo target double, resultado: 0.0 double d = 1.0 / 2.0; // no hay conversión de tipo, resultado: 0.5 double d = 1 / 2.0; // la expresión se convierte al tipo double, que coincide con el tipo de destino, resultado: 0.5 string s = 1.0 / 8; // la expresión se convierte al tipo double, luego se convierte al tipo string de destino, resultado: "0.12500000" (cadena que contiene 10 símbolos) string s = NULL; // la constante de tipo int se convierte en la cadena de tipo objetivo, el resultado: "0" (cadena que contiene un símbolo) string s = "Ticket #"+12345; // la expresión se convierte en la cadena de tipo, que coincide con el tipo objetivo, el resultado: "Ticket #12345".

La conversión de tipos se aplica no sólo a las constantes, sino también a las variables de distintos tipos.

 
¿Qué tiene que ver la conversión de tipos si asigno un int-valor a un int-array y utilizo int-variables en los cálculos?
 

eddy:

el RSI estándar de la base del código, que es la relación entre la media de los cambios positivos y la media de los cambios negativos, no es el mismo

el RSI real y original, que es la relación entre la suma de los cambios positivos y la suma de los cambios negativos.

aunque no pretendo que mi versión sea la correcta, aunque la conozco y entiendo desde hace años, a diferencia de la del código base.

creo que todos los que llevan mucho tiempo en el mercado saben que rsi es sumpos/sumneg*100

>
 
eddy:

¿Qué tiene que ver la conversión de tipos si asigno un int-valor a un int-array y utilizo int-variables en los cálculos?

  Alert(Pos[k],"=("+vol+"-"+telo+")/2"); 
//выводит 0=(72-6)/2
estás dividiendo el int-.... y eso es
int i = 1 / 2; // sin conversión de tipo, resultado: 0
 

Divido un número par entre 2. Y divido un int entre un int.

resulta que el búfer del indicador sólo puede ser doble

 
¿se puede reinstalar el terminal dejando todo como está (gráficos, etc.), si es así cómo?
 
sufrir... - no conseguirás nada
 
buena gente ya me lo ha explicado)
 
Aleksander:

estás compartiendo el int.... y esto.

int i = 1 / 2; // sin conversión de tipo, resultado: 0
Estaba dividiendo int 66 por int 2 ... Así que... Y el hombre mismo entendió los topes de los indicadores, y esto dice mucho sobre quién y qué, y dónde brilla, y quién sólo se jacta de su "conocimiento". No seas tan obvio en tu ignorancia y grosería en el trato con la gente ... Y algo brillará para ti.
 
eddy:
¿Puedo reinstalar el terminal pero dejar todo como está (gráficos, etc.), si es así, cómo?


Al igual que la reinstalación de Windows, guarda todos tus "preciados" archivos y reinstala MT4 al menos cada día.

Si esta opción le parece complicada (no sabe qué archivos debe guardar), pruebe otra forma:

Cambie el nombre de la carpeta con la MT4 de hoy a, por ejemplo, "ARCHIVO" e instale una nueva copia de MT4. Posteriormente, desde la carpeta "ARCHIVE", arrastrarás y soltarás los archivos que necesites en la nueva MT4 y los pondrás en las carpetas correspondientes.

Todo es muy sencillo.