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

 
Vinin:


agora não vai fechar.

aqui está a função onde você pode colocar OrderClose() ?

//+-------------------------------------------------------------------------------------------+
//|  Описание : Возвращает цену открытия предпоследней открытой позиции или -1                |
//+-------------------------------------------------------------------------------------------+
//|  Параметры:                                                                               |
//|    sy - наименование инструмента   (""   - любой символ, NULL - текущий символ)           |
//|    op - операция                   (-1   - любая позиция)                                 |
//|    mn - MagicNumber                (-1   - любой магик)                                   |
//+-------------------------------------------------------------------------------------------+
double GetPrePricePos(string sy="", int op=-1, int mn=-1) {
  datetime o;
  double   l=-1;
  int      i, k=OrdersTotal()-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sy || sy=="") {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (o<OrderOpenTime()) {
                o=OrderOpenTime();
                l=OrderOpenPrice();
              }
            }
          }
        }
      }
    }
  }
  return(l);
}


// Use o botão SRC //

 
É possível obter o indicador para fazer uma repetição sem a chegada de outro carrapato?
 

Tanto quanto sei, se houver mais de 8 casas decimais, os cálculos serão automaticamente arredondados para essas 8 casas decimais! É possível aumentar este valor?

 

Na verdade, existem 15 dígitos decimais significativos. Mas tal número ocupa 8 bytes de memória.
Por que você precisa de uma precisão de cálculos tão surpreendente (mais de 8 dígitos)?

 
MikeM:
É possível fazer com que o indicador execute uma repetição sem a chegada de outro tick?
Roteiros de serviço para MT4.
 
Lians:

Eu tenho uma pergunta:

Eu sei que com EAs e scripts, você só pode criar e modificar arquivos na pasta experts/arquivos.

1. Posso trabalhar com arquivos em subpastas desta pasta?

2. Em caso afirmativo, você pode mostrar um exemplo de como isso é feito no código?

Ou talvez alguém tenha uma pasta dll que permita trabalhar com arquivos que não estejam neste diretório?

4. ou talvez quem conheça algum software externo para sincronizar continuamente a pasta de arquivos de outra pasta no computador?

1. Sim.

2. Adicionar outro nome de pasta à pasta de arquivos com uma barra: files\mydirectory\myfile.dat

3. Eu tenho uma DLL, mas ainda não a testei. Existe uma tal biblioteca.

4. isto pode e deve ser feito com elos simbólicos ou duros e suaves. É mais fácil do que a sincronização.

 
MikeM:

Na verdade, existem 15 dígitos decimais significativos. Mas tal número ocupa 8 bytes na memória.
Por que você precisa de uma precisão de cálculos tão surpreendente (mais de 8 dígitos)?

Tentando trabalhar com matrizes... Tentei contornar isso, mas mesmo assim ele aparece. É um pouco difícil contorná-lo, pois as explicações lógicas para as ações começam a se perder.

Em relação aos 15 dígitos - verificados, normalmente apenas 8 casas decimais, então eu me pergunto se é possível estender.

 
dzhini:

Sobre os 15 dígitos - eu verifiquei, apenas 8 casas decimais, então estou me perguntando se é possível estendê-lo.

Como você verificou? Eu recebo 15.

MikeM:
É possível forçar o indicador a redesenhar sem a chegada de outro carrapato?
Re-esenhar o quê? Objetos de gráficos ou atualizações de gráficos?

 
Zhunko:

Re-elaborando o quê? Objetos gráficos ou uma atualização gráfica?

Estamos falando de atualizar buffers indicadores e redesenhar gráficos indicadores, não de objetos.
 

Olá! Você poderia me dizer se é possível escrever para um arquivo binário desta maneira?

Temos um arquivo com o conteúdo "11111 22222 33333 55555".

Preciso inserir o fio do formulário "44444" entre 3333333 e 55555

Tento usar o operador FileWriteString, mas a saída é apagada com cinco. ou seja, no meu caso, o processo não vai além de apagar os que têm dois, dois com três, etc.

todos esses 11111 etc. são condicionais, é apenas interessante entender se a inserção completa é possível sem mascarar o que está após o local de inserção?

obrigado.