Índice de moedas mundiais (claramente visível como a explosão da bolha) - página 9

 

//+------------------------------------------------------------------+
//| Multi_MA_V1.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2010, MetaQuotes Software Corp.
#link da propriedade "https://www.metaquotes.net//"

#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 1
#Indicador de propriedade_color1 Amarelo
//---- parâmetros de entrada
período int externo=1;
//---- buffers
duplo CloseBuffer[];

símbolo de corda[28]={
"AUDCAD", "AUDCHF", "AUDJPY", "AUDNZD", "AUDUSD", "CADCHF", "CADJPY", "CHFJPY","EURAUD", "EURCAD", "EURCHF", "EURGBP", "EURJPY", "EURNZD", "EURUSD", "GBPAUD", "GBPCAD",
"GBPCHF", "GBPJPY", "GBPUSD", "NZDCAD", "NZDCHF", "NZDJPY"NZDUSD", "USDCAD", "USDCHF", "USDJPY", "GBPSGD"};
int Barsi[28],BarsMin;
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatorDigits(2);
IndicatorShortName("Multi_MA_V1");
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
if(AccountBalance()!=0)
{
para(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==falso ||| iOpen(symbol[s],0,0)==0)
{
Alerta("Não há dados de instrumento para o índice Multi_MA_V1 ",símbolo[s]);retorno(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)== true ||| iOpen(symbol[s],0,0)!=0)
{
//---- cálculo do número mínimo de barras (comprimento do gráfico exibido)
if(BarsMin==0)
{
Barsi[s]=iBars(símbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

//----
limite int;
int counted_bars=IndicatorCounted();

//---- a última barra contada será contada
if(counted_bars>0) counted_bars--;
limite=barras_contadas_combarras;
if(limit>BarsMin)limit=BarsMin;
//---- laço principal
soma dupla,soma1;
for(int i=0;i<limit;i++)
{
Soma=0;
Soma1=0;
para(s=0;s<28;s++)
{
int bar=iBarShift(símbolo[s],0,Tempo[i]));
Sum+=iMA(símbolo[s],0,período,0,MODE_SMA,PRICE_CLOSE,bar)/28 ;
}
CloseBuffer[i]=Soma;
}
//----
retorno(0);
}
//+------------------------------------------------------------------+

 

//+------------------------------------------------------------------+
//| Multi_MA_V2(spred).mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#direitos autorais "Copyright © 2010, MetaQuotes Software Corp.
#link da propriedade "https://www.metaquotes.net//"

#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 1
#Indicador de propriedade_color1 Amarelo
//---- parâmetros de entrada
período int externo=13;
período externo interno1=21;
//---- buffers
duplo CloseBuffer[];

símbolo de corda[28]={
"AUDCAD", "AUDCHF", "AUDJPY", "AUDNZD", "AUDUSD", "CADCHF", "CADJPY", "CHFJPY","EURAUD", "EURCAD", "EURCHF", "EURGBP", "EURJPY", "EURNZD", "EURUSD", "GBPAUD", "GBPCAD",
"GBPCHF", "GBPJPY", "GBPUSD", "NZDCAD", "NZDCHF", "NZDJPY"NZDUSD", "USDCAD", "USDCHF", "USDJPY", "GBPSGD"};
int Barsi[28],BarsMin;
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatorDigits(2);
IndicatorShortName("Multi_MA_V1");
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização de indicador personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
if(AccountBalance()!=0)
{
para(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==falso ||| iOpen(symbol[s],0,0)==0)
{
Alerta("Não há dados de instrumento para o índice Multi_MA_V1 ",símbolo[s]);retorno(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)== true ||| iOpen(symbol[s],0,0)!=0)
{
//---- cálculo do número mínimo de barras (comprimento do gráfico exibido)
if(BarsMin==0)
{
Barsi[s]=iBars(símbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

//----
limite int;
int counted_bars=IndicatorCounted();

//---- a última barra contada será contada
if(counted_bars>0) counted_bars--;
limite=barras_contadas_combarras;
if(limit>BarsMin)limit=BarsMin;
//---- laço principal
soma dupla,soma1;
for(int i=0;i<limit;i++)
{
Soma=0;
Soma1=0;
para(s=0;s<28;s++)
{
int bar=iBarShift(símbolo[s],0,Tempo[i]));
Sum+=((iMA(símbolo[s],0,período,0,MODE_SMA,PRICE_CLOSE,bar)-iMA(símbolo[s],0,período1,0,MODE_SMA,PRICE_CLOSE,bar))-1)/28 ;
}
CloseBuffer[i]=Soma;
}
//----
retorno(0);
}
//+------------------------------------------------------------------+

 
Aqui está, obrigado.
 

Não conte como Up!!!

Então, pessoal, alguém mais tem algo a dizer sobre o assunto?

Isso deixa o hrenfx (eu o respeito) para ler?

https://www.mql5.com/ru/code/10096