Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1021

 
kashi_ann:

Boa noite,


Em algum lugar encontrei um artigo onde todo o código para um "teste" EA foi escrito/decifrado. Esqueci de salvá-lo e não consigo encontrá-lo. Talvez alguém saiba, já viu este artigo?

Praticamente todos os artigos têm um código EA de teste. Como alguém pode saber sobre o que você está perguntando?

 
ToNy_Nazarov:

Boa tarde!
É possível um EA para MT4 trabalhar com preços com 5 casas decimais? Em caso afirmativo, como devo fazer isso? Estou trabalhando via Forex Club.

A função Dígitos retorna "5", mas o preço da licitação retorna "1.1094" em vez de "1.10943", ou seja, sem o 5º sinal.
Como posso obter o preço total para trabalhar com a quinta casa decimal?

Além disso, a função Ponto produz um valor de 0 ao invés de 0,00001. Por que isso acontece e como posso obter o valor correto?

É claro que você pode. Por padrão.

Sem código, sem resposta.

 
Como tirar um único dígito de um número? Digamos que há um número 1.2568. Como eu pego o último dígito "8"? Posso usar DoubleToStr() para convertê-lo para uma string e depois usar StringSubstr() para obter o último número e convertê-lo para int. Alguma outra opção?
 
Yevhenii Levchenko:
Como tirar um único dígito de um número? Digamos que há um número 1.2568. Como eu pego o último dígito "8"? Posso usar DoubleToStr() para convertê-lo em uma string e depois StringSubstr() para obter o último número e convertê-lo para int. Alguma outra opção?

Há sempre outras opções.

Se for um valor normalizado, ele deve ser multiplicado, neste caso por 10000 ou dividido por 0,0001 para obter o inteiro 12568 e tomaro restante da divisão por 10.

12568%10=8

 
Alexey Viktorov:

Há sempre outras opções.

Se for um valor normalizado, ele deve ser multiplicado, neste caso por 10000 ou dividido por 0,0001 para obter o inteiro 12568 e tomar o restante da divisão por 10.

12568%10=8

Ótima opção! Obrigado Victor!
 
Yevhenii Levchenko:
Ótima opção! Obrigado, Victor!

Quando eu era mais jovem, meu nome era Alexey. Mas eu também gosto de Victor:))))

 
Artyom Trishkin:

É claro que você pode. Por padrão.

Sem código, sem resposta.


//--------------------------------------------------------------------
int start()
{
Comentário("Licitação = ", Licitação,
"\nAsk =", Pergunte,
"\nPoint = ", _Point,
"\nDígitos =", Dígitos);
retorno(0);
}
//--------------------------------------------------------------------
Arquivos anexados:
 
Alexey Viktorov:

Quando eu era mais jovem, meu nome era Alexey. Mas eu também gosto do Victor :))))

Oops, algo deu errado ))))

Desculpe, Alexei))))

 
ToNy_Nazarov:

//--------------------------------------------------------------------
int start()
{
Comentário("Licitação = ", Licitação,
"\nAsk =", Pergunte,
"\nPoint = ", _Point,
"\nDígitos =", Dígitos);
retorno(0);
}
//--------------------------------------------------------------------

A função DoubleToString() é utilizada para imprimir números reais

Документация по MQL5: Преобразование данных / DoubleToString
Документация по MQL5: Преобразование данных / DoubleToString
  • www.mql5.com
[in]  Формат точности. Если значение digits лежит в диапазоне от 0 до 16, то будет получено строковое представление числа с указанным количество знаков после запятой. Если значение digits лежит в диапазоне от -1 до -16, то...
 
Artyom Trishkin:

A função DoubleToString() é utilizada para imprimir números reais

A questão está completamente resolvida, obrigado pela ajuda!

//--------------------------------------------------------------------
int start()
{
duplo delta = Ask-Bid;
duplo delta2 = 1.10059-_Ponto;
Comentário("Bid = ", DoubleToString(Bid,5),
"\nAsk = ", DoubleToString(Ask,5),
"\nDelta = ", DoubleToString(delta,5),
"\nDelta2 = ", DoubleToString(delta2,5),
"\nPoint = ", DoubleToString(_Point,5),
"\nDígitos =", Dígitos);
retorno(0);
}
//--------------------------------------------------------------------



Arquivos anexados:
Razão: