Pergunte! - página 54

 

solução possível para o buffer 0:

int currentBar=0;

duplo mais baixoFG=iCustom(NULL,0, "Forex-Grail Trade Indicator",período,PRICE_CLOSE,0, barra atual);

duplo mais altoFG = mais baixoFG;

for(;currentBar<4; currentBar++) lowestFG=MathMin(lowestFG, iCustom(NULL,0, "Forex-Grail Trade Indicator",period,PRICE_CLOSE,0,currentBar));

for(currentBar=0;currentBar<4; currentBar++) highestFG =MathMax(highestFG , iCustom(NULL,0, "Forex-Grail Trade Indicator",período,PRICE_CLOSE,0,currentBar));

você precisa fazer tudo de novo para o buffer # 1

 
iscuba11:
Como limitar a quantidade de casas decimais que uma declaração de comentário mostra no gráfico? Neste momento ele mostra um resultado variável como .00347892, e eu quero que ele mostre apenas .0035 (Arredondado para o próximo número)??
Aprecie sua contribuição! Dave

Indicador defunçãoDígitos

 

Antes de tudo, gostaria de agradecer a todos vocês por me ajudarem. Acredito que agora posso colocar meu novo EA em linha para testes.

Ainda tenho uma pergunta sobre as casas decimais.

A declaração de comentário está sendo gerada a partir da EA e não do indicador. A função indicatordigits, acredito, é usada no próprio indicador e não na EA. Não existe um simples arredondamento até x casas de uma variável que eu poderia usar? Por que eles tornam esta linguagem tão complicada. Mesmo a linguagem básica provavelmente poderia fazer isso!

Como sempre apreciado, o feedback de conhecimento e sabedoria é bem-vindo. Por favor, ajude se você puder.

Obrigado a todos!

 

Finalmente li seu post corretamente, tente Comentar(DoubleToStr(doubleVariable, 4));

 

Consegui! Agora para ajustar e testar. Todos vocês me abençoaram - Obrigado!

Paz e amor a todos, em nome de Jesus! Reverendo Dave
 

Precisa de mais ajuda, por favor!

if(currency_decimal == 2) OpenTriggerLevel = DoubleToStr(OpenTriggerLevel,2);

O que estou tentando fazer é que o EA altere automaticamente o OpenTriggerLevel padrão de 4 casas decimais para 2 quando o usuário selecionar 2 (moeda_decimal) de 4 na configuração do EA. Tal mudança teria que ocorrer em uma moeda como USDJPY que é 2 casas decimais.

Evidentemente, o compilador não gosta do segundo sinal ' = ' na declaração acima.

Com apreciação contínua, Obrigado in Advance por sua ajuda de entrada!

Dave
 

MQL4 tem dígitos variáveis pré-definidos que correspondem ao número de casas decimais do par.

DoubleToStr(OpenTriggerLevel, Dígitos);

o código está correto, provavelmente erro de aparência na definição da variável.

 
asmdev:
MQL4 tem dígitos variáveis pré-definidos que correspondem ao número de casas decimais do par.

DoubleToStr(OpenTriggerLevel, Dígitos);

o código está correto, provavelmente erro de aparência na definição da variável.

Eu tentei isto, mas ele ainda exibe OpenTriggerLevel como .0004 versus .04:

if(currency_decimal == 2) DoubleToStr(OpenTriggerLevel,2);

Ainda confuso????

 
iscuba11:
if(currency_decimal == 2) OpenTriggerLevel = DoubleToStr(OpenTriggerLevel,2);[/PHP]

What I am attempting to do is have the EA automatically change the default OpenTriggerLevel from 4 decimal places to 2 when the user selects 2 (currency_decimal) from 4 in the EA setup. Such a change would have to take place on a currency like USDJPY which is 2 decimal places.

Evidently the compiler does not like the second ' = ' sign in the above statement.

With continued appreciation, Thanks in Advance for your input assistance!

Dave

O problema dessa afirmação é que a variável 'OpenTriggerLevel' é do tipo 'duplo', enquanto a função retorna uma 'string'. Portanto, embora o código esteja sintaticamente correto, é semanticamente errado, e eu acreditaria que é por isso que o compilador reclama.

Se você quiser carregar a string em uma variável, você precisará de uma variável para fazê-lo. Caso contrário, você pode usar a função 'DoubleToStr' dentro do argumento 'Comentar' para substituir onde atualmente diz 'OpenTriggerLevel'. Lá ele poderia dizer

[PHP]DoubleToStr( OpenTriggerLevel, currency_decimal )

e não precisaria da declaração "se ..." de forma alguma.

 

alguém sabe como obter o total de cada compra, venda, compra, venda, venda, buylimit e venda pelo roteiro? obrigado