[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 486

 
kakin:

Obrigado. Eu também estive olhando e pensando.

Victor, você sabe onde mais encontrar artigos de treinamento na MKL da Roche?


Eles estão em Alpari. Roche afixou os links. Eu sou preguiçoso demais para procurar.
 
Lyuk:

Pergunta simples, nenhuma resposta encontrada.

Como adicionar novos dados a um arquivo de texto (NÃO em uma nova linha!!! mas na mesma linha!)

Por exemplo, há um arquivo com uma matriz do seguinte formulário: 382;1;-1;1;1;-1;1;1;-1;1;-1;1;-1;1;...;1;crlf

você precisa acrescentar isto : 383;1;-1;1;1;1;-1;1;-1;1;1;1;-1;1;1;...;1;crlf

FileWrite() adiciona crlf extra, além de não saber como mudar o primeiro número.

Portanto, não preciso me preocupar muito em dividir o arquivo, lê-lo em um array (string ou parse), consertá-lo, escrevê-lo de volta.
 
Zhunko:
Portanto, você não precisa se preocupar muito em dividir o arquivo, lê-lo em um array (string ou parse), consertá-lo, escrevê-lo de volta.
Obrigado, acho que terei que fazer isso (sobrescrever com a limpeza), mas você pode me dizer como "dissecar"?
 
Vinin:

Eles estão em Alpari. A Roche publicou links. Eu sou preguiçoso demais para olhar.
OK. Obrigado. Vou procurar com mais afinco. Não encontrei nenhum ontem.
 
Lyuk:
Obrigado, provavelmente terá que fazer isso (sobrescrevendo com clearing ), mas você ainda pode me dizer como "dividir" ?

Em geral, estes arquivos não são destinados a serem editados. Se o arquivo for pequeno, é melhor reescrevê-lo. Arquivos maiores devem ser processados através de mapeamento para torná-lo mais rápido.

Dividir o arquivo através da indexação de delimitadores. A preparação dos índices é longa, mas depois funciona rapidamente.

 

Estou um pouco preso na implementação do algoritmo de colocação de pedidos.

A essência é que há um bilhete, eu ligo a enumeração com uma condição para encontrar o bilhete:

for(int ot=0; ot<=OrdersTotal(); ot++)
 {
  if(OrderSelect(ot,SELECT_BY_POS)==true)
   {
     if(OrderMagicNumber()==magic)
      {
       if(УСЛОВИЕ МОДИФИКАЦИИ)
        {
         МОДИФИКАЦИЯ
        }
      }
   }
 }

Se alguma das ordens corresponde a um magik, nós o modificamos.

Temos outra tarefa: se nenhuma das ordens corresponde a um Magic, devemos definir uma nova ordem pendente. if(OrderMagicNumber()!=magic) não vai funcionar aqui.

Como podemos implementar esta condição sem recorrer a funções personalizadas de terceiros?

 

Quero saber os números dos bilhetes das encomendas que foram fechadas com paradas. Eu quero obter os números das passagens que foram fechadas com stop e eu tenho que chegar a -1 e pronto, você pode me dizer o que está errado?

for(int i=0;i<history;history=0)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==verdadeiro)
{
hi_stop=OrderStopLoss();
if(Bid<hi_stop)ticket=OrderTicket();
}
}
if(ticket_caunt!=ticket)
{
Print("___________________________________________________ticket-",ticket);
ticket_caunt=ticket;
}
 
laveosa:

Quero saber os números dos bilhetes das encomendas que foram fechadas com paradas. Eu quero obter os números das passagens que foram fechadas com stop e eu tenho que chegar a -1 e pronto, você pode me dizer o que está errado?

for(int i=0;i<history;history=0)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==verdadeiro)
{
hi_stop=OrderStopLoss();
if(Bid<hi_stop)ticket=OrderTicket();
}
}
if(ticket_caunt!=ticket)
{
Print("___________________________________________________ticket-",ticket);
ticket_caunt=ticket;
}
Tente jogar (editar para suas necessidades) f-e Kim I.V isCloseLastPosByStop - Retorna a bandeira de fechamento da última posição por stop

e NumberOfPositions - Retorna o número de posições, e talvez outras se encaixem em sua pergunta...

 
midorum:
iLow
cp
 
silhouette:

Estou um pouco preso na implementação do algoritmo de colocação de pedidos.

A essência é que há um bilhete, eu ligo a enumeração com uma condição para encontrar o bilhete:

Se alguma das ordens corresponde a um magik, nós o modificamos.

Temos outra tarefa: se nenhuma das ordens corresponde a um Magic, devemos definir uma nova ordem pendente. if(OrderMagicNumber()!=magic) não vai funcionar aqui.

Como podemos implementar esta condição sem recorrer a funções personalizadas de terceiros?

É muito simples. Criar alguma variável booleana. Antes de processar as ordens, configure-o para falso. Assim que o pedido for processado, altere-o para verdadeiro. Depois de verificar todas as ordens, verifique o valor da variável - se ela permanecer falsa, significa que não houve ordem com a magia necessária. Você abre um novo pedido.

Razão: