Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 714

 
Onde posso encontrar o início e o fim dos dados da hora do almoço para todas as trocas na hora de Kiev ou GMT?
 
alexey1979621:

Olá a todos, já fiz uma pergunta semelhante na página 711, infelizmente ninguém respondeu, talvez agora alguém...

Eu faço isso:

Levo a situação à posição zero acumulada (travamento), depois fecho a fechadura.

Agora, detalhando.

1. Cálculo da posição agregada:

Ordens inversas

Se comprarmos, nossa posição agregada é aumentada pelo lote de pedidos.

Se vender, a posição agregada é reduzida pelo lote de pedidos.

Fim do ciclo de busca de pedidos

2. Criando um local:

se a posição agregada estiver acima de zero, nós vendemos;

se a posição agregada estiver abaixo de zero, compraremos;

Caso contrário, não fazemos nada.

O tamanho do lote é igual à posição agregada.

3. Fechamento de um lote (posições sobrepostas)

Laço sem fim ( enquanto (verdadeiro) )

Redefinir para zero os carrapatos das ordens de compra e venda

loop over the orders

se (comprar) comprometer o bilhete para uma ordem de compra

se (vender) comprometer o bilhete de ordem de venda

fechar o ciclo do pedido

se( há uma venda e uma compra) então um fechamento cruzado

caso contrário sair do loop infinito (quebra)

fim do loop infinito

Agora programamos este algoritmo no idioma selecionado (MQL4)

 

caras, me digam se eu estabeleço um horário de fechamento para uma ordem pendente

Data_1=iTime(Símbolo(),PERÍODO_D1,0) +86400; //o tempo de vida do pedido

se já estiver no mercado (ou seja, se já tiver sido executado), fechará ou não

 
korobok777:

caras, me digam se eu estabeleço um horário de fechamento para uma ordem pendente

Data_1=iTime(Símbolo(),PERÍODO_D1,0) +86400; //o tempo de vida do pedido

se já estiver no mercado (ou seja, se já tiver sido executado), fechará ou não

não
 
artmedia70:
não
Muito obrigado.
 

Olá a todos, eu nunca trabalhei com operações de arquivos, mas tive e não consigo entender.

A tarefa é escrever dados em arquivo csv várias vezes ao dia

Ou seja, hoje 24.09.2014 os dados são escritos em uma fila em diferentes células do tipo

A B C

1 Data | valor | valor

se os dados de hoje mudaram, nós substituímos a linha a partir de 24.09.2014

se for um novo dia, reescrevemos a nova linha.

Eu estou fumando e não consigo fumar...

 
VOLDEMAR:

Olá a todos, eu nunca trabalhei com operações de arquivos, mas tive e não consigo entender.

A tarefa é escrever dados em arquivo csv várias vezes ao dia

Ou seja, hoje 24.09.2014 os dados são escritos em uma fila em diferentes células do tipo

A B C

1 Data | valor | valor

se os dados de hoje mudaram, nós substituímos a linha a partir de 24.09.2014

se for um novo dia, reescrevemos a nova linha.

Eu estou fumando e não consigo fumar...

void Запись()
{
  int handle;
  string st=TimeToStr(TimeCurrent(), TIME_DATE);
  string filename = st+" Bid_Ask.csv"; // Формируем имя файла
  handle = FileOpen(filename,FILE_CSV|FILE_READ | FILE_WRITE,';');
  if(handle < 1)
  {
    Print("Не удалось создать файл. Ошибка #", GetLastError());
    return;
    //FileClose(handle);
  }
  
  FileWrite(handle,                   
            " Время ",
            " Bid ",
            " Ask ",
            " Volume "); // заголовок
  FileSeek(handle, 0, SEEK_END);
  FileWrite(handle,
            TimeToStr(TimeCurrent(),TIME_MINUTES|TIME_SECONDS),
            Bid,
            Ask,
            Volume[0]);
 
  FileClose(handle);
  return;
}
Deve ser algo parecido com isto.
 
r772ra:
Provavelmente algo parecido com isto.

e como reescrevo a última linha se os dados mudaram?

 
VOLDEMAR:

como reescrevo a última linha se os dados mudaram?

FileSeek(), ajuda.

 

Se os dados mudaram, devemos colocar o ponteiro no lugar onde iremos sobregravá-lo com a semana de arquivos, sobregravá-lo com o método padrão de gravação de arquivos..., lembrar o final do arquivo e apará-lo com a função WinApi

Ou usando o método padrão, escreva a posição até o final do arquivo, onde terminam as informações úteis, e depois leia esta posição. (Você pode escrever a posição em outro arquivo).

Mas de qualquer forma, é melhor apará-lo, e não há uma ferramenta de aparo padrão ((

aqui éZhunko12.09.2014 20:19#

Seria interessante, pois o WinApi funciona