[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 607
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Colocando dessa forma, não conheço outra forma.......)
E assim...
quer registrar as ações da EA em um arquivo
Eu peguei um exemplo do manual do editor MQL, ligeiramente refeito para minhas próprias necessidades
O resultado é que o arquivo OrdersReport.csv está vazio, embora as ordens sejam abertas.
Encontrei o mesmo problema, ao abrir um arquivo para leitura e tentar escrever nele, o arquivo ou não é criado, ou nada é escrito nele.
Aplicação no pescoço com serviço :
Ao tentar adicionar a um arquivo de texto um arquivo sem registro com a tecla FILE_READ|FILE_WRITE, sem antes definir explicitamente o ponteiro do arquivo com FileSeek(), a escrita não acontece de forma alguma.
Nas versões anteriores do terminal, ao ler previamente um arquivo de texto usando a função FileReadString(), o ponteiro do arquivo é definido automaticamente.
Aqui está uma resposta dos desenvolvedores:
A última mudança de funcionalidade do arquivo data de meados de 2008.
Nunca antes foi possível anexar a um arquivo sem primeiro definir um ponteiro de arquivo no final.
Mais uma vez uma pergunta sobre informações extras. Isto tem alguma coisa a ver com anexar ao final de um arquivo?
Qualquer operação de leitura-escrita de arquivo move automaticamente o ponteiro do arquivo. Este sempre foi o caso e não mudou. Entretanto, se o arquivo for aberto como um csv, é possível um buffer de dados intermediário. Então, o ponteiro do arquivo pode não estar onde você espera que esteja. Mais uma vez, este sempre foi o caso, tanto na versão anterior quanto no pré-lançamento, desde o início do lançamento oficial.
Temos reiterado muitas vezes que o princípio padrão é extremamente prejudicial. Incluindo para apontadores de arquivos. Manuseie o ponteiro de arquivo explicitamente, a menos que você use leitura contínua ou escrita contínua (especialmente os exóticos casos mistos de leitura-escrita).
Conclusão: use FileSeek
Verificar.
Seu Expert Advisor trabalha com sinais ADX de 30 minutos. Se seu Expert Advisor comercializa sinais ADX de 1min, tais sinais serão mais freqüentes do que na primeira variante. A captura de tela em sua variante é feita somente na abertura da posição COMPRAR.
Você está interessado na ausência de indicadores do gráfico na captura de tela (em modo de teste). Você foi solicitado a verificar a presença de indicadores na imagem da tela em modo de demonstração. O roteiro com a função correspondente foi adicionado, para que você pudesse verificar e entender sua pergunta rapidamente, em vez de esperar horas. Já se passou mais de um dia. Quero saber - quais são seus resultados?
Vou mantê-lo informado. Estou ocupado, mas vou tentar verificar amanhã.
Você pode me dizer qual é a diferença ao definir um nome em uma função ou ao atribuir um nome a uma variável e depois passar a variável para uma função?
Agradecemos antecipadamente.
Você pode fazer desta maneira, funciona para mim
preço duplo de bula()
{
duplo BullAveragePrice=0;
doubleSummBullLots=0;
para (int i = OrderTotal() - 1; i >= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
se (OrderSymbol() != Symbol()) continuar;
if (OrderSymbol() == Symbol() && OrderType() == OP_BUY)
{
BullAveragePrice+=OrderOpenPrice()*OrderLots();
MySummBullLots+=OrderLots();
}
}
if (MySummBullLots>0) BullAveragePrice = NormalizeDouble(BullAveragePrice / MySummBullLots, Dígitos);
retorno(BullAveragePrice);
}
Na pasta MT4 há uma amostra de código C++ para todos os casos na MQL4. Compilar esse código e colar nele seu próprio código. Você vai encontrar imediatamente a diferença entre o seu e o exemplo.
Você pode me dizer qual é a diferença ao definir um nome em uma função ou ao atribuir um nome a uma variável e depois passar a variável para uma função?
Caso contrário...
Por favor, informe a situação é esta, li um arquivo csv como este
mas o arquivo csv tem um cabeçalho, a primeira linha extra
Como pular a primeira linha de forma programática, ou apagá-la de forma programática em geral ao salvar o valor que estraga tudo.
Obrigado de antemão.