Erros, bugs, perguntas - página 35

 
Interesting:

É necessário verificar a dimensionalidade da matriz, é muito provável que uma "célula" inexistente (ou uma existente, mas numerada de forma diferente) esteja a ser acedida lá...

As matrizes são indexadas a partir de 0, por isso, quando se acede a um índice de matrizes sem ter em conta esta característica, muitas vezes sai do alcance...

Obrigado, já resolvi isso. Mas agora no testador o gráfico é uma linha recta, sem registo de erros e sem entrada:

2010.07.06 15:15:38 Core 1 Disconnected
2010.07.06 15:15:38 Core 1 Log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100706.log" escrito
2010.07.06 15:15:38 Core 1 GBPUSD,M5: 107944 ticks (552 barras) gerados dentro de 97266 ms (total de barras na história 108713)
2010.07.06 15:15:38 Core 1 OnTester resultado 0

Para onde devo olhar a seguir.

 
Rosh:

Aqui está a resposta à sua candidatura


Tente versões ligeiramente modificadas, tudo combina

Tentei tanto o 0 como o 1 que também não corresponde, e estou a falar do testador, não o analisei num gráfico
 
Rosh:

....

Nunca tinha visto um destes antes

static int Handle;
Porquê estática? Existe uma armadilha?
 
Prival:

Porquê estática? Existe uma armadilha?

Não consigo encontrar de onde a tirei, mas devo tê-la copiado de um perito de alguém.

Não conheço nenhuma armadilha - a estática pode ser removida

 
ddd06:

Não consigo encontrar de onde a tirei, mas devo tê-la copiado do perito de alguém.

Não conheço nenhuma pedra - a estática pode ser removida

Eu não sabia que era seu. Penso que Rosh escreveu assim, tento olhar cuidadosamente através dos seus códigos, pelo menos alguém com quem aprender, é uma pena que ele não escreva e poste, por vezes mesmo em duas linhas há algo de bom.
 
AM2:

Obrigado por ter corrigido isso. Mas agora no testador o gráfico é uma linha recta, sem registo de erros e sem entrada:

2010.07.06 15:15:38 Core 1 Disconnected
2010.07.06.06 15:15:38 Core 1 Log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100706.log" escrito
2010.07.06 15:15:38 Core 1 GBPUSD,M5: 107944 ticks (552 barras) gerados dentro de 97266 ms (total de barras na história 108713)
2010.07.06 15:15:38 Core 1 OnTester resultado 0

Para onde devo olhar a seguir.

Como sei o que está lá e como, no vosso código. Passe-o pelo depurador (F5 no EDITOR) e veja o que está a acontecer...
 

Interesting:
Ну откуда я знаю что там и как, в вашем коде. Прогоните через дебагер (F5 в Эдиторе) и посмотрите, что и как там творится...

Foi aqui que encontrei o erro:

double calc_SMA( int timeframe, int period, int offset )
{
    double Close[];
    ArraySetAsSeries(Close,true);
    double vMA = 0;
    double sum=0;
    int    i;

    for( i = 0 ; i < period ; i++ )
    {
        sum += CopyClose(_Symbol,_Period,0,i + offset,Close);
    }
    vMA = sum / period;

    return(vMA);
}

Expressão Fechar[] Apressão não pode ser avaliada

escreve

Originalmente, era assim:

double calc_SMA( int timeframe, int period, int offset )
{
    double vMA = 0;
    double sum=0;
    int    i;

    for( i = 0 ; i < period ; i++ ){
        sum += iClose( Symbol(), timeframe, i + offset );
    }
    vMA = sum / period;

    return(vMA);
}
 
AM2:

Foi aqui que encontrei o erro:

Expressão Fechar[] Apressão não pode ser avaliada

escreve

Inicialmente era assim:

1. Veja a ajuda para a função CopyClose().

A função devolve a quantidade de dados copiados para a matriz, não o preço de fecho.

2. Está a olhar para Close[] value in vtoche?

 
Para os criadores, esta questão é tão antiga como um mamute - Existe alguma função análoga de AccountFreeMarginMode() que exista na MQL4 algures na MQL5? Ou o seu resultado não é de todo necessário agora....
 
Interesting:
Para os criadores, esta questão é tão antiga como um mamute - Existe alguma função análoga de AccountFreeMarginMode() que exista na MQL4 algures na MQL5? Ou o seu resultado não é de todo necessário agora?

Estará disponível em breve - já está em desenvolvimento.