Indice delle valute mondiali (chiaramente visibile con lo scoppio della bolla) - pagina 9

 

//+------------------------------------------------------------------+
//| Multi_MA_V1.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#proprietà link "https://www.metaquotes.net//"

#proprietà indicator_separate_window
#proprietà indicator_buffers 1
#proprietà indicatore_colore1 Giallo
//---- parametri di ingresso
extern int period=1;
//---- buffer
doppio CloseBuffer[];

simbolo stringa[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;
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatoreCifre(2);
IndicatoreNomeCorto("Multi_MA_V1");
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
se(SaldoConto()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0)
{
Alert("There is no instrument data for index Multi_MA_V1 ",symbol[s]);return(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0)
{
//---- calcolo del numero minimo di barre (lunghezza del grafico visualizzato)
se(BarsMin==0)
{
Barsi[s]=iBars(simbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

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

//---- l'ultima barra contata sarà contata
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit>BarsMin)limit=BarsMin;
//---- ciclo principale
doppio Sum,Sum1;
for(int i=0;i<limit;i++)
{
Somma=0;
Somma1=0;
for(s=0;s<28;s++)
{
int bar=iBarShift(symbol[s],0,Time[i]);
Somma+=iMA(simbolo[s],0,periodo,0,MODE_SMA,PREZZO_CLUSO,barra)/28 ;
}
CloseBuffer[i]=Sum;
}
//----
ritorno(0);
}
//+------------------------------------------------------------------+

 

//+------------------------------------------------------------------+
//| Multi_MA_V2(spred).mq4 |
//| Copyright © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#proprietà link "https://www.metaquotes.net//"

#proprietà indicator_separate_window
#proprietà indicator_buffers 1
#proprietà indicatore_colore1 Giallo
//---- parametri di ingresso
extern int period=13;
extern inttern periodo1=21;
//---- buffer
doppio CloseBuffer[];

simbolo stringa[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;
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatoreCifre(2);
IndicatoreNomeCorto("Multi_MA_V1");
//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di deinizializzazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
ritorno(0);
}
//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
se(SaldoConto()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0)
{
Alert("There is no instrument data for index Multi_MA_V1 ",symbol[s]);return(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0)
{
//---- calcolo del numero minimo di barre (lunghezza del grafico visualizzato)
se(BarsMin==0)
{
Barsi[s]=iBars(simbolo[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}

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

//---- l'ultima barra contata sarà contata
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit>BarsMin)limit=BarsMin;
//---- ciclo principale
doppio Sum,Sum1;
for(int i=0;i<limit;i++)
{
Somma=0;
Somma1=0;
for(s=0;s<28;s++)
{
int bar=iBarShift(symbol[s],0,Time[i]);
Somma+=((iMA(simbolo[s],0,periodo,0,MODE_SMA,PREZZO_CLOSSO,barra)-iMA(simbolo[s],0,periodo1,0,MODE_SMA,PREZZO_CLOSSO,barra))-1)/28 ;
}
CloseBuffer[i]=Sum;
}
//----
ritorno(0);
}
//+------------------------------------------------------------------+

 
Ecco a voi, grazie.
 

Non contare come Up!!!

Allora, ragazzi, qualcun altro ha qualcosa da dire sull'argomento?

Questo lascia hrenfx (lo rispetto) a leggere?

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