Pergunta sobre a função OrderSelect - página 4

 
boopa26:

estática int a; senta-se acima do início(){ VALOR GLOBAL

não há diferença 1 ou 0. verdadeiro ou falso

estou aumentando o valor a após as condições entrarem em vigor


Quando você estiver pedindo ajuda a outros, você deve tornar seu código o mais fácil de ler possível, o que inclui o uso de verdadeiro ou falso com bools.

O uso de números pode levar a erros 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");
  


Você só estará aumentando um OrderSelect se um OrderSelect falhar, onde ele será reinicializado?

Você não tem um loop em seu código, onde ele percorre os pedidos?

 
Keith Watford:


Quando você estiver pedindo ajuda a outros, você deve tornar seu código o mais fácil de ler possível, o que inclui o uso de verdadeiro ou falso com bools.

O uso de números pode levar a erros 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");
  


Você só estará aumentando um OrderSelect se um OrderSelect falhar, onde ele será reinicializado?

Você não tem um loop em seu código, onde ele percorre os pedidos?

Você só está aumentando um se uma OrderSelect falhar, onde ela é reinicializada?

a não é reajustada

Você não tem um loop em seu código, onde ele percorre os pedidos?

foi um erro escrever o ciclo, mas o código não importa comentários

 

Bem, você obviamente sabe tudo.

Por que você está pedindo ajuda?

 
Keith Watford:

Bem, você obviamente sabe tudo.

Por que você está pedindo ajuda?

eu posso fazer

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

que funciona, mas eu queria entender como selecionar a última ordem do histórico e depois determinar se a última ordem do histórico foi perda ou lucro

 
boopa26:

eu posso fazer

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

que funciona, mas eu queria entender como selecionar a última ordem histórica e depois determinar se era perda ou lucro

Isso não funciona, pois você não selecionou um pedido. Não consigo pensar em nenhuma razão para que os 2 testes estejam no mesmo se() sem uma OrderSelect()
 
Keith Watford:
Isso não funciona, pois você não selecionou um pedido. Não consigo pensar em nenhuma razão para que os 2 testes estejam no mesmo se() sem uma OrderSelect()

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

   a++;

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

leia agora
 

Por que você está mostrando

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

   a++;

em resposta a um comentário sobre

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

?

Obviamente eles não têm nada a ver um com o outro

 
Keith Watford:

Por que você está mostrando

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

   a++;

em resposta a um comentário sobre

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

?

Obviamente eles não têm nada a ver um com o outro

então por que faz o que faz? funciona dentro do meu terminal mt4
 
boopa26:
então por que ele faz o que faz? ele funciona dentro do meu terminal mt4

Pode muito bem fazer algo, mas duvido muito que faça o que você espera.

Caso contrário, por que você está lançando uma pergunta?

Re-escrever o código de forma lógica para que os blocos individuais trabalhem uns com os outros. Use um loop para percorrer os pedidos e não use uma variável declarada globalmente para o índice de pedidos/

 
Keith Watford:

Pode muito bem fazer algo, mas duvido muito que faça o que você espera.

Caso contrário, por que você está lançando uma pergunta?

Re-escreva o código de forma lógica para que os blocos individuais trabalhem uns com os outros. Use um loop para percorrer os pedidos e não use uma variável declarada globalmente para o índice de pedidos/

ok. obrigado