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 280

 
novator:
Boa noite, é possível usar mais de um Medjic em um EA?

Boa noite.

Sim, é.

 
Integer:

Oh, você está ficando todo nervoso. E eu fiquei excitado depois de declarar abertamente que não preciso desses livros-fonte. Eu não preciso deles, não vejo nenhum valor neles. Para você Vadimi, eles são uma fonte de grande orgulho. Lembro novamente - é engraçado como você se apega a eles... e carregando-os bem acima de sua cabeça como uma bandeira.


Dimitri, pare de discutir com Vadim. É melhor você orientar os buscadores :) Já faz alguns dias que estou lutando com bibliotecas. Minha pergunta está cada vez mais distante sob a pressão destas observações.

Este não é um fórum para medir pênis, é um fórum para discutir questões. Qual de vocês é mais esperto não nos cabe decidir.

 
hoz:


Dimitri, pare de discutir com Vadim. Seria melhor se você pudesse orientar os buscadores :) Já faz alguns dias que estou lutando com bibliotecas. Minha pergunta está cada vez mais distante sob a pressão destas observações.

Isto não é um concurso de mijar, é um tópico de discussão. Qual de vocês é mais esperto não me cabe a mim decidir.


Eu já vi isso. Uma pergunta bem formulada é a metade da solução. O inlude não é uma importação. Você deve tentar chamar alguma função do arquivo que não pareça estar conectada. O que está escrito nos troncos ali pode não ser necessário, não vale a pena prestar atenção.
 
Integer:

Vi-o. Uma pergunta bem formulada é a metade da solução. O inlude não é uma importação. Você deve tentar chamar alguma função do arquivo que não pareça estar conectada. O que está escrito nos troncos ali pode não ser necessário, não vale a pena prestar atenção.

Por isso, tentarei ligar para ele amanhã. Não tenho um depurador, portanto não sei como abordar esta tarefa. Também não há erros. E a coruja não funciona. Não imprimirá nada. De qualquer forma, vou tentar amanhã e me apresentarei de volta.
 
novador 24.11.2013 19:37 #
Boa noite, é possível usar vários medjs em uma EA?
Você pode.
 

Por que não funciona

   int handle;
   handle=FileOpen("openorder.csv",FILE_CSV|FILE_READ|FILE_WRITE,"\n");
   if(handle>0)
     {
      FileWrite(handle,open_price_order,"\n");
      FileClose(handle);
     }
 
itum:

Por que não funciona


Parece-me que o delimitador padrão no arquivo CSV não é uma alimentação de linha, mas uma vírgula ou algum outro conjunto de caracteres como um delimitador. E se você ler dados do CSV como cordas, e em algum lugar na cadeia houver uma vírgula que não seja um delimitador, então a cadeia inteira deve ser marcada com aspas.

Aqui está um olhar:

DataTempo,Nome,País,Volatilidade,Real,Anterior,Consenso
"20131125 09:00:00", "Nationwide house price index (y/y)", "UK ", "2",""", "5,8%", "6,0%"

A primeira linha do arquivo contém valores separados por vírgulas. Eles podem ser lidos normalmente. A segunda linha tem todos os dados entre aspas, mas também tem vírgulas como delimitadores. Mas há a linha 5,8% onde uma vírgula não é um delimitador. Esta linha deve ser delimitada por vírgulas invertidas. Bem, o código deve remover as vírgulas invertidas extras no início e no final do fio. Ao fazer isso, fazemos algo assim:

   DatTim=FileReadString(handle);StrTrim(DatTim);if(DatTim !="DateTime") err=1;else{
    Name=FileReadString(handle);StrTrim(Name);if(Name !="Name") err=1;else{
     Country=FileReadString(handle);StrTrim(Country);if(Country !="Country") err=1;else{
      Volatility=FileReadString(handle);StrTrim(Volatility);if(Volatility !="Volatility") err=1;else{
       Actual=FileReadString(handle);StrTrim(Actual);if(Actual !="Actual") err=1;else{
        Previous=FileReadString(handle);StrTrim(Previous);if(Previous !="Previous") err=1;else{
         Consensus=FileReadString(handle);StrTrim(Consensus);if(Consensus !="Consensus") {err=1;}}}}}}}

Esta é a análise do cabeçalho do arquivo. A função StrTrim(DatTim) em meu código apenas remove citações desnecessárias se houver no início e no final da linha. Depois disso, nós apenas lemos o arquivo e convertemos os dados de string para o formato necessário. Mas embora tudo isso dependa do que você tem no arquivo CSV. Como regra, funciona bem se houver cordas no CSV.

Veja FileReadString( int handle, int length=0) e FileOpen( string filename, int mode, int delimiter=',')

 

Tudo o que quero fazer é escrever o preço de abertura de um pedido para o CSV. Como posso fazer isso?

 
itum:

Tudo o que eu quero fazer é escrever o preço de abertura do pedido no CSV. Como posso fazer isso?



Isso parece estar correto, então.


handle=FileOpen("openorder.csv",FILE_CSV|FILE_READ|FILE_WRITE",");

FileSeek(handle,0, SEEK_END);// Isto é para o caso de você querer adicionar ao arquivo existente.

FileWrite(handle,open_price_order);

Pelo contrário, eu estava lendo o CSV. Não coloque "\n" como um separador. Ele será adicionado após cada FileWrite. Coloque "," ou ";". E então, quando você abrir o Excel, ou quem quer que seja, lhe pedirá para entrar no delimitador. Deve funcionar, não há tempo no testador para verificar.... Porque FileWrite(handle,open_price_order); inserirá uma linha no arquivo, mas se FileWrite(handle,open_price1_order, open_price2_order ); ainda será uma linha, mas um separador será inserido entre oppenprice. Uma chamada subsequente para FileWrite resultará em uma nova linha no arquivo.

 
Hi,
É sobre o MT4.
Alguém pode me dizer como marcar os dias em uma semana para que a EA negocie de segunda a sexta-feira, mas menos de 23 horas na sexta-feira.

Se estou errado é porque notei algumas peculiaridades no teste de alguns algoritmos que afetam a data de início do teste.
Obrigado de antemão !