Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 426
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
Bom dia queridos usuários do fórum.
Por favor, ajude-me na seguinte tarefa:
Preciso obter os dados indicadores em mt4 usando mql, por exemplo, MA5 com prazo 1d, a partir das 14h30 de anteontem.
Ou seja, se eu executasse o roteiro com o iMA anteontem às 14h30, não haveria dúvidas, mas como obtê-lo hoje.
ao menos me diga onde cavar
É muito simples. Você precisa definir 7 parâmetros para calcular o iMA. O primeiro parâmetro, o nome do símbolo, é óbvio. Como segundo, o cronograma, defina M1. O terceiro parâmetro - o período - definido quantas vezes você precisar, quantos dias é mais de um minuto. O quarto parâmetro - shift = 0. Os dois parâmetros seguintes - o método de cálculo da média e o tipo de preço - você sabe. O último é o número da barra. Por favor, calcule o número da barra se você souber o tempo necessário. Isso é tudo! Verifique novamente, fazendo cálculos para os prazos M5 e M15. Talvez até para M30.
É muito simples. A fim de calcular o iMA, são necessários 7 parâmetros. O primeiro parâmetro, o nome do símbolo, é óbvio. Como segundo parâmetro, o cronograma, defina M1. O terceiro parâmetro - o período - definido quantas vezes você precisar, quantos dias é mais de um minuto. O quarto parâmetro - shift = 0. Os dois parâmetros seguintes - o método de cálculo da média e o tipo de preço - você sabe. O último é o número da barra. Por favor, calcule o número da barra se você souber o tempo necessário. Isso é tudo! Verifique novamente, fazendo cálculos para os prazos M5 e M15. Talvez até mesmo para M30.
Infelizmente, não é fácil. Se pegarmos o MA5, horário 1440 (1 dia), selecionar a barra número 2 (anteontem), obteremos o MA5 para a abertura ou o fechamento da última vela, mas não o momento 14.30. E isso é o que precisamos especificar. Mais uma vez. Os indicadores técnicos são calculados a partir de vários castiçais, eles abrem às 00h00 (se estivermos falando de um dia), fecham às 23h59, mas o último castiçal (se for 0 bar) não está fechado, e tomamos o último preço da barra 0 para seu cálculo. Se o MA estiver na barra zero, isso é fácil, mas se não for na barra zero mas no meio do dia anterior, o que devemos fazer? Como podemos calcular МА no meio do dia anterior em TF 1440?
Muito obrigado! Vou começar a escrever o código :) Eu o informarei sobre os resultados.
Infelizmente, não é fácil. Se pegarmos o MA5, horário 1440 (1 dia), selecionar a barra número 2 (anteontem), obteremos o MA5 para a abertura ou o fechamento da última vela, mas não o momento 14.30. E isso é o que precisamos especificar. Mais uma vez. Os indicadores técnicos são calculados a partir de vários castiçais, eles abrem às 00h00 (se estivermos falando de um dia), fecham às 23h59, mas o último castiçal (se for 0 bar) não está fechado, e tomamos o último preço da barra 0 para seu cálculo. Se o MA estiver na barra zero, isso é fácil, mas se não for na barra zero mas no meio do dia anterior, o que devemos fazer? Como posso calcular МА no meio do dia anterior com o prazo de 1440?
É muito simples
Assim
Alguma idéia de como organizar o envio de sinais por roteiro?
Preciso da ajuda do conhecedor
Eu tenho um código fonte EA, compilado em 2014 e tudo estava bem.
Decidi escrever uma nova conta e compilar a EA sobre ela, mas ela não quer compilar
Eu tenho 23 erros como estes ( } )
O que eu devo fazer e o que mudou desde 2014 ?
Infelizmente, não é fácil. Se pegarmos o MA5, horário 1440 (1 dia), selecionar a barra número 2 (anteontem), obteremos o MA5 para a abertura ou o fechamento da última vela, mas não o momento 14.30. E isso é o que precisamos especificar. Mais uma vez. Os indicadores técnicos são calculados a partir de vários castiçais, eles abrem às 00h00 (se estivermos falando de um dia), fecham às 23h59, mas o último castiçal (se for 0 bar) não está fechado, e tomamos o último preço da barra 0 para seu cálculo. Se o MA estiver na barra zero, isso é fácil, mas se não for na barra zero mas no meio do dia anterior, o que devemos fazer? Como posso calcular o MA no meio do dia anterior em TF 1440?
Olá. Graças àSTARIJ eArtyom Trishkin pela última consulta. Mas como ainda sou um novato, surgem outras questões. Por exemplo, o seguinte. Eu uso a seguinte função para abrir apenas uma posição em um bar:
E surge imediatamente uma pergunta: por que preciso enviar uma variável estática "para o início do tempo" cada vez que tenho acesso à função? Afinal, ele aceita o valor zero por si só na primeira chamada, e depois deixa armazenar o valor da barra de zero anterior até a próxima chamada, em vez de ser reposto a zero. Talvez esta simples função pudesse ser simplificada. Entretanto, eu mesmo tenho medo de estragar tudo. E mais uma pergunta sobre esta função: não será o caso da expressãoNew_Time=Time[0]; não capta o milissegundo quando um novo bar abre? O que acontecerá então? Obrigado.
Olá. ObrigadoSTARIJ pela última consulta também. Mas como ainda sou um novato, surgem outras questões. Por exemplo, o seguinte. Eu uso a seguinte função para abrir apenas uma posição em um bar:
E imediatamente surge uma pergunta: por que preciso enviar uma variável estática "para o início do tempo" cada vez que tenho acesso à função? Afinal, ele aceita o valor zero por si só na primeira chamada, e depois deixa armazenar o valor da barra de zero anterior até a próxima chamada, em vez de ser reposto a zero. Talvez esta simples função pudesse ser simplificada. Entretanto, eu mesmo tenho medo de estragar tudo. E mais uma pergunta sobre esta função: não será o caso da expressãoNew_Time=Time[0]; não capta o milissegundo quando um novo bar abre? O que acontecerá então? Obrigado.
Olá. Graças àSTARIJ eArtyom Trishkin pela última consulta. Mas como ainda sou um novato, surgem outras questões. Por exemplo, o seguinte. Eu uso a seguinte função para abrir apenas uma posição em um bar:
E surge imediatamente uma pergunta: por que preciso enviar uma variável estática "para o início do tempo" cada vez que tenho acesso à função? Afinal, ele aceita o valor zero por si só na primeira chamada, e depois deixa armazenar o valor da barra de zero anterior até a próxima chamada, em vez de ser reposto a zero. Talvez esta simples função pudesse ser simplificada. Entretanto, eu mesmo tenho medo de estragar tudo. E tenho mais uma pergunta a respeito desta função: não é possível que a expressãoNew_Time=Time[0]; não pegue o milissegundo quando um novo bar abrir? O que acontecerá então? Obrigado.
A respeito da segunda pergunta,
se o primeiro tique não pegar, o segundo pegará.