[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 148

 
Roger:
Não se preocupe, ele retorna tantos quantos forem necessários, basta querer vê-lo.

de fato)))

Imprimir("ma red = ",MA_M_0); // 4 sinais (1.4533)

Print("ma red = ",DoubleToStr(MA_M_0,5)); // 5 dígitos (1,45332)

Peço desculpas, talvez esta tenha sido uma pergunta tola)

Mas por que sim?

 
Há muito tempo, quando o MT4 ainda não existia e o comércio automatizado estava em sua infância, o padrão para os preços era de 4 casas decimais. É por isso que não se preocuparam com isso.
 
descobriu-o... Então esse é o problema com "Imprimir", eu pensei que era uma variável))))
 
DhP:
Outra maneira fácil de evitar estes problemas:
O que há originalmente no tempo anterior?
 

Suponha que hajauma Ordem Buy-Stop aberta que esteja bastante distante do preço atual. Precisamos alterar ligeiramente seu preço aberto.

- Existe alguma distância mínima para um novo ponto aberto do mesmo pedido, em relação ao valor atual do OrderOpenPrice() abaixo do qual um novo preço aberto não pode ser definido?

Obrigado!

 
chief2000:

Suponha que haja uma Ordem Buy-Stop aberta que esteja bastante distante do preço atual. Precisamos alterar ligeiramente seu preço aberto.

- Existe alguma distância mínima para um novo ponto aberto do mesmo pedido, em relação ao valor atual do OrderOpenPrice() abaixo do qual um novo preço aberto não pode ser definido?

Obrigado!

StopLevel - a esta distância e mais perto do preço, o pedido não pode ser estabelecido.

FreezeLevel - se um pedido já estiver em vigor e o preço estiver a esta distância ou mais próximo dele, você não pode apagar ou modificar o pedido (se sua corretora o utilizar)

 
artmedia70:

StopLevel - a esta distância e mais perto do preço, você não pode fazer um pedido.

FreezeLevel - se um pedido já tiver sido feito e o preço tiver sido movido para ele a esta distância ou mais próximo, não podemos apagá-lo ou modificá-lo (se sua corretora o utilizar).

Não era exatamente sobre isso que eu estava perguntando. O que eu quis dizer foi que eu tenho um pedido Buy-STOP e quero mudar seu Preço de PedidoOpenPrice() pela distância mínima possível (e esse preço está bem longe de pedir).

- Por exemplo, posso mover OrderOpenPrice() por 1 pip? Isto é

Новый_OrderOpenPrice = OrderOpenPrice() + Point

Estou perguntando, porque vi alguns erros estranhos, mas aumentei a distância e os erros desapareceram.

(eu poderia escrever um código separado e verificá-lo, mas ainda não me interessei por ele)

 

Ao comparar duas variáveis de tipo duplo, às vezes se obtém um resultado incorreto. Isto é provavelmente porque uma das variáveis pode ser ligeiramente maior ou menor do que a outra (por exemplo, por 10 dígitos). O uso da função NormalizeDouble não ajuda na maioria dos casos. Algumas pessoas aconselham a subtrair uma variável de outra, mas nesse caso, como construir uma expressão mais corretamente se(a>=b), subtraindo uma variável de outra? Ou talvez haja alguma outra maneira?

 
Elenn:

Ao comparar duas variáveis de tipo duplo, às vezes se obtém um resultado incorreto. Isto é provavelmente porque uma das variáveis pode ser ligeiramente maior ou menor do que a outra (por exemplo, por 10 dígitos). O uso da função NormalizeDouble não ajuda na maioria dos casos. Algumas pessoas aconselham a subtrair uma variável de outra, mas nesse caso, como construir uma expressão mais corretamente se(a>=b), subtraindo uma variável de outra? Ou talvez haja alguma outra maneira?

Você realmente precisa de uma precisão tão alta? - Até um décimo de um dígito.

Se você quiser comparar usando a subtração, você pode comparar com 0:

if((a-b)>0) { // ===>>>> a>b

Ou você pode multiplicar por 1 000 000 e depois comparar :)

 
chief2000:

Você realmente precisa de tanta precisão? - Até o décimo dígito.

Se você quiser comparar usando a subtração, você pode comparar com 0:

if((a-b)>0) { // ===>>>> a>b

Ou você pode multiplicar por 1.000.000 e depois comparar :)

Eu sempre uso um certo +/-epsilon=Ponto*0,01 ao comparar preços.

Multiplicar por 1.000.000 não vai fazer nada. acredite em mim.