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

 
SILVERPRINT:
Mql4 quando se refere ao indicador em vez dos dados do testador, os últimos dados emMql5 saíram da mesmaforma?

Não compreendo nada. Tentar reformular e colocar sinais de pontuação.

 

Todos os indicadores criados usando métodos da biblioteca padrão precisam de ser actualizadosmanualmente?

Há dois métodos

RefreshCurrent
Refresh


Compreendo que o primeiro é necessário seeu precisar deactualização automática?

E o segundo, apenasActualizar, para actualizarmanualmente uma vez no tick de todo o conjunto de dados?

 
SILVERPRINT:

Todos os indicadores criados usando métodos da biblioteca padrão precisam de ser actualizadosmanualmente?

Há dois métodos


Compreendo que o primeiro é necessário sequiseruma actualização automática?

E o segundo, apenasActualizar, para actualizarmanualmente uma vez no tick de todo o conjunto de dados?


Mostrar o código como se cria um indicador no seu Expert Advisor.

 
Vladimir Karputov:

Não compreendo nada. Tentar reformular e colocar sinais de pontuação.


Em mql4 a informação dos indicadores sobre o índice zero no testador deu uma data de viragem a partir do histórico. Teve de ibarshift o mesmo em mql5?

 
SILVERPRINT:

Em mql4 a informação dos indicadores sobre o índice zero no testador estava a dar um flipper de data do histórico. Teve de ibarshift o mesmo em mql5?


Refrase. Colocar sinais de pontuação. Escrever em russo.

 
Vladimir Karputov:

Mostrar o código como se cria o indicador na EA.

#include <Indicators\Trend.mqh>
#include <Indicators\Oscilators.mqh>
#include <Indicators\TimeSeries.mqh>

MqlTick infotick;
MqlDateTime currentTime;
CiMA ValueofMA200;
CiMA ValueofMA20;
CiMA ValueofMAHour;
CiATR atr;
CiTime timeh1;
CiTime timeD1;


   sym=_Symbol;
   ValueofMA200.Create(sym,PERIOD_D1,slowma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMA20.Create(sym,PERIOD_D1,fastwma,0,MODE_SMA,PRICE_CLOSE);
   ValueofMAHour.Create(sym,PERIOD_H1,mahours,0,MODE_SMA,PRICE_CLOSE);
   atr.Create(sym,PERIOD_H1,200);
   timeh1.Create(sym,PERIOD_H1);
   timeD1.Create(sym,PERIOD_H1);
   
   timeh1.BufferResize(25);
   timeD1.BufferResize(200);
   
   timeh1.Refresh(PERIOD_H1);
   timeD1.Refresh(PERIOD_D1);

         ValueofMA200.Main(0);
         ValueofMA20.Main(0);
         ValueofMAHour.Main(0);    
         atr.Main(0);
Aproximadamente assim
 
SILVERPRINT:
Assim

Sim, se utilizar a classe padrão da biblioteca para criar indicadores, então deve utilizar métodos deActualização para recuperar os dados

 
Vladimir Karputov:

Sim, se utilizar a classe padrão da biblioteca para criar indicadores, então necessita de utilizar métodos deActualização para recuperar os dados

Como funcionam estes métodos? O que é melhor de usar?

RefreshCurrent
Refresh
Compreendo quea RefreshCurrent é um método dispendioso em cada carrapato.
 
SILVERPRINT:

1) Como é que estes métodos funcionam? 2) O que é melhor de usar?


1) Navegar para este método no editor (clicando no nome do método com o botão do meio saltará para este método) - isto mostrar-lhe-á COMO o método funciona. A receita é universal: clicando a meio em qualquer método ou função, salta-se para a função ou código do próprio método.

2) Não há duas formas de o fazer. Algumas pessoas utilizam a criação de indicadores através de classes, outras utilizam a criação de pegas (iMA, iMACD ...).

 
Vladimir Karputov:

1) Navegar para este método no editor (clicando no nome do método com o botão do meio saltará para este método) - isto mostrar-lhe-á COMO o método funciona. A receita é universal: clicando a meio em qualquer método ou função, salta-se para a função ou código do próprio método.

2) Não há duas formas de o fazer. Algumas pessoas utilizam a criação de indicadores através de classes, outras utilizam a criação de pegas (iMA, iMACD ...).


O meu rato não tem botão do meio, é feito de prata pura)).Provavelmente os meus problemas com a chamada ideal já foram resolvidos ao longo dos anos. Eu não gostaria de actualizar todo o conjunto com cada tick.