Indice des monnaies mondiales (clairement visible lors de l'éclatement de la bulle) - page 9

 

//+------------------------------------------------------------------+
//| Multi_MA_V1.mq4 |
//| Droits d'auteur © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#lien de propriété "https://www.metaquotes.net//"

#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- paramètres d'entrée
extern int period=1 ;
//---- tampons
double CloseBuffer[] ;

chaîne de caractères symbole[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 ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,CloseBuffer) ;
IndicatorDigits(2) ;
IndicatorShortName("Multi_MA_V1") ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée de désinitialisation de l'indicateur |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int start()
{
//----
int s ;
//----
si(AccountBalance()!=0)
{
for(s=0;s<28;s++)
{
si(MarketInfo(symbole[s],MODE_TRADEALLOWED)==false || iOpen(symbole[s],0,0)==0)
{
Alert("There is no instrument data for index Multi_MA_V1 ",symbol[s]);return(0) ;
}
else if(MarketInfo(symbole[s],MODE_TRADEALLOWED)==true || iOpen(symbole[s],0,0)!=0)
{
//---- calcul du nombre minimum de barres (longueur du graphique affiché)
si(BarsMin==0)
{
Barsi[s]=iBars(symbole[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)] ;
}
}
}

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

//---- la dernière barre comptée sera comptée
si(counted_bars>0) counted_bars-- ;
limit=Bars-counted_bars ;
si (limit>BarsMin)limit=BarsMin ;
//---- boucle principale
double Sum,Sum1 ;
for(int i=0;i<limit;i++)
{
Somme=0 ;
Sum1=0 ;
for(s=0;s<28;s++)
{
int bar=iBarShift(symbol[s],0,Time[i]) ;
Sum+=iMA(symbol[s],0,period,0,MODE_SMA,PRICE_CLOSE,bar)/28 ;
}
CloseBuffer[i]=Sum ;
}
//----
retour(0) ;
}
//+------------------------------------------------------------------+

 

//+------------------------------------------------------------------+
//| Multi_MA_V2(spred).mq4 |
//| Droits d'auteur © 2010, MetaQuotes Software Corp.
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#lien de propriété "https://www.metaquotes.net//"

#propriété indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- paramètres d'entrée
extern int period=13 ;
externe interne période1=21 ;
//---- tampons
double CloseBuffer[] ;

chaîne de caractères symbole[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 ;
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int init()
{
//---- indicateurs
SetIndexStyle(0,DRAW_LINE) ;
SetIndexBuffer(0,CloseBuffer) ;
IndicatorDigits(2) ;
IndicatorShortName("Multi_MA_V1") ;
//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction personnalisée de désinitialisation de l'indicateur |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int start()
{
//----
int s ;
//----
si(AccountBalance()!=0)
{
for(s=0;s<28;s++)
{
si(MarketInfo(symbole[s],MODE_TRADEALLOWED)==false || iOpen(symbole[s],0,0)==0)
{
Alert("There is no instrument data for index Multi_MA_V1 ",symbol[s]);return(0) ;
}
else if(MarketInfo(symbole[s],MODE_TRADEALLOWED)==true || iOpen(symbole[s],0,0)!=0)
{
//---- calcul du nombre minimum de barres (longueur du graphique affiché)
si(BarsMin==0)
{
Barsi[s]=iBars(symbole[s],0)
}
BarsMin=Barsi[ArrayMinimum(Barsi)] ;
}
}
}

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

//---- la dernière barre comptée sera comptée
si(counted_bars>0) counted_bars-- ;
limit=Bars-counted_bars ;
si (limit>BarsMin)limit=BarsMin ;
//---- boucle principale
double Sum,Sum1 ;
for(int i=0;i<limit;i++)
{
Somme=0 ;
Sum1=0 ;
for(s=0;s<28;s++)
{
int bar=iBarShift(symbol[s],0,Time[i]) ;
Somme+=((iMA(symbole[s],0,period,0,MODE_SMA,PRICE_CLOSE,bar)-iMA(symbole[s],0,period1,0,MODE_SMA,PRICE_CLOSE,bar))-1)/28 ;
}
CloseBuffer[i]=Sum ;
}
//----
retour(0) ;
}
//+------------------------------------------------------------------+

 
Voilà, merci.
 

Ne le comptez pas comme Up ! !!

Alors, les gars, est-ce que quelqu'un d'autre a quelque chose à dire sur le sujet ?

Il reste donc hrenfx (je le respecte) à lire ?

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