[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 313

 
drknn:

Espero não ter apagado nada, caso contrário o compilador reclamaria da palavra:


bool Torg=verdadeiro;

if(OrderTotal()>0){
for(int i=OrdersTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue;
if(OrderOpenTime()>=Time[0]) Torg=false;
}
}
}
 
drknn:
Vladimir, o camarada já foi banido. Retire o link da citação.
 
GarKain:

Espero não ter apagado nada do que eu precisava, caso contrário o compilador se queixaria da palavra "outro":

if(OrdersTotal()>0){// linha desnecessária - se não houver ordens, então o contador do laço estará em zero e o laço não será executado
for(int i=OrdersTotal()-1;i>=0;i--){// passar por todas as ordens
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// se nenhuma ordem for selecionada, então...
if(OrderMagicNumber()!=MagicNumber) continue; // se o número mágico não for nosso, então prossiga para outro pedido
if(OrderOpenTime()>=Time[0]) Torg=false;
}
// Mas e se o pedido ainda for selecionado da lista?
}
}


P.S.

A linha que sinaliza um número de erro ao selecionar uma ordem não deveria ter sido removida por algum motivo - às vezes acontece de ela explodir. Em geral, o tratamento de erros é melhor utilizado onde quer que possa ocorrer.

 
drknn:
if(OrdersTotal()>0){// linha desnecessária - se não houver ordens, o contador de laço será zero e o laço não será executado
for(int i=OrdersTotal()-1;i>=0;i--){// passar por todas as ordens
if (! OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){// se nenhuma ordem for selecionada, então.
if(OrderMagicNumber()!=MagicNumber) continue; // se o número mágico não for nosso, então prossiga para outro pedido
if(OrderOpenTime()>=Time[0]) Torg=false;
}
// Mas e se o pedido ainda for selecionado da lista?
}
}


Que tal isso?

bool Torg;
if(OrderTotal()==0) Torg=true;
if(OrderTotal()>0){
for(int i=OrdersTotal()-1;i>=0;i--){
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
if(OrderMagicNumber()!=MagicNumber) continue;
if(OrderOpenTime()>=Time[0]) Torg=false;
if(OrderOpenTime()<Time[0]) Torg=true;
}
}
}
 
GarKain:
Que tal isso?

E se você mesmo tentar verificar este loop no roteiro? Bem, apenas imprimindo o resultado - qual a posição que a variável Torg ocupa em diferentes casos. Você acha que não pode fazer isso sozinho?
 
drknn:
E se você mesmo tentar verificar este loop no roteiro? Bem, apenas imprimindo o resultado - qual a posição que a variável Torg ocupa em diferentes casos. Você acha que não pode fazer isso sozinho?
Eu não acho
 
GarKain:
Acho que não.

Download - vai ajudar - http://depositfiles.com/files/eg4fmn3bp
 
GarKain: As classes são numeradas de baixo para cima. Pressione o botão de alojamento e comece com os roteiros.
 
Acontece que um número ilimitado de pedidos foi aberto em um novo bar. antes de serem todos abertos de uma só vez, mas agora espera-se que um seja aberto e todos os outros sejam abertos.
 
GarKain:
Se você quer aprender, então é uma maneira simples de desistir do projeto ou usar um programador.


Você está tentando corrigir o código de outra pessoa? Se assim for, você tem que quebrá-lo para entender cada carta. Caso contrário, será ainda mais difícil para você. Melhor ainda, escreva seu próprio código. Assim, você sabe o que é o quê, onde um erro pode ocorrer, como pegá-lo e como corrigi-lo.

Se você tiver tais problemas com seu próprio código, então eu fiz a coisa certa - baixe o curso da Roche (link acima) e comece criando scripts. Não vai ficar mais rápido. E seu trabalho para você não fazer ninguém o fará. Se não há vontade de aprender - então esta é uma maneira simples de desistir da idéia ou contratar um programador.