Índice de las divisas mundiales (claramente visible al estallar la burbuja) - página 9

 

//+------------------------------------------------------------------+
//| Multi_MA_V1.mq4 ||
//| Copyright © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#enlace de la propiedad "https://www.metaquotes.net//"

#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 Amarillo
//---- parámetros de entrada
extern int period=1;
//---- buffers
doble CloseBuffer[];

cadena símbolo[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;
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicadorDígitos(2);
IndicatorShortName("Multi_MA_V1");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int inicio()
{
//----
int s;
//----
if(Saldo de la cuenta()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(símbolo[s],MODE_TRADEALLOWED)==false || iOpen(símbolo[s],0,0)==0)
{
Alert("No hay datos del instrumento para el índice Multi_MA_V1 ",símbolo[s]);return(0);
}
else if(MarketInfo(símbolo[s],MODE_TRADEALLOWED)==true || iOpen(símbolo[s],0,0)!=0)
{
//---- cálculo del número mínimo de barras (longitud del gráfico mostrado)
if(BarsMin==0)
{
Barsi[s]=iBars(símbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

//----
int límite;
int barras_contadas=IndicadorContado();

//---- se contará la última barra contada
if(counted_bars>0) counted_bars--;
limit=Barras_contabilizadas;
if(limit>BarsMin)limit=BarsMin;
//---- bucle principal
doble Suma,Suma1;
for(int i=0;i<limit;i++)
{
Suma=0;
Suma1=0;
for(s=0;s<28;s++)
{
int bar=iBarShift(símbolo[s],0,Tiempo[i]);
Suma+=iMA(símbolo[s],0,periodo,0,MODO_SMA,PRECIO_CIERRE,barra)/28 ;
}
CerrarBuffer[i]=Suma;
}
//----
return(0);
}
//+------------------------------------------------------------------+

 

//+------------------------------------------------------------------+
//| Multi_MA_V2(spred).mq4 ||
//| Copyright © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#enlace de la propiedad "https://www.metaquotes.net//"

#property indicador_separar_ventana
#property indicator_buffers 1
#property indicator_color1 Amarillo
//---- parámetros de entrada
extern int period=13;
externo inttern periodo1=21;
//---- buffers
doble CloseBuffer[];

cadena símbolo[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;
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicadorDígitos(2);
IndicatorShortName("Multi_MA_V1");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+
int inicio()
{
//----
int s;
//----
if(Saldo de la cuenta()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(símbolo[s],MODE_TRADEALLOWED)==false || iOpen(símbolo[s],0,0)==0)
{
Alert("No hay datos del instrumento para el índice Multi_MA_V1 ",símbolo[s]);return(0);
}
else if(MarketInfo(símbolo[s],MODE_TRADEALLOWED)==true || iOpen(símbolo[s],0,0)!=0)
{
//---- cálculo del número mínimo de barras (longitud del gráfico mostrado)
if(BarsMin==0)
{
Barsi[s]=iBars(símbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

//----
int límite;
int barras_contadas=IndicadorContado();

//---- se contará la última barra contada
if(counted_bars>0) counted_bars--;
limit=Barras_contabilizadas;
if(limit>BarsMin)limit=BarsMin;
//---- bucle principal
doble Suma,Suma1;
for(int i=0;i<limit;i++)
{
Suma=0;
Suma1=0;
for(s=0;s<28;s++)
{
int bar=iBarShift(símbolo[s],0,Tiempo[i]);
Suma+=((iMA(símbolo[s],0,periodo,0,MODO_SMA,PRECIO_CIERRE,barra)-iMA(símbolo[s],0,periodo1,0,MODO_SMA,PRECIO_CIERRE,barra))-1)/28 ;
}
CerrarBuffer[i]=Suma;
}
//----
return(0);
}
//+------------------------------------------------------------------+

 
Aquí tiene, gracias.
 

¡¡¡No lo cuentes como Up!!!

Así que, chicos, ¿alguien más tiene algo que decir sobre el tema?

Eso deja a hrenfx (lo respeto) para leer?

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