[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 461

 
demlin:
Uma pergunta a mais. O !OrderSelect(orderIndex, SELECT_BY_POS) - o que isso significa? Eu não consigo entender o !


Isto é uma negação

Se OrderSelect(orderIndex, SELECT_BY_POS) = verdadeiro, !OrderSelect(orderIndex, SELECT_BY_POS)=false

 
sergeev:

! - é uma operação booleana NÃO

! falso = verdadeiro

! verdadeiro = falso

Então a expressão completa: ordem NÃO selecionada ?
 
Maximov7:

double C1;
// в старте
C1 = Ask;

você não pode começar porque cada novo tick atribuirá um novo valor a Ask.... e você precisa bloqueá-lo para continuar trabalhando


Será que isso funcionaria?

int start()
{
static double C1=Ask;
 
demlin:
Então a expressão completa: ordem NÃO selecionada ???

Expressão: se uma ordem não for selecionada, então passamos à próxima iteração do ciclo. em busca da ordem correta para sua rede de arrasto... só nos aproximamos da rede de arrasto quando exatamente "nossa" ordem é selecionada para o instrumento requerido... :-))) Vá descobrir - não há nada de complicado aí. :-)))
 
Roman.:

Expressão: Se nenhuma ordem for selecionada, passamos à próxima iteração do ciclo... em busca da ordem correta para sua rede de arrasto... só nos aproximamos da rede de arrasto quando exatamente "nossa" ordem é selecionada para o instrumento requerido... :-))) Vá descobrir - não há nada de complicado nisso. :-)))
Muito obrigado, informações extremamente úteis
 
demlin:
Muito obrigado, informações extremamente úteis

Ocupa-te... :-)))
 

Notei que as ordens abertas ou fechadas são cruzadas de duas maneiras. Aqui está um exemplo dos fechados.

Primeiro:

for(pos = 0; pos < OrdersHistoryTotal(); pos++)
    {  OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY);
        ... работа с ордером ...  }
 

A segunda:

for(pos = OrdersHistoryTotal()-1; pos >= 0; pos--)
    {  OrderSelect(pos,SELECT_BY_POS,MODE_HISTORY);
        ... работа с ордером ...  }

Basicamente tudo é claro (eu só utilizo a primeira opção), mas há perguntas.

Por que, no segundo caso, subtraímos 1(OrdersHistoryTotal()-1) do número total de pedidos?

Entendo corretamente que tanto a primeira quanto a segunda opções fazem a mesma coisa, mas elas diferem apenas na medida em que a primeira começa a busca da primeira para a última, e a segunda começa da última para a primeira da lista?

 
tol64:

Notei que as ordens abertas ou fechadas são cruzadas de duas maneiras. Aqui está um exemplo dos fechados.

Primeiro:

A segunda:

Tudo está claro em princípio (eu só uso a primeira variante), mas tenho algumas perguntas.

Por que, no segundo caso, subtraímos 1(OrdersHistoryTotal()-1) do número total de pedidos?

Entendo corretamente que a primeira e a segunda opções fazem a mesma coisa, mas elas só diferem em que a primeira começa a busca da primeira para a última, e a segunda começa da última para a primeira da lista?

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

E na primeira variante, você precisa subtrair uma, já que o contador de ordens começa de zero, e isto significa que a última ordem será apenas OrderHistoryTotal()-1.
int OrdersHistoryTotal() - retorna o número de posições fechadas e ordens eliminadas no histórico da conta, no terminal do cliente.
Digamos, OrdersHistoryTotal() retornou o número 10 - "posições fechadas e ordens apagadas na história da conta corrente", e temos a seguinte figura de ordens fechadas e apagadas - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - um total de 10 ordens na história, mas o loop não é organizado antes do número 10, mas antes do número 9, começando pelo "0", ou seja, partimos da primeira linha do código.Em outras palavras, obtemos a bandeira SELECT_BY_POS - o parâmetro índice passa o número índice da posição na lista, e é em ( OrderHistoryTotal()-1 ) que passamos por todas as 10 ordens na história do terminal.

- Entendo corretamente que a primeira e a segunda variantes realizam a mesma coisa, mas elas só diferem em que a primeira começa a busca da primeira para a última, e a segunda começa da última para a primeira da lista?
- Sim.

P.S. Espero ter explicado claramente... :-)))

 
Roman.:


(Obrigado. Entendo isso muito claramente. Qualquer um pode entender se você explicar dessa forma))))

Uma pergunta a mais. Encontrei muitas perguntas semelhantes na busca, mas tenho uma pergunta um pouco diferente).

O descasamento do gráfico. A fim de ver um resultado "válido ???" tenho que recalcular constantemente os prazos. Isto é, se eu vejo que há erros no registro, vou citar o arquivo e recalculo todos os prazos. No testador, por exemplo, eu faço um teste em pontos de controle. Tudo está bem. Então eu, por exemplo, formo barras. Tudo está bem. Mas se fizermos novamente um teste usando pontos de controle, verei novamente uma discrepância entre os gráficos no diário. O que é isso? ))) Há alguma coisa contra esta grosseria?

 
tol64:


(Obrigado. Entendo isso muito claramente. Qualquer um pode entender se você explicar dessa forma))))

Uma pergunta a mais. Encontrei muitas perguntas semelhantes na busca, mas tenho uma pergunta um pouco diferente).

O descasamento do gráfico. A fim de ver um resultado "válido ???" tenho que recalcular constantemente os prazos. Isto é, se eu vejo que há erros no registro, vou citar o arquivo e recalculo todos os prazos. No testador, por exemplo, eu faço um teste em pontos de controle. Tudo está bem. Então eu, por exemplo, formo barras. Tudo está bem. Mas se fizermos novamente um teste usando pontos de controle, verei novamente uma discrepância entre os gráficos no diário. O que ...? ))) Há alguma coisa contra esta grosseria?


É claro que sim. Para ajudar a resolver e eliminar esses erros.:-)))