Eu matei a noite toda, mas não consegui entender o motivo, por favor, ajude-me. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Eu matei a noite toda, mas não consegui entender o motivo, por favor, ajude-me. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Tudo isso é estranho.
Então, qual é o problema da multiplicação em vez da divisão?
intb=a*0.001;
E também é importante onde exatamente no código fazer os cálculos. Espero que não esteja no inite ou globalmente? Você também poderia dividir por zero ;)
Matei a noite toda, mas não consegui entender a razão. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Tudo isso é estranho.
E se você olhar através da revista, você vai encontrar o erro crítico "divisão por 0" lá
Então qual é o problema da multiplicação de refazer, em vez de divisão?
intb=a*0.001;
E também é importante exatamente onde no código devem ser feitos os cálculos. Espero que não esteja no inite ou globalmente? Você também poderia dividir por zero ;)
Isso não vai funcionar, na verdade é uma variável em vez de 1000. O cálculo está emOnCalculate.
Vitalie Postolache: Os níveis têm que ser transmitidos exatamente? Não seria melhor criar um sinal e transmiti-lo?
Eu os envio no Whatsapp também para o grupo. Eu só queria facilitar a vida deles... para abrir o gráfico e meu nível já está lá. Você pode me dizer mais sobre o sinal, ele é via MT ou por terceiros?
Alexey Viktorov: E se você olhar no registro, você pode encontrar um erro crítico "divisão por 0" lá
No diário de bordo é realmente: divisão zero. Vou verificar isso agora.
Eu não entendo de onde vem o 0? Nenhum dado doAccountInfoInteger(ACCOUNT_LEVERAGE) durante a inicialização? E por que a marca não aparece nos próximos carrapatos?
MosheDayan: Envio-lhes também o Whatsapp para o grupo. Eu só queria facilitar-lhes a vida... para abrir o gráfico e meu nível já está lá. Você pode me dizer mais sobre o sinal, ele é da MT ou de terceiros?
O diário de bordo diz, de fato: divisão zero. Vou verificar isso agora.
Eu não entendo de onde vem o 0? Nenhum dado doAccountInfoInteger(ACCOUNT_LEVERAGE) durante a inicialização? E por que a marca não aparece nos próximos carrapatos?
Porque o programa recebeu um erro crítico e não está executando mais.
Talvez, algumas empresas de corretagem não passem a alavanca? Embora não o tenha visto em forex...
cerca de 25 pessoas. Por exemplo: 14.02.2017 EURUSD 1.0630
Infelizmente, eu também não vejo uma solução para este problema puramente com mql.
Criar apenas um modelo de carta com os nomes de todos os amigos e correio
cerca de 25 pessoas. Por exemplo: 14.02.2017 EURUSD 1.0630
Olá.
Eu matei a noite toda, mas não consegui entender o motivo, por favor, ajude-me. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Tudo isso é estranho.
Olá.
Eu matei a noite toda, mas não consegui entender o motivo, por favor, ajude-me. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Tudo isso é estranho.
Então, qual é o problema da multiplicação em vez da divisão?
intb=a*0.001;
E também é importante onde exatamente no código fazer os cálculos. Espero que não esteja no inite ou globalmente? Você também poderia dividir por zero ;)
Olá.
Matei a noite toda, mas não consegui entender a razão. O indicador deve exibir os dados na tela como uma marca de texto, mas quando eu inicio o terminal isso não acontece, a marca aparece somente quando eu mudo o cronograma, então funciona bem em carrapatos.
O exemplo é o mais simplificado possível, mas a essência não muda:
int a=AccountInfoInteger(ACCOUNT_LEVERAGE);
intb=1000/a; // depois imprimir b na tela
Usando o método de eliminação, concluí que isto só funciona se eu substituir a divisão por qualquer outra operação, ou atribuir qualquer constante à variável "a".
Eu tentei usar ChartRedraw(), joguei com tipos inteiros e duplos, tentei MathRound() e muito mais, nada funcionou.
Tudo isso é estranho.
Então qual é o problema da multiplicação de refazer, em vez de divisão?
intb=a*0.001;
E também é importante exatamente onde no código devem ser feitos os cálculos. Espero que não esteja no inite ou globalmente? Você também poderia dividir por zero ;)
Os níveis têm que ser transmitidos exatamente? Não seria melhor criar um sinal e transmiti-lo?
E se você olhar no registro, você pode encontrar um erro crítico "divisão por 0" lá
No diário de bordo é realmente: divisão zero. Vou verificar isso agora.
Eu não entendo de onde vem o 0? Nenhum dado doAccountInfoInteger(ACCOUNT_LEVERAGE) durante a inicialização? E por que a marca não aparece nos próximos carrapatos?
Envio-lhes também o Whatsapp para o grupo. Eu só queria facilitar-lhes a vida... para abrir o gráfico e meu nível já está lá. Você pode me dizer mais sobre o sinal, ele é da MT ou de terceiros?
O diário de bordo diz, de fato: divisão zero. Vou verificar isso agora.
Eu não entendo de onde vem o 0? Nenhum dado doAccountInfoInteger(ACCOUNT_LEVERAGE) durante a inicialização? E por que a marca não aparece nos próximos carrapatos?
Porque o programa recebeu um erro crítico e não está executando mais.
Talvez, algumas empresas de corretagem não passem a alavanca? Embora não o tenha visto em forex...