Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 624
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
Esta é a maneira de modificar
há muitos erros no código, em
é melhor normalizar os preços, então eles funcionarão, então o servidor dará um erro de "preços errados", é desejável normalizar oStopLoss_SELL
e, muito provavelmente, você precisa verificar se o StopLoss é igual a zero, e não é desejável comparar números reais para ser igual, você deve tentar comparar números reais com > ou <
Ajude-me a consertar um bug no indicador, ele não se eleva nem abaixa do dia quando está na última vela da hora.
Eu esbocei o indicador, seu código não gosta de trabalhar com cordas, eu o escreveria mais simples, aqui está um exemplo. Embora se sua tarefa for levar em conta a compensação de tempo do servidor, então o contrário é necessário.
Meu exemplo também não é um exemplo, eu o escrevi rapidamente, acho que não deveria ter contado do final da história até o início da primeira corrida, mas da barra zero até a história, o código teria sido mais curto e teria sido capaz de calcular o dia atual mais rápido - o ciclo teria sido mais curto,
Mas eu verifiquei no testador, parece funcionar sem problemas, que seja assim, é tarde, estou com sono... Eu fiz um mau exemplo (((
há muitos erros no código, em
é melhor normalizar os preços, então eles funcionarão, então o servidor dará um erro de "preços errados", é desejável normalizar oStopLoss_SELL
E, muito provavelmente, você precisa verificar se o StopLoss é igual a zero, e não é desejável comparar números reais para ser igual, você deve tentar comparar números reais com > ou <
É isso mesmo. Eu acabei de mostrar um lugar no código, porque ele não modifica as ordens do mercado: solicitar uma parada do mercado dará 0.
Aqui está um indicador esboçado, não gosto de seu código com cordas, eu o escreveria mais simples, aqui está um exemplo. Embora se sua tarefa é levar em conta a compensação de tempo do servidor, então você tem que fazer isso de forma diferente.
Meu exemplo também não é um exemplo, eu o escrevi rapidamente, acho que não deveria ter contado do final da história até o início da primeira corrida, mas da barra zero até a história, o código teria sido mais curto e teria sido capaz de calcular o dia atual mais rápido - o ciclo teria sido mais curto,
Mas eu verifiquei no testador, parece funcionar sem problemas, que seja assim, é tarde, estou com sono... Mau exemplo feito (((
Não é meu código, eu o encontrei na Internet, não consigo escrever indicadores. :)
Pelo que vale um mau exemplo, eu realmente gostei do seu indicador, ele funciona no Testador de Estratégia e em gráficos reais.
Muito obrigado pela ajuda rápida!
Posso também pedir-lhe que remova as linhas que desenham o canal? Marquei-as com setas vermelhas na imagem da tela.
E se não for muito incômodo, favor acrescentar a função de desligar/ligar a formação de linhas no dia atual. Eu os marquei na captura de tela com setas azuis. https://prnt.sc/kuuj3e
Obrigado de antemão!
Olá Querido!
Favor aconselhar como executar o procedimento OnInit();
após as variáveis do Expert Advisor terem sido alteradas!?
Ao colocar o Expert Advisor no gráfico, há o OnInit(); mas quando as variáveis são alteradas, não há o OnInit!?
Como identificar o evento da mudança de variável do Expert Advisor!?
Por favor, ajude com conselhos, ou melhor, com código, como fazer isso!?
Olá Querido!
Favor aconselhar como executar o procedimento OnInit();
após as variáveis do Expert Advisor terem sido alteradas!?
Ao colocar o Expert Advisor no gráfico, há o OnInit(); mas quando as variáveis são alteradas, não há o OnInit!?
Como identificar o evento da mudança de variável do Expert Advisor!?
Por favor, ajude com conselhos, ou melhor, com código, como fazer isso!?
Experimente este código, leia a mensagem no log EA (troque o TF, digite a variável, reinicie o terminal sem fechar o EA...)
e a segunda opção é descrever no escopo global variável com modificador estático
experimentar tal código, ler a mensagem no registro do Expert Advisor (trocar o TF, digitar a variável, recarregar o terminal sem fechar o Expert Advisor...)
e a segunda opção é descrever no escopo global variável com modificador estático
No escopo global com o modificador static????? Isto é algum tipo de perversão.
Em nível global com o modificador estático????? Isto é algum tipo de perversão.
Mas, pela minha experiência, quando as compilações do MT4 foram freqüentemente atualizadas, é melhor escrevê-las de acordo com o clássico C++, do que obter a resposta "escreva o código corretamente" ao se comunicar com os desenvolvedores
ZS: Lembro-me por que comecei a escrever o modificador estático globalmente, se eu quiser ter certeza de não "perder" o valor da variável durante a execução do programa MQL. Anteriormente (cerca de 5 anos atrás) a diretiva #property strict precompiler não existia e ao habilitar arquivos (#include ou biblioteca - não me lembro mais) eu "perdi minha variável" uma vez, pois os nomes das variáveis coincidiam com o nome da variável.Fui amaldiçoado pela MQL, mas mais tarde descobri este erro por acidente. Mas se eu escrevesse um modificador estático o compilador mostraria um erro de compilação também neste caso.
O compilador MT4 atual é bastante útil e confiável, e com a diretiva #propriedade rigorosa, talvez eu não precise de tais precauções, mas eu escrevo estático como um hábito quando não quero "perder um valor" de uma variável
ZZZY: este modificador não afeta a velocidade de execução do programa MQL, e é conveniente para mim abrir meu código mais tarde, e tendo visto estática saberei exatamente, que esta variável tem um valor, que é importante não "perder" durante a execução do programa
Mas, pela minha experiência, quando as compilações do MT4 foram freqüentemente atualizadas, é melhor escrevê-las de acordo com o clássico C++, do que obter a resposta "escreva o código corretamente" ao se comunicar com os desenvolvedores
ZS: Lembro-me por que comecei a escrever o modificador estático globalmente, se eu quiser ter certeza de não "perder" o valor da variável durante a execução do programa MQL. Anteriormente (cerca de 5 anos atrás) a diretiva #property strict precompiler não existia e ao habilitar arquivos (#include ou biblioteca - não me lembro mais) eu "perdi minha variável" uma vez, pois os nomes das variáveis coincidiam com o nome da variável.Fui amaldiçoado pela MQL, mas mais tarde descobri este erro por acidente. Mas se eu escrevesse um modificador estático o compilador mostraria um erro de compilação também neste caso.
O compilador MT4 atual é bastante útil e confiável, e com a diretiva #propriedade estrita, talvez eu não precise de tais precauções, mas eu escrevo estático como um hábito quando não quero "perder um valor" de uma variável
ZZZY: este modificador não afeta a velocidade de execução do programa MQL, e é conveniente para mim abrir meu código após algum tempo, e tendo visto estático saberei exatamente, que esta variável tem um valor, o que é importante para não "perder" durante a execução do programa
O compilador gerará um aviso se os nomes das variáveis coincidirem com os do arquivo de inclusão. Para mim, um aviso é igual a um erro e eu reajo da mesma forma a eles. E variáveis de nível global com um modificador estático são iguais a manteiga.
Mas... Se você gosta de escrever assim, ninguém pode proibir você.
Mas... Mas... se você gosta de escrever desta maneira, ninguém pode proibi-lo.
Tenho dúvidas sobre minha singularidade neste assunto... Não sou o único, pesquisando na pasta MQL5 encontrei tais declarações com modificador estático a nível global em várias fontes de entrega MT5
Mesmo no artigo "RANDOM DECISION FOREST IN THE SUMMARY" no código fonte encontrei uma declaração em nível global: data estática last_time=0;
assim escrevi como considero adequado alocar e serei, não 100% das variáveis no nível global descrevendo como estáticas
Deus protege os necessitados, disse a freira ))))