Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 563
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Sim, estou a perguntar sobre a MQL 5? Sim, os dados do símbolo actual devem ser acedidos. Os dados são necessários no código EA. Por isso, preciso, por exemplo, de saber o preço próximo do bar que precede o actual.
Veja o exemplo para CopyTime
Sim, estou a perguntar sobre a MQL5? Sim, os dados do símbolo actual devem ser acedidos. Os dados de que necessitamos em código Expert Advisor. Assim, por exemplo, preciso de saber o preço próximo do bar que precede o actual
Deve ler um pouco a documentação.
Aqui está um exemplo de como obter o preço de fecho e os amortecedores indicadores
...
Aqui está um exemplo de obter o preço de fecho, bem como os amortecedores indicadores
Olá a todos!
Estou a receber dados sobre o histórico comercial no testador usando o evento OnTrade.
E isto é o que recebo nos registos.
0 22:58:16.487 Core 1 2016.04.01 00:00 Número de barras na história do terminal para o período do símbolo GBPUSD no momento = 7729
JR 0 22:58:16.487 Core 1 2016.04.01 03:00:00 Tentativa de comércio 0 com lote 0.01
EL 0 22:58:16.487 Core 1 2016.04.01 03:00:00 compra no mercado 0,01 GBPUSD sl: 1.43033 tp: 1.44034 (1.43646 / 1.43654 / 1.43646)
GO 0 22:58:16.487 Core 1 2016.04.01 03:00:00 negócio #2 comprar 0,01 GBPUSD a 1,43654 feito (com base no pedido #2)
GE 0 22:58:16.487 Core 1 2016.04.01 03:00:00 negócio realizado [#2 comprar 0,01 GBPUSD a 1,43654]
NK 0 22:58:16.487 Core 1 2016.04.01 03:00:00 encomenda efectuada compra 0,01 a 1,43654 [#2 compra 0,01 GBPUSD a 1,43654]
HI 0 22:58:16.487 Core 1 2016.04.01 03:00:00 bilhete=1
HM 0 22:58:16.487 Core 1 2016.04.01 03:00:00 preço=0.0
HH 0 22:58:16.487 Core 1 2016.04.01 03:00:00 hora=2016.04.01 00:00
CR 0 22:58:16.487 Core 1 2016.04.01 03:00:00 bilhete=2
ID 0 22:58:16.487 Core 1 2016.04.01 03:00:00 preço=1.43654
OP 0 22:58:16.487 Core 1 2016.04.01 03:00:00 hora=2016.04.01 03:00
De onde vem o primeiro comércio com preço zero? Eu não o faço :-).
Eu não o faço :-) Explicar plz.
Z.P. Acho que consegui. O primeiro negócio tem um lucro de 10K. Não sei o que fazer com ele, mas continua a ser estranho. Porquê?
E aqui está outra questão. O negócio (comprar a 1,43654) ainda não foi aberto. Como é que apareceu na história?
Preciso de obter dados SOMENTE sobre negócios fechados na matriz, como na MQL4. Como fazê-lo ????
P.S. Filter by DEAL_ENTRY_OUT ?
Já tentou reinstalar o terminal?
Mau exemplo. A variável que armazena o manípulo indicador em MQL5 deve ser declarada no "cabeçalho" - na área global de variáveis do programa, obter o manípulo em OnInit(). E só então poderá consultar o manípulo do indicador para obter dados de qualquer parte do programa.
Não concordo inteiramente consigo quanto a obter uma pega, porque a função OnInit() é executada uma vez e não há 100% de garantia de que o indicador será criado desde a primeira vez. Pode ter razão em declarar uma variável, mas quero saber se a seguinte documentação diz algo pior do que a variante com uma variável estática
As variáveis locais declaradas com a palavra-chave estática guardam os seus valores enquanto a função existir. Com cada chamada subsequente de uma função, estas variáveis locais contêm os valores que tinham na chamada anterior.
Filtrar por DEAL_ENTRY_OUT
Não concordo inteiramente consigo quanto a obter uma pega, porque a função OnInit() é executada uma vez e não há 100% de garantia de que o indicador será criado desde a primeira vez. Pode ter razão sobre a declaração de uma variável, mas quero saber quão pior é a opção de uma variável estática na documentação
...
Para este efeito, o OnInit() verifica se o manípulo indicador é criado. Se o manípulo indicador não tiver sido criado, OnOnit() deve retornarINIT_FAILED. Ou seja, o cabo indicador é criado apenas uma vez e apenas no OnInit(). Isto não é "4" - não é uma confusão e vaguear e declarar alças em todos os cantos do programa.