Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 569
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
E aqui está a solução proposta:
Olá! tenho uma pequena pergunta enquanto estudava MQL4. O problema está localizado no tutorial deste site. Aqui está a condição: Problema 25. Crie um programa, no qual as seguintes condições sejam cumpridas: se a taxa exceder o nível especificado, ele emitirá uma mensagem, na qual palavras indicarão que a taxa excede o nível (até 100 pontos); em outros casos, a mensagem informará que a taxa não excede o nível especificado.
E aqui está a solução proposta:
Mostra as soluções possíveis. Útil para treinamento.
Há outras opções. Existem outros erros.
Confie mais em si mesmo. Experiência.
Olá! Ao estudar a MQL4, tenho uma pequena pergunta. A tarefa está localizada no tutorial deste site. Aqui está a condição: Problema 25. Crie um programa que realize as seguintes condições: se a taxa exceder o nível especificado, ele emitirá uma mensagem dizendo que a taxa excede o nível (até 100 pontos); em outros casos, a mensagem dizendo que a taxa não excede o nível especificado.
E aqui está a solução proposta:
P.S.
Especificamente, a utilidade deste exemplo para lidar com uma matriz,
a possível representação dos dados em palavras,
o uso da função NormalizeDouble e da variável Ponto pré-definida.
Possibilidade de escolher um hobby mais fácil.
Aparentemente, não há maneira de declarar variáveis externas diretamente na classe. Então, quais são as opções? Se eu não quiser declarar no próprio Expert Advisor ou em outro lugar estas variáveis específicas externas, que são necessárias somente quando se usa esta classe. Acho que a única opção é fazer um inluder, que declarará estas variáveis externas. E então a classe deve ser incluída nela, certo?
Então, para chamar a classe, você precisa incluir a própria classe. É assim? Ou pode haver algumas outras variantes?
Isso simplesmente não me parece bom. Muitos arquivos de inclusão aninhados para criar... É por isso que eu tenho tal pergunta.
Ou ainda é possível, como em uma biblioteca habitual, declarar variáveis externas e importar as bibliotecas necessárias antes de declarar a classe? Refiro-me a algo como isto:
Eu nunca tinha visto isso antes. Então me pergunto se estou indo na direção certa...Produza-as como variáveis globais para a tela do terminal através do Comentário. Não havia zeros, apenas números negativos. Então eu mudei
Transferência do código indicador para o Expert Advisor, ocorre um erro. Divisão zero na parte do código
...
Calculou-as com variáveis globais para a tela do terminal via Comentário. Não havia zeros, apenas números negativos. Então eu mudei
...
para .
...
tudo se encaixou, colocá-lo de volta no lugar. Sem nenhum erro! Qual foi a causa? Eu desliguei a internet novamente.Também recebi o erro "divisão zero" onde não foi possível passar zero no denominador da fração. Agora, antes de dividir, eu faço uma verificação formal como:
E o erro desapareceu. Isto é, o compilador deve ser instruído sobre o que fazer se o denominador=0 mesmo que o programador esteja 100% seguro de que não há 0 lá.
Olá, você pode, por favor, me ajudar com o código? Eu preciso que a EA faça o elementar - posições abertas ao se aproximar da linha vertical (ou seja, estritamente tempo, não preço), ou seja, para um intervalo shi especificado, que eu tenho aqui 120, ou seja, como eu entendo - 2 minutos. A cor da linha deve determinar se ela é comprada ou vendida. Pesquisei na Internet e reescrevi e consegui o seguinte:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal())
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY";}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL";}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Olá, você pode, por favor, me ajudar com o código? Eu preciso que a EA faça o elementar - posições abertas ao se aproximar da linha vertical (ou seja, estritamente tempo, não preço), ou seja, para um intervalo shi especificado, que eu tenho aqui 120, ou seja, como eu entendo - 2 minutos. A cor da linha deve determinar se ela é comprada ou vendida. Pesquisei na Internet e a reescrevi:
void OnTick()
{
int AllObject = ObjectsTotal();
for ( int i = 0; i < AllObject; i++)
{
string NameObj = ObjectName(i);
Colorrr = ObjectGet(NameObj, OBJPROP_COLOR);
Vremyaaa = (ObjectGet(NameObj, OBJPROP_TIME) - shi);
if(Vremyaaa == TimeLocal())
break;
}
int kolpos = 0;
if((Colorrr == Green)||(Colorrr == Aqua)){operacia = "OP_BUY";}
if((Colorrr == Red)||(Colorrr == Purple)){operacia = "OP_SELL";}
for (int pos = 0; pos < OrdersTotal(); pos++)
{
if(OrderSelect(pos, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
kolpos++;
}
}
}
if(kolpos == 0)
{
if (iTime(NULL,0,1) == Vremyaaa)
{
int ticket = OrderSend(Symbol(), operacia, Lot, Bid, 10, 0, 0, "5", Magic, 0, col);
}
}
}
Se seu tempo coincide com o tempo do terminal, você pode usar TimeLocal(), mas TimeCurrent() é mais confiável .
Alterar o tipo de variável operacia para int e remover aspas OP_BUY e OP_SELL
Se você tiver o mesmo tempo que o tempo do terminal, você pode usar TimeLocal(), mas oTimeCurrent() é mais confiável .
Alterar o tipo de variável operacia para int e remover aspas OP_BUY e OP_SELL
Obrigado. Sobre a TimeCurrent é verdade, meu tempo não corresponde ao tempo do servidor. Consertado, mas ainda não funciona... Não escreve nenhum erro no registro.
P.S. Em meu posto anterior, o código sem espaços foi de alguma forma inserido. Mas eu acho que coloquei corretamente todos os suportes de cabelo encaracolado.
MT4 - 625, mensagem do testador ao tentar testar corujas com biblioteca:
2014.03.29 18:38:48.753 'C:\Program Files\Admiral1\MQL4\Libraries\ingLib094.mq4' não é a versão 32-bit
Antes daquela coruja compilada sem problemas, e a biblioteca também não tinha uma única palavra. Na verdade, eu não entendo nada disso.
Meu sistema (quero dizer Windows) é de 32 bits, eu nunca tive outro. Sétimo.
A biblioteca é a minha nativa, até o fim. Vai bem em tempo real em novas construções. Incluindo com outras corujas. E em versões anteriores de teste sem problemas.
Mas não quer abrir no testador, e a razão é até sugada de seus dedos.
E não há uma palavra sobre os casos de 32 bits em todos os manuais.