Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 69

 

¡Hola!

Por favor, explique a los que tienen más experiencia, ¿por qué necesito usar la función NormalizeDouble "en todos los valores calculados"? He escrito una docena de EAs, he prescindido de ella en todas partes. Todo funciona. Y ahora he hojeado el libro de texto y me he encontrado con algunos ejemplos, y no entiendo su lógica. He aquí un ejemplo:

si (NormalizeDouble(SL,Digits)<NormalizeDouble(Bid-TS*Point,Digits))
{
SL=Oferta-TS*Punto;
string Text="Buy"; // Texto para Buy
Modify=true; // Asignado a modify.
}

¿Por qué necesita NormalizeDouble aquí? , funciona bien incluso sin él. Puede escribir el código de esta manera:

Si(SL<Oferta-TS*Punto)
{
SL=Oferta-TS*Punto;
string Text="Comprar "; // Texto para comprar
Modify=true; // Asignado a modificar.

}

Y obtendrá el mismo resultado.

Entonces, ¿qué sentido tiene? ¿Por qué debo redondear algo si mi ecuación tiene un signo (<) en lugar de (==)?

 
su derecho
 

Buenas tardes.

Ayúdame.

dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

El código encuentra la distancia del nivel de precio actual a la tendencia según TrendLineName. Pero hay un problema: aparentemente la tendencia se transmite de forma inexacta entre mitades, por lo que la distancia al precio es diferente para diferentes mitades. ¿Cómo se puede evitar este problema? Idealmente, incluso si la línea de tendencia se muestra sólo en H1, en el tiempo de apertura W1 (de hecho en cualquier tiempo de apertura) la distancia calculada debería ser la misma.

 
MauzerVII:
¿Cuál es el número máximo de elementos de una matriz?
10 000 000
 
Si no hay comparación de igualdad, no hay que preocuparse. La normalización también es necesaria al fijar los precios y los lotes en las funciones de apertura y modificación.
 
Hola, hace poco empecé a estudiar mql4, ahora estoy desarrollando un EA sobre 4 índices. El código compila, pero en el probador no funciona, es decir, no hay resultados. Por favor, ayúdenme a corregir un error lógico o de otro tipo, aquí está parte del código, ya que creo que el problema puede estar en los índices de la línea del indicador, gracias de antemano
 // Торговые критерии
   FT_t=iCustom(NULL, 0, "ForexTrend", 1, 0);                       // forex trend если что менять индекс на 2 или 3
   TL_t=iCustom(NULL, 0, "TrendLord", 1, 0);                          // trend lord
   HA_t=iCustom(NULL, 0, "Heiken_Ashi_Smoothed", 1, 0);               // heiken ashi sm. менять индекс на 2-3
   FI_t=iForce(NULL, 0, Period_FI,MODE_EMA,PRICE_CLOSE,0);            // FI

   {
   if ((HA_t == Lime) && FT_t == DeepSkyBlue && TL_t == LightSkyBlue && FI_t >= 0)   // условия 
   {
   Opn_B=true;
   }
   if (HA_t == Red || FT_t == Red || TL_t == LightSalmon || FI_t <= 0)
   {
   Cls_B=true;
   }
   }
   {
   if (HA_t == Red && FT_t == Red && TL_t == LightSalmon && FI_t <= 0)
   {
   Opn_S=true;
   }
   if (HA_t == Lime || FT_t == DeepSkyBlue || TL_t == LightSkyBlue || FI_t >= 0)
   {
   Cls_S=true;
   }
   }
 
bistreevseh:
Hola, acabo de empezar a aprender mql4, actualmente estoy desarrollando un Expert Advisor con 4 índices. He comenzado el desarrollo de un Asesor Experto mql4 con 4 indicadores. El código compila bien, pero en el Probador de Estrategias no funciona, es decir, no tengo resultados. Por favor, ayúdenme a corregir un error lógico o de otro tipo, aquí está parte del código, ya que creo que el problema puede estar en los índices de la línea del indicador, gracias de antemano

Está comparando el valor del búfer con el color en el que se muestra el búfer.

Levante la vista hacia la parte superior del sitio: hay material más que suficiente para, al menos, entender lo básico.

 
bistreevseh:
Hola, acabo de empezar a aprender mql4, actualmente estoy desarrollando un Expert Advisor con 4 índices. El código compila bien, pero no funciona en el probador, es decir, no hay resultados. Por favor, ayúdame a arreglar un error lógico o de otro tipo, parte del código aquí, creo que el problema puede estar en los índices de la línea del indicador, gracias de antemano.


Por curiosidad, ¿tienes estos índices con más de una línea? Usas el segundo en todas partes, ¿es así como debe ser?

Y sobre el probador, ¿qué modo utilizas?

Y sobre el código, estás comparando números fraccionarios sin normalizar. La igualdad será difícil de conseguir.

 

¿Cómo puedo mostrar un indicador en el gráfico diario para el que la señal se calcula basándose en la lectura de la EMA de 15 minutos?

 
VladislavVG:

Está comparando el valor del búfer con el color en el que se muestra el búfer.

Levante la vista hacia la parte superior del sitio: hay material más que suficiente para, al menos, entender lo básico.


Pido disculpas por las tonterías escritas arriba, acabo de empezar a estudiar, es difícil ponerse a ello de inmediato. He estado estudiando durante todo un día y he entendido lo de los topes. Tengo un indicador personalizado, es un histograma, todos los valores son máximos, sólo importa el color de las barras en el histograma, no tiene parámetros de entrada, los búferes 2: 0 - con la barra roja, y 1 - barra azul, el método imperial, me encontré con que en el búfer 0 no cambia el valor, y 1 lo hace. Como escribir los criterios de la transacción no lo entiendo, por favor expliquen como, gracias de antemano.

Roger:


Por curiosidad, ¿tienes estos índices con más de una línea? Usas la segunda línea en todas partes, ¿se supone que es así?

Y sobre el probador, ¿qué modo utilizas?

Y sobre el código, estás comparando números fraccionarios sin normalizar. La igualdad sería difícil de conseguir.

Después del post de arriba, creo que no hay más preguntas)) sobre el probador, no se entiende realmente, con o sin visual?