Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 188
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á!
Não consigo descobrir qual o intervalo para mostrar um objecto gráfico
em todos os períodos de tempo.
Obrigado.
OBJ_ALL_PERIODS=2097151
Alguém sabe se o compilador tem uma chave para obter mensagens sobre funções e variáveis não utilizadas, como é feito na MQL4 ?
Como se faz isto em mql4 ?
Questionado sobre não exibir avisos sobre funções não utilizadas, Renat disse que não o faria. Em ligação com a utilização de bibliotecas plugáveis. Costumava estar na velha construção. Agora não é. É muito inconveniente procurar as funções no corpo da EA que não são utilizadas. Só fala de variáveis não utilizadas se as encontrar no corpo de uma função, e não no início() ou OnTick()
Como é feito em mql4 ?
Questionado sobre não exibir avisos sobre funções não utilizadas, Renat disse que não o faria. Devido à utilização de bibliotecas de plugins. Costumava estar na velha construção. Agora não. É muito inconveniente procurar as funções no corpo da EA que não são utilizadas. Só fala de variáveis não utilizadas se as encontrar no corpo de uma função, e não no início() ou OnTick()
Porque no OOP não são funções, mas sim métodos. Cada biblioteca pode ter um monte de aulas com muitos métodos, alguns dos quais não são utilizados. Além disso, as aulas também se referem a outras bibliotecas, algumas das quais também não são utilizadas. Isto pode resultar numa enorme confusão de métodos não utilizados.
A julgar pela quantidade de código compilado, o compilador elimina automaticamente os métodos não utilizados. Isto é, não vale a pena procurá-los por si mesmo, porque este trabalho é feito pelo compilador.
Porque no OOP, não funciona, mas sim métodos. Cada biblioteca pode ter um monte de aulas com muitos métodos, alguns dos quais não são utilizados. Além disso, as aulas também se referem a outras bibliotecas, alguns dos quais também não são utilizados métodos. Isto pode resultar numa enorme pilha de métodos não utilizados.
A julgar pelo tamanho do código compilado, o compilador elimina automaticamente os métodos não utilizados. Ou seja, não vale a pena procurá-los por si mesmo, porque o compilador faz este trabalho.
Porque no OOP, não são as funções, mas os métodos. Cada biblioteca pode ter um monte de aulas com muitos métodos, alguns dos quais não são utilizados. Além disso, as aulas também se referem a outras bibliotecas, alguns dos quais também não são utilizados métodos. Isto pode resultar numa enorme pilha de métodos não utilizados.
A julgar pelo tamanho do código compilado, o compilador elimina automaticamente os métodos não utilizados. Ou seja, não vale a pena procurá-los por si mesmo, porque o compilador faz este trabalho.
Espero que a discussão da pergunta anterior tenha terminado. É difícil saber quando o tópico está encerrado e é apropriado fazer a sua pergunta. Pode dar-me uma dica? Não consigo descobrir como preencher uma matriz 2D com resultados de cálculos deSt_handle eMA_handle, só os posso passar para uma matriz unidimensional.
Este não é o problema. O problema é exactamente encontrar métodos não utilizados nas suas aulas.
O que quer dizer: métodos não utilizados nas suas aulas? Esta não é a prática no OOP. Um programador OOP normal, ao contrário da programação algorítmica, cria classes com todos os campos e métodos necessários, como se costuma dizer, para todas as ocasiões, porque a mesma classe pode ser mais tarde utilizada noutras aplicações ou tornar-se parte da biblioteca de classes. Para não mencionar o facto de que mesmo dentro de um projecto é melhor criar classes completas, não despojadas, para que não tenha de pesquisar através do código fonte e adicionar mais tarde os campos e métodos necessários.
No OOP qualquer economia, a que muitas pessoas se habituam na programação algorítmica, pode acabar por ser prejudicial mais tarde. Tudo o que não é utilizado deve ser excluído do código pelo compilador e não pelo programador.
Naturalmente, o OOP resulta num código fonte maior em comparação com a programação algorítmica. Mas isto não é uma desvantagem, mas sim uma vantagem, porque muito do código "extra" deste projecto pode ser reutilizado noutros projectos.
Tenho mais de quinhentos métodos próprios. As inter-relações são muito complexas. O código rudimentar é inevitável. É muito útil para ver rapidamente o que já não é utilizado.
Pode dar-me uma dica? Não consigo descobrir como preencher uma matriz bidimensional com resultados de cálculoSt_handle eMA_handle, só os posso passar para uma matriz unidimensional.
Qual é o objectivo? Isto é, porquê fazer uma corcunda em vez de usar a lâmina de barbear de Occam? Isto é, qual é a vantagem de uma matriz bidimensional sobre duas matrizes unidimensionais? Afinal, primeiro é preciso enfiar algo de dois indicadores unidimensionais criados por defeito para um bidimensional, e depois tirar algo de lá. Está a fazer trabalho desnecessário e a tentar arrastar outros para dentro dele.
Se houvesse um problema com arrays unidimensionais, então valeria a pena o problema.
Desculpe se isto está fora do tópico ...
ajudar quem pode ...
em delphi 7 dll procedure...
procedure test1(var data: array of Double); stdcall;
begin
ShowMessage('Entered ');
fim;
em mt4 :
#importar "gayss.dll"
void test1( double &data[] );
#importar
ArrayResize(data, 6);
data[0]= 2;
data[1]= 4;
data[2]= 8;
data[3]= 16;
data[4]= 21;
data[5]= 3;
test1(dados);
e surge um erro... 2014.02.06 17:39:04.241 pilha danificada, verificar chamada de função DLL em 'SOG_2014.mq4' (80,7)
Quem sabe como fazê-lo bem...