Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 195

 
barabashkakvn:

Veja novamente o código indicador da ajuda https://www.mql5.com/ru/docs/indicators/ima . Note as linhas no OnInit():

Isto cria o manípulo indicador para o período - "período".

Encontrei o erro no tamanho da matriz, foi o meu erro principal a partir do código inicial. Não consigo compreender porque é que a carta terminal se comporta de forma inadequada (borrões, actualizações, turnos, etc.). Obrigado.
Arquivos anexados:
macd2.mq5  4 kb
 
Hi. Quais são as vantagens entreIndicatorCreate() eiCustom() e qual é o melhor a utilizar. Obrigado
 

Boa tarde.

Estou a tentar obter o último valor de um fractal:

Handle[Number]=iFractals(Symbol_,0);

CopyBuffer(Manípulo[Número],UPPER_LINE,4,100,Upper)

upenv[Número]=Cima[0];


mas às vezes tenho um número estranho upenv[Número]=1.797693134862316e+308

Se este número fosse 0, o problema seria resolvido desta forma

if(upenv[Número]=Cima[0] &&Cima[0]!=0)

upenv[Número]=Cima[0];

Onde está o meu erro? O que é que estou a fazer mal? Como posso obter o último valor do fractal antes de este mudar?

 
Vikon:
barabashkakvn:

Mais uma vez, deve consultar o código indicador a partir de https://www.mql5.com/ru/docs/indicators/ima . Note as linhas no OnInit():

É aqui queé criado omanípulo indicador para o período - "período".

Encontrei o erro no tamanho da matriz, foi o meu erro principal a partir do código inicial. Não consigo compreender porque é que a carta terminal se comporta inadequadamente (borrões, actualizações, turnos, etc.). Obrigado.

Criou um manípulo indicador em cada tic (isto é, na função OnCalculate(). Isto não é correcto. O cabo indicador deve ser criado em OnInit().

 
barabashkakvn:

Todos encontraram erro no tamanho da matriz, esse foi o meu erro principal no código original. Mas porque é que a carta terminal se comporta inadequadamente (piscadelas, actualizações, turnos, etc.). Obrigado.

Criou um manípulo indicador em cada tic (isto é, na função OnCalculate(). Isto não é correcto. O cabo indicador deve ser criado em OnInit().

E se eu precisar de leituras MACD num indicador (M1;M5;M15;H1;H4;D1;W1), então eu preciso de criar uma pega para cada período?
 
Vikon:
E se eu precisar de leituras MACD num indicador (M1;M5;M15;H1;H4;D1;W1), então eu preciso de criar uma pega para cada período?
Sim, faça tantas pegas indicadoras quantas precisar no OnInit.
 
paladin800:
Sim, faça tantas pegas indicadoras quantas forem necessárias no OnInit.
Não é por causa do cabo, ainda não consigo perceber, na verdade o código funciona correctamente e dá dados comparavelmente correctos. Mas o computador arranca, o terminal salta, que se lixe.
 
barabashkakvn:

Todos encontraram erro no tamanho da matriz, esse foi o meu erro principal no código original. Mas porque é que a carta terminal se comporta inadequadamente (piscadelas, actualizações, turnos, etc.). Obrigado.

Criou um manípulo indicador em cada tic (isto é, na função OnCalculate(). Isto não é correcto. O cabo indicador deve ser criado em OnInit().

É mais provável que num gráfico com M15 se utilizem dados D1, ou estou enganado.
 
Olá, talvez alguém tenha tempo para olhar para a minha izvoyanie, onde está o meu erro principal ou é um erro dos criadores.
Arquivos anexados:
macd2.mq5  7 kb
 
Vikon:
É mais provável que o gráfico M15 utilize dados D1, ou estou errado.

Cria-se um manípulo indicador em cada tick (isto é, em OnCalculate()). Isto é incorrecto. O cabo indicador deve ser criado em OnInit(). No gráfico M15, é possível utilizar os dados de D1. No entanto, neste caso, os dados podem estar incompletos - ler "Organizar o acesso aos dados" https://www.mql5.com/ru/docs/series/timeseries_access.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5
Razão: