Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1534
![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
É assim que o pedido é encerrado
Faça como eu escrevi acima...
Ou afixar o código OnTick()
É assim que o pedido é encerrado
Esta estrutura deve ser
Esta estrutura deve ser
Se não estou enganado, pode ser escrito da seguinte forma
Bem, obrigado pelo conselho, vou dar uma olhada hoje à noite e me reportarei mais tarde.
se o UseTimeLimit estiver definido nas configurações ao iniciar a coruja, então
esta função é melhor no OnInit() do que no OnTick()
Se eu não estou enganado, você pode escrever assim
Na verdade, eu escrevo assim.
if(TimeHour(time[i])>=Time_Start&&TimeHour(time[i])<TimeFinish)
ou ainda mais simples
if(Hour()>=Time_Start&&Hour()<TimeFinish)
Boa tarde, você poderia me dizer como calcular corretamente a média da linha indicadora? A curva básica com período Per_1 é desenhada normalmente (Buffer_1[]), até acrescentar um bloco de média simples com Buffer_2[] com período de média Per_2.
int OnCalculate(parâmetros padrão)
{
int i, j, limit;
if(rates_total <= Per_1)
retorno(0);
// A última barra calculada será recalculada
limite = taxas_total - pré_calculadas - Per_1;
if(prev_calculated > 0)
limite++;
//calcule e preencha buffers indicadores
para(i=0; i < limite; i++)
{
//Calcule a linha principal do indicador
Buffer_1[i] = Fórmula da curva
soma dupla = 0;
for(j = i; j < Per_2 + i; j++)
{
//Calcule a linha de média
Soma += Buffer_1[j];
Buffer_2[i] = Soma / Per_2;
}
}
retorno(taxas_total);
}
Boa tarde!
Esse é o problema, ele só abre e fecha ordens de Starthour->stophour
Porque você não pode negociar após o estofamento
Há muito tempo venho escrevendo a lógica de abertura antes de fechar, arrasto e outras manutenções de posição. Na maioria das vezes é verdade, antes de abrir alguma outra coisa, é preciso verificar o que já está aberto.
Sua lógica está correta, você só precisa trocar os blocos:
Inserir código
Aqui parece ser a resposta à sua perguntaLegal! Funciona, obrigado!