Pregunta sobre la función OrderSelect - página 4

 
boopa26:

static int a; sits above start(){ VALOR GLOBAL

no hay diferencia 1 o 0. verdadero o falso

estoy aumentando el valor a después de que las condiciones surtan efecto


Cuando pides ayuda a otros debes hacer tu código tan fácil de leer como sea posible, eso incluye usar true o false con bools.

El uso de números puede llevar a errores como este


   bool a=1;
   bool b=-1;
   if(a+b==0)
      Print("a+b equals 0");
   else
      Print("a+b does not equal 0");
  


Sólo estás incrementando a si falla un OrderSelect, ¿dónde se reinicia?

No tienes un bucle en tu código, ¿dónde se hace un ciclo a través de los pedidos?

 
Keith Watford:


Cuando pides ayuda a otros debes hacer tu código tan fácil de leer como sea posible, eso incluye usar true o false con bools.

El uso de números puede llevar a errores como este


   bool a=1;
   bool b=-1;
   if(a+b==0)
      Print("a+b equals 0");
   else
      Print("a+b does not equal 0");
  


Sólo estás incrementando a si un OrderSelect falla, ¿dónde se restablece?

No tiene un bucle en su código, ¿dónde hace el ciclo a través de los pedidos?

Sólo estás incrementando a si un OrderSelect falla, ¿dónde se reinicia?

a no se reinicia

No tiene un bucle en su código, ¿dónde hace un ciclo a través de los pedidos?

fue un error escribir ciclo pero el código importa no los comentarios

 

Bueno, es obvio que lo sabes todo.

¿Por qué pides ayuda?

 
Keith Watford:

Bueno, es obvio que lo sabes todo.

¿Por qué está pidiendo ayuda?

Puedo hacer

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

eso funciona, pero quería entender cómo seleccionar la última orden del historial y luego determinar si la última orden del historial fue pérdida o ganancia

 
boopa26:

Puedo hacer

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

que funciona pero quería entender cómo seleccionar la última orden del historial y luego determinar si fue pérdida o ganancia

Eso no funciona ya que no has seleccionado una orden. No se me ocurre ninguna razón para que las 2 pruebas estén en el mismo if() sin un OrderSelect()
 
Keith Watford:
Eso no funciona ya que no has seleccionado un pedido. No se me ocurre ninguna razón para que las 2 pruebas estén en el mismo if() sin un OrderSelect()

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

if(OrdersHistoryTotal()>0&&OrderProfit()<0)

leer ahora
 

¿Por qué se muestra

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

en respuesta a un comentario sobre

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

?

Obviamente no tienen nada que ver entre sí

 
Keith Watford:

¿Por qué se muestra

if(OrdersTotal()>0&&
   a<OrdersTotal()&&
   OrderSelect(a,SELECT_BY_POS,MODE_TRADES)==0)

   a++;

en respuesta a un comentario sobre

if(OrdersHistoryTotal()>0&&
   OrderProfit()<0)

?

Obviamente no tienen nada que ver entre sí

entonces ¿por qué hace lo que hace? funciona dentro de mi terminal mt4
 
boopa26:
Entonces, ¿por qué hace lo que hace? funciona dentro de mi terminal mt4

Es posible que haga algo, pero dudo mucho que haga lo que usted espera.

De lo contrario, ¿por qué estás publicando un questiom?

Reescribe el código de forma lógica para que los bloques individuales funcionen entre sí. Utilice un bucle para recorrer las órdenes y no utilice una variable declarada globalmente para el índice de la orden/

 
Keith Watford:

Es posible que haga algo, pero dudo mucho que haga lo que usted espera.

De lo contrario, ¿por qué estás publicando una pregunta?

Reescribe el código de forma lógica para que los bloques individuales funcionen entre sí. Utiliza un bucle para recorrer los pedidos y no utilices una variable declarada globalmente para el índice del pedido/

ok. gracias
Razón de la queja: