[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 79

 
albion:
Pido a todos los expertos que revisen el tema https://forum.mql4.com/ru/38745#429784.

Por favor, empieza a escribir tu propio código y comenta cualquier cosa que no entiendas en este hilo, y no olvides mostrar la parte del código en la que encuentras dificultades
 
drknn:

¿Alguna idea?
 
NameLess:


punto_bajo=NormalizeDouble(iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0),Digits);

wot)


¿Y a qué equivalen los dígitos? Cree una nueva secuencia de comandos en la que escriba sólo una línea:

Print("Дигитс данной валютной пары нормализует до ",Digits," знаков после запятой");
 
drknn:


¿A qué equivalen los dígitos? Cree una nueva secuencia de comandos en la que escriba sólo una línea:


ya lo he comprobado, es correcto( es una constante terminal.
 
drknn:


¿A qué equivalen los dígitos? Cree una nueva secuencia de comandos en la que escriba sólo una línea:


Estoy tratando de encontrar el código fuente de iMA, tal vez la conversión no está funcionando correctamente, porque todos los cálculos vienen de ima, no tengo más ideas((
 
NameLess:

ya lo he comprobado, es correcto( es una constante terminal.

No has respondido a mi pregunta. ¿Cuáles son los dígitos de este par de divisas? Y por cierto, ¿qué tipo de par de divisas es y cuántos decimales tiene y cuántos pips por tick se mueve?
 
drknn:

No ha respondido a mi pregunta. A qué equivalen los dígitos de este par de divisas. Y por cierto, ¿qué tipo de par de divisas es?

Dígitos es 5, es una constante y no puede tomar ningún otro valor. eurobucks
 
NameLess:

dígitos es igual a 5, esta constante no puede tomar un valor diferente. par eurobucks


Inténtalo de otra manera. Escriba lo siguiente en la primera línea de la función de inicio:

string SMB=Symbol();
int DGS=MarketInfo(SMB,MODE_DIGITS);
Print("Дигитс = ",Digits,"  DGS = ",DGS);
string Val="";
Val = iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
double point_low=iBands(NULL,0,50,2,0,PRICE_CLOSE,MODE_LOWER,0);
Print("Val = ",Val,"  point_low до нормализации = ",point_low);
point_low = NormalizeDouble(point_low,5);
Print("point_low после нормализации = ",point_low);
 

¿Quizás el valor allí termina con un cero y este último cero simplemente se descarta en el proceso de normalización? ¿Descartado porque la entrada 0,1 equivale a 0,10 y el cero es mejor descartarlo?

P.D.

Ya sabes, al no tener acceso al terminal y a esas comillas que usas, es problemático entender qué es qué - sólo queda una cosa - los experimentos.

 
drknn:


Inténtalo de otra manera. Escriba lo siguiente en la primera línea de la función Inicio


Gracias. Lo intentaré.