Pergunte! - página 99

 
Big Be:
QUANDO você quer usar uma variável STATIC - que problemas ela pode resolver?

QUANDO você quer colocar algo na seção INIT() - que problemas ele resolve?

Big Be

Então, uma resposta a isso, é que ao invés das explicações na documentação do MQ4, ou em adição a elas?

 

Como manter o controle de vários pedidos?

Atualmente estou fazendo uma EA que tem apenas 1 pedido aberto de cada vez.

Tenho muitas variáveis para acompanhar o que está acontecendo durante este comércio.

Se eu tivesse mais negócios abertos ao mesmo tempo, pensei que poderia usar arrays para estas variáveis com o número do ticket como chave. Mas como eu entendo, as chaves têm que ser 0,1,2,3 etc., certo? Então, isto não seria possível.

Ao invés disso, eu poderia ter uma matriz multidimensional como esta, espero que você entenda meu javascript/php como descrição.

barsDesdeOpen = array(

0 => matriz(0 => 123123, 1 => 63)

1 => matriz(0 => 552352, 1 => 5)

);

0 em segunda dimensão seria o número do bilhete, e 1 seria a quantidade de barras desde que o comércio fosse aberto.

BarSinceOpen é apenas um exemplo... Sei que poderia calcular esta para cada comércio sempre que quisesse, mas não é essa a questão. Eu tenho MUITAS coisas que acompanho para uma troca.

E para selecionar a ordem correta eu teria que iterar sobre a matriz e selecionar a matriz de segundo nível com o ticket correto.

Você acha que esta é uma boa idéia? Como você faria isso?

 

Outra pergunta

Parece que quando eu faço uma ordemModificar() para dar lucro, por exemplo.

E então, antes do próximo tick, ou poderíamos dizer, antes de selecionar a mesma ordem novamente, eu faço outra ordemModify() para definir um stop loss. E nesse caso eu uso OrderTakeProfit() para não retirar o take profit. Mas, ele remove o take profit de qualquer maneira.

Preciso esperar pelo próximo tick ou selecionar a ordem novamente para que a OrderTakeProfit() devolva meu novo take profit?

 
Big Be:
QUANDO você quer usar uma variável STATIC - que problemas ela pode resolver?

QUANDO você quer colocar algo na seção INIT() - que problemas ele resolve?

Big Be
ralph.ronnquist:
Então, uma resposta a isso, é que ao invés das explicações na documentação MQ4, ou em adição a elas?

Isso seria um acréscimo.

(Eu sempre tento fazer meu dever de casa primeiro).

Talvez eu precise de explicação e exemplo(s).

Grande Seja

 
Big Be:
Quando você quiser usar uma variável STATIC - que problemas ela pode resolver?

QUANDO você quer colocar algo na seção INIT() - que problemas ele resolve?

Grande Seja

Uma variável estática permanecerá a mesma com cada chamada de função em que essa variável estiver, a menos que ela seja alterada na função, é claro. Você pode querer um inteiro nessa função apenas que você queira aumentar em 1 por exemplo, cada chamada de função.

Mas, você pode também usar variáveis globais para isso.

Exemplo de init:

int init() {

TakeProfit=TakeProfit*Point;

StopLoss=StopLoss*Point;

TrailingStop=TrailingStop*Point;

breakEven=breakEven*Point;

return(0);

}

Estas são variáveis externas e você fixa o takeprofit em 50, por exemplo, se você quiser 50 pips. Mas para que isto funcione na EA, deve ser multiplicado com o valor pip da moeda 0,001, por exemplo.

 
SimonF:
Uma variável estática permanecerá a mesma com cada chamada de função em que essa variável estiver, a menos que ela seja alterada na função, é claro. Você pode querer um inteiro nessa função apenas que você queira aumentar em 1 por exemplo, cada chamada de função.

Mas, você também poderia usar variáveis globais para isso.

...

Simon- ...

Obrigado. Por favor, ajude a deixar isso claro:

Isto significa que uma variável estática detém o último valor atribuído a ela, mesmo que não seja global?

Com relação ao init(), parece que é usada como uma função de configuração.

- Você pode me dizer outros bons exemplos para ela?

- Você tem que segui-la com deinit()?

Big Be

 

Pergunte

codersguru:
Oi pessoal,

Tenho muitas mensagens particulares me pedindo ajuda com algumas peças de código.

Aqui você pode postar suas perguntas relacionadas à MQL4, e eu farei o meu melhor para respondê-las.

Olá,

Quero aprender mql diretamente de você. Li seu tutorial e tenho codificado o casal de EA.

 

ma cor baseada no fechamento

HI,

existe algum indicador ma que muda de cor de acordo com o fechamento da vela. Por exemplo, se a vela fechar acima do SMA, a cor da linha é azul, mas se abaixo do MA, a cor mudará para vermelho.

Sei que existe um indicador que se chama "ma_in_color.mq4", desculpe mas não sei como colocá-lo, minha pergunta é, se existe alguém lá fora, que poderia programar um alerta sonoro neste indicador.

thx muito

 

Qual é a maneira mais fácil de obter os valores tampão de um indicador para exibir como comentário ou imprimir na pasta dos especialistas para que eu possa ver os valores mudarem? Eu tenho 8 buffers neste indicador.

Dave

 

ctrl-D .

Razão: