Erros, bugs, perguntas - página 1011

 
//Test.mqh
class A {
public:
        virtual int f() { return ( 1 ); }
};
//TestLib.mq5
#property library
#include "Test.mqh"
int g( A* pA ) export { return ( 5 ); }

//Test.mq5
#include "Test.mqh"
#import "TestLib.ex5"
        int g( A* pA );
#import
void OnStart()
{
        A* pA = new A();
        Print( g( pA ));
        delete( pA );
}
Até agora tudo está bem, mas assim que o inserir no Test.mq5, por exemplo
class B : public A {
};
e gera imediatamente erro de execução - não encontrado g no TestLib.ex5
 
Silent:

a data/hora já lá está

ArraySize - número de barras, ArraySize-1 - última barra, ArraySetAsSeries define a direcção de indexação, e número de células = barra, esquerda ou direita.

aqui um guião de teste.

Obrigado! Vou tentar.
 

Boa tarde!

Para o TimeCurrent, é especificado que devolve a hora do último tick da MarketWatch. Ao tentar utilizá-lo, retorna 20:30, embora o último tique tenha sido 22:59:57

Porquê?

Obrigado!

 
ns_k:

Boa tarde!

Para o TimeCurrent, é especificado que devolve a hora do último tick da MarketWatch. Ao tentar utilizá-lo, retorna 20:30, embora o último tique tenha sido 22:59:57

Porquê?

Obrigado!

A partir da ajuda:

No manipulador OnTick(), esta função devolverá o tempo do tick que está a ser processado . Em outros casos (por exemplo, chamada emmanipuladores OnInit(), OnDeinit(), OnTimer() etc.) esta é ahora de chegada da última cotação para qualquer símbolo disponível na janela "Market Watch", a mesma hora que é mostrada no título desta janela.

 
Lizar:

A partir da referência:

Obrigado!

Então como é que recebo a hora de chegada da última citação no onCalculate?

 
ns_k:

Obrigado!

Então como obter a hora de chegada da última citação no onCalculate?

Ouviu o Time Pink Floyd e descobriu :)

if(SymbolInfoTick(Symbol(),last_tick))

     {

      Print(last_tick.time,": Bid = ",last_tick.bid,

            " Ask = ",last_tick.ask,"  Volume = ",last_tick.volume);

     }

   else Print("SymbolInfoTick() failed, error = ",GetLastError());

   lEnd=last_tick.time; 
 

Boa tarde!

ArrayResize não parece funcionar na fase de inicialização global para membros de classe/estrutura estática.

teste estrutural{
arr[];
Teste() {
ArrayResize(arr,5) ;
se (ArraySize(arr)!=5) Alerta("Temos um bug");
}
};
Teste de teste;

 

Alguém tem o seguinte problema:

Versão terminal e bit

Windows 8, MetaTrader 5 - Alpari UK, Build 821, 64 bit.

Descrição do problema

Indicador no indicador de chamadas H1 no M1. O comando CopyBuffer copia dados errados. Este problema está apenas no testador de estratégias. No terminal, todos os dados são copiados sem erros. O indicador M1 copia os dados para o primeiro buffer.

A sequência de acções

No testador de estratégias, selecciono testar o indicador SampleCopyBuffer em H1. Estabeleci o período de 2013-05-01 a 2013-07-07-07. Clique em Start, e leia as mensagens de erro nos registos.

Obtenho resultado.

E li as mensagens de erro nos registos. O valor do tampão indicador de M1 não corresponde ao valor CopyHigh.

Resultado esperado

CopyBuffer e CopyHigh devem ter os mesmos valores.

Mais informações

Não há erro no terminal no arranque. Apenas no testador de estratégias. Por favor, ver os meus indicadores no apêndice. SampleHighhs funciona em M1 e é chamado a partir do indicador SampleCopyBuffer que funciona em H1.
Arquivos anexados:
 
denmax:

Boa tarde!

ArrayResize não parece funcionar na fase de inicialização global para membros de classe/estrutura estática.

teste estrutural{
arr[];
Teste() {
ArrayResize(arr,5) ;
se (ArraySize(arr)!=5) Alerta("Temos um bug");
}
};
Teste de teste;

Obrigado pela mensagem, iremos corrigir o erro. O seu código irá gerar um erro sobre arr[] de string estática em falta; para que o seu código funcione correctamente é necessário "colocar" a variável estática antes da instância de teste da classe Teste.

struct Test{
   static string arr[];
   Test() {
       ArrayResize(arr,5) ;
       if (ArraySize(arr)!=5) Alert("We have a bug"); 
    } 
};

string Test::arr[];

Test test; 
 

Boa tarde!

Estou a escrever um guião que deverá analisar algumas características de indicador personalizado da minha própria produção :)

Na ajuda é especificada a utilização deIndicatorCreate

para o cabo indicador de recepção. Compreendo quase tudo, mas parece muito estranho, quando o indicador está no gráfico que o guião utiliza, ele precisa de criar novamente o indicador. Talvez haja uma forma de obter os valores indicadores já calculados no guião?

Obrigado!