Errores, fallos, preguntas - página 3130

 
Alexey Viktorov #:

No entiendo este código en absoluto.

¿Qué significa la & resaltada en este código? ¿Y en qué bucle debe ejecutarse if(h_plus)? ¿No te faltaron soportes curvos?

MQL bool es verdadero si es mayor que 0, en otros lenguajes un valor booleano es verdadero sólo si == 1

 
Alexey Viktorov #:

No entiendo este código en absoluto.

¿Qué significa la & resaltada en este código? ¿Y en qué bucle debe ejecutarse if(h_plus)? ¿No te falta ningún soporte curvo?

 bool h_plus=true; //false?
   for(int increment=1; increment<=n; increment++)
      h_plus&=high[i]>high[i+increment];
   if(h_plus) {...}
   ...


 
x572intraday #:

De hecho, me encontré con esta característica por accidente. Eso no es lo que quería...

o

El problema es que n puede ser bastante grande, por lo que quería envolver esta larga cadena de condiciones en una forma compacta para. Lo intenté de esta manera:

pero resultó ser un poco desordenado. Bueno al menos porque h_plus con este algoritmo tendrá que tomar toda la suma de condiciones comprobadas, incluyendo la condición con comprobación de matriz de índices redundante, cosa que no ocurría en el primer if desenvuelto, sin for. Y otros barnices estropean la imagen.

¿Vale la pena considerar esto? ¿Es posible anularlo?

Algo así:

for(int i=start; i<rates_total-3 && !IsStopped(); i++)
{
   bool h_plus=true; //false?
   for(int increment=1; increment<=n; increment++)
     {
      h_plus&=high[i]>high[i+increment];
      if(!h_plus)break;
     }
   if(h_plus) {...}
   ...
}
 
Lilita Bogachkova #:


Operación AND a nivel de bits de las representaciones binarias de y y x y &= x;

https://www.mql5.com/ru/docs/basis/operations/assign

Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
Документация по MQL5: Основы языка / Операции и выражения / Операции присваивания
  • www.mql5.com
Операции присваивания - Операции и выражения - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Lilita Bogachkova #:


¿Qué línea de su instantánea tiene &=

 
JRandomTrader #:

Operación AND a nivel de bits de las representaciones binarias de y y x y &= x;

https://www.mql5.com/ru/docs/basis/operations/assign

Ya veo. No es para los aficionados al bricolaje... Me daba pereza buscar allí...
 
Alexey Viktorov #:

No entiendo este código en absoluto.

¿Qué significa la & resaltada en este código?

Sólo puedo responder por &= inmediatamente:

Guía de referencia MQL5 / Conceptos básicos del lenguaje / Operaciones y expresiones / Operaciones de asignación:

Operación AND de representaciones binarias de y y x y &= x;

similar a la variable acumulativa y:

Aumentar el valor de la variable y en x y += x;


Pero esta es mi primera experiencia en el uso de &=, así que podría estar equivocado.

¿Y en qué bucle debe ejecutarse el if(h_plus)? ¿Se ha perdido los soportes curvos?

No. Primero (por diseño) todas las condiciones lógicas se suman en el h_plus acumulativo dentro del for, y la suma bool resultante se sustituye en el if, que no tiene nada que ver con el for interno.
 
Alexey Viktorov #:

¿Qué línea de su imagen tiene &=

https://stackoverflow.com/questions/33304407/c-meaning-and

C++ meaning |= and &=
C++ meaning |= and &=
  • 2015.10.23
  • Sven van den Boogaart
  • stackoverflow.com
I have a part of code that contains the following functions: I know what a switch case is but I don't understand what these parts do. is an int. The 's also refer to an int value. Could someone explain what these parts do? An example with input values and results would be nice.
 
Lilita Bogachkova #:

Piensas demasiado en mí... Nunca aprendí esta lengua enemiga... así pasó... y ahora es demasiado tarde.

 
JRandomTrader #:

Algo así:

Ya he probado a romper e incluso a volver en caliente, pero sólo ha empeorado las cosas. Intentaré simplificar un poco más el código y repensar con pausa...