[ARQUIVO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 4. - página 552

 
paladin80:

Para citar o moderador "A função retorna verdadeiro quando uma nova barra aparece na M15. Usar somente na EA".


Muito obrigado.
 
iruogl:

Muito obrigado.

paladino80:

Para citar o moderador "A função retorna verdadeiro quando uma nova barra aparece na M15. Usar somente na EA".


Eu ainda estou aprendendo. E nesta função, como você pode determinar o preço de abertura de uma vela.
 
rigonich:

Perguntas para os profissionais dos manequins:

1. ao realizar quaisquer operações com variáveis normalizadas de tipo duplo, comportam-se como variáveis de tipo int (o resultado é um número normalizado), ou

o resultado deve ser normalizado?

Na ajuda, está escrito: "Dois números de ponto flutuante não normalizados não podem ser ligados usando as operações == ou !=". Posso comparar um normalizado e um não-normalizado

número? As operações >= e <= podem ser usadas?

Quaisquer números podem ser comparados uns com os outros usando >= e <=. Após a normalização do NormalizeDouble, já é possível comparar como == ou !=. Entretanto, você precisa ver se faz sentido comparar números como este, por exemplo, 10 casas decimais, só não é realista encontrar uma situação em que eles seriam iguais ou desiguais.
 
iruogl:


Eu ainda estou aprendendo. E nesta função, como você pode determinar o preço de abertura de uma vela.

Esta função só detecta quando uma vela aparece. Para encontrar o preço de abertura, use iOpen. Algo parecido com isto:

int init()
{ ...
}
//---
int start()
{ 
   if (CheckOpenM15())
   {  double BarOpenPrice=iOpen(NULL, PERIOD_M15, 0)
   }
...
}
//---
int deinit()
{ ...
}

// сама функция должна находиться отдельно
bool CheckOpenM15()
{
   static int PrevTime=0;
   if (PrevTime==iTime(NULL, PERIOD_M15,0)) return(false);
   PrevTime=iTime(NULL, PERIOD_M15,0);
   return(true);
}
 
iruogl:

Eu sou um principiante.

Pessoal, por favor, avisem, como eu sei que o robô é ativado toda vez que um tick muda. Como fazê-lo ativar somente quando uma vela nova se abre, ou seja, quando o preço de abertura da vela aparece.

Obrigado a todos pelas dicas.


Também sou iniciante, mas acho que preciso declarar uma variável de tipo data/hora em nível global (por exemplo, data/hora;) , init()e verificar no início do início() se TIME=== Tempo[0] -- retornar(0); se não -- TIME= Tempo[0];. Neste caso, o especialista executará o start() apenas uma vez na abertura de um novo bar.
 
paladin80:
Quaisquer números podem ser comparados uns com os outros usando >= e <=. Após a normalização do NormalizeDouble, é possível compará-los como == ou !=. Entretanto, você precisa ver se faz sentido comparar números com, por exemplo, 10 casas decimais, é irrealista encontrar uma situação em que eles seriam iguais ou desiguais.

Muito obrigado pela resposta. Apenas para esclarecer uma questão: após a normalização o número na memória do computador permanece o mesmo e apenas sua representação muda. ou o próprio número muda?
 
rigonich:

Muito obrigado por sua resposta. Apenas para esclarecer uma questão: após a normalização, o número na memória do computador permanece o mesmo e apenas sua representação muda, ou o próprio número muda?

Após a normalização, o número muda, por exemplo

double var1=0.12345 6789;
double var2=NormalizeDouble(var1,5); // var2=0.12346

Outra coisa é quando você imprime, com o DoubleToStr, por exemplo:

double var1=0.12345 6789;
Print("var1 = ",DoubleToStr(var1,5)); // Выход: var1=0.12345

E se você o imprime após a normalização, é assim:

double var1=0.12345 6789;
double var2=NormalizeDouble(var1,5);  // var2=0.12346
Print("var2 = ",DoubleToStr(var2,5)); // Выход: var2=0.12346
 
paladin80:

Esta função só detecta quando uma vela aparece. Para encontrar o preço de abertura, use iOpen. Algo parecido com isto:


Obrigado, você é muito útil
 
okvseok:

Por favor, avise!

É possível imprimir uma folha, mas como posso defini-la para começar a imprimir folhas a partir de uma determinada data até uma determinada data? Para que uma folha de cada vez não seja impressa.

Obrigado!



ignorar)
 
Boa tarde! Sabe, algo não está funcionando no meu scrip. Quando o arrasto para a tabela, não acontece nada.
Razão: