[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 718
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
Você lê o arquivo linha por linha e atribui valores a suas variáveis a cada vez. Quando o arquivo terminar, as variáveis terão os últimos valores.
Como implementar isto?
Não consigo descobrir o que usar
Como implementar isto?
Não consigo descobrir o que usar
Muito já foi escrito e reescrito sobre isso, tente https://www.mql5.com/ru/forum/118349
Boa noite novamente! Comecei recentemente a escrever um EA com várias moedas que abre pedidos em um par de moedas e abre pedidos em outro par.
Arranquei a parada mais próxima da EA e comecei a brincar com ela, mas ela não funcionou. Aqui está o código:
aqui está o que não consigo descobrir. Como o Expert Advisor é um Expert Advisor com várias moedas, ele abre pedidos de moedas de maneira imprevisível e às vezes os abre em um mesmo momento para várias moedas.
No código de rastreamento calculo ordens abertas para(int i=0; i<OrdensTotal(); i++) e vai além da seleção de ordens OrderSelect etc. Entendo que cada ordem aberta para um determinado par de moedas requer lances de dados, pedidos, etc. Mas aqui eu quero descobrir quais dados carregar e como selecionar uma ordem para mudanças. Tenho apenas uma variante em minha mente, a pior é escrever um trailing stop para cada moeda ) Por favor, informe o que pode ser feito.
Boa noite novamente! Comecei recentemente a escrever um EA com várias moedas que abre pedidos em um par de moedas e abre pedidos em outro par.
Arranquei a parada mais próxima da EA e comecei a brincar com ela, mas ela não funcionou. Aqui está o código:
aqui está o que não consigo descobrir. Como este EA é um Expert Advisor de várias moedas, ele abre pedidos para moedas de maneira imprevisível e às vezes abre pedidos para várias moedas em um mesmo momento.
No código de rastreamento calculo ordens abertas para(int i=0; i<OrdensTotal(); i++) e ainda vai mais longe a seleção de ordens OrderSelect etc. Entendo que cada ordem aberta para um determinado par de moedas requer lances de dados, pedidos, etc. Mas aqui eu quero descobrir quais dados carregar e como selecionar uma ordem para mudanças. Tenho apenas uma variante em minha mente, a pior é escrever um trailing stop para cada moeda ) Por favor, informe o que pode ser feito.
Infinity:
Eu não entendo bem a tecnologia, como ela funcionará
Muito já foi escrito e reescrito sobre o assunto - tente https://www.mql5.com/ru/forum/118349.
int a1;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');FileWrite(handle,a1);
FileClose(handle);
No arquivo a1=5;
Eu não entendo o básico.
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');aqui atribuímos o valor 5 a a1
FileClose(handle);
muito necessário
mas declarado com um valor atribuído a ele:
int ask = MarketInfo(sy, MODE_ASK), bid=MarketInfo(sy, MODE_BID), open, stop, level;
Consequentemente
já deveria ser escrito de outra forma, por exemplo:
Ou criar outra variável, por exemplo, PriceBid e escrever
e depois usar o PriceBid em vez do Bid no código.
Procure em todos os seus códigos e use variáveis para um determinado símbolo quando necessário.
E este símbolo você passará para a função de arrasto ao chamá-la:
ou
É mais claro?
Atribuir valores às variáveis no código de arrasto com base nos dados do par passado para a função. Você precisa finalizar o código da rede de arrasto... Por exemplo, a variável Bid não deve ser apenas declarada,
mas declarado com um valor atribuído a ele:
Correspondentemente
já deveria ser escrito de outra forma, por exemplo:
Ou criar outra variável, por exemplo, PriceBid e escrever
e depois usar PriceBid em vez de Bid no código.
Procure em todo seu código e use a busca de valores variáveis para um determinado símbolo quando necessário.
E este símbolo você passará para a função de arrasto ao chamá-la:
ou
É mais claro?
A única coisa que não entendo é qual par de moedas deve ser enviado para mim em qual momento. Não sei onde obter informações de que, por exemplo, 4 pedidos estão abertos em tais pares e que estes pares devem ser enviados para mim.
Eu não sei se estou fazendo direito ou não... de qualquer forma ....
Mas por alguma razão eu recebi um erro EURUSD: divisão zero - este erro provavelmente significa em algum lugar na variável 0, provavelmente durante uma operação do tipo divisão. Estou tentando implementá-lo corretamente?
int a1;
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');FileWrite(handle,a1);
FileClose(handle);
No arquivo a1=5;
Por favor, explique - completando a proposta
int handle=FileOpen("a1.csv",FILE_READ|FILE_WRITE,';');aqui atribuímos o valor 5 a a1
FileClose(handle);
Eu realmente preciso disso.
Portanto, em ordem.
Se apenas os últimos dados são necessários, então por que salvar os anteriores? ("antes de escrever" ocorre com a combinação dos modos FILE_READ|FILE_WRITE).
Portanto, é mais lógico usar FILE_CSV|FILE_WRITE mode, onde os registros anteriores são apagados antes de escrever novos dados.
Vamos começar a escrever 4 variáveis para o arquivo.
O principal é lembrar a ordem na qual as variáveis são escritas, pois esta é a ordem em que as leremos.
Vamos começar a ler os dados em variáveis do arquivo.
Usando a função FileReadNumber(), lemos o número após o número na ordem em que foram escritos.
Isso é tudo, nada complicado :)
A única coisa que não entendo é qual par de moedas deve ser enviado para mim em qual momento. Onde obtenho a informação de que, por exemplo, 4 pedidos estão abertos em tais pares e que estes pares devem ser enviados para mim?
Eu não sei se estou fazendo direito ou não ... de qualquer forma ....
Mas eu tenho EURUSD: zero erro de divisão. Aparentemente, este erro diz que eu tenho 0 em uma variável em algum lugar, provavelmente, é uma operação de divisão. Estou mesmo tentando implementá-lo corretamente?