Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 588
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
Olá, poderia por favor dizer-me se é possível ao Consultor Especialista adicionar um objecto como um botão ou um interruptor para a tabela, e em caso afirmativo, como?
edutak:
Тестер пишет, непрерывный проигрыш 3, а я вручную насчитал 5, потом еше больше. Из-за чего такое может быть?
sem pelo menos um relatório do testador, não se consegue compreender
sem pelo menos um relatório do testador, não se consegue compreender
lote 0.1
Poderá o testador estar a mentir?
o relatório é StrategyTester report html
Não pode anexar...
Arquive-o.
Ao verificar o indicador passo a passo, encontrei um salto na sub-rotina atrás do if{} e no qual não há W. Aqui está um código simplificado para esclarecer o ponto:
//--- parâmetros de entrada
input int w=10;
//---
{
int i;
//---
int co=0;
for(i=0;i<=w;i++)if(w==10){co++; Alert(co);}
//--- valor de retorno de pré_cálculo para a próxima chamada
return(rates_total);
}
Resultado (arlets):
2016.05.30 00:45:14.064 1 (EURUSD,H1) 11
2016.05.30 01:10:35.972 1 (EURUSD,H1) 10
........... etc. a 1.
2016.05.30 00:45:14.064 1 (EURUSD,H1) 1
Regra: Se a expressão entre parênteses for verdadeira, então o operador1 é executado.
Em código: operator1 é executado SEMPRE.
Penso que se() deve funcionar apenas uma vez quando a condição entre parênteses é verdadeira. Mas na realidade ocorre em cada verificação, por isso todas as expressões em {} são executadas em cada passo e mastigam o tempo da máquina.
Perguntas: PORQUE é que a variável CO cresceu de 0 para 11 durante o loop? Porque é que o Alerta é accionado a cada passo?