Индекс мировых валют (четко видно как "мыльный пузырь" лопнул) - страница 9 123456789 Новый комментарий gss 2011.03.17 10:18 #81 //+------------------------------------------------------------------+ //| Multi_MA_V1.mq4 | //| Copyright © 2010, MetaQuotes Software Corp. | //| https://www.metaquotes.net// | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, MetaQuotes Software Corp." #property link "https://www.metaquotes.net//" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Yellow //---- input parameters extern int period=1; //---- buffers double CloseBuffer[]; string symbol[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; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,CloseBuffer); IndicatorDigits(2); IndicatorShortName("Multi_MA_V1"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- int s; //---- if(AccountBalance()!=0) { for(s=0;s<28;s++) { if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0) { Alert("Для индекатора Multi_MA_V1 нет данных по инструменту ",symbol[s]);return(0); } else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0) { //---- вычисление минимального кол-ва баров (длины отображаемого графика) if(BarsMin==0) { Barsi[s]=iBars(symbol[s],0); } BarsMin=Barsi[ArrayMinimum(Barsi)]; } } } //---- int limit; int counted_bars=IndicatorCounted(); //---- последний посчитанный бар будет пересчитан if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; if(limit>BarsMin)limit=BarsMin; //---- основной цикл double Sum,Sum1; for(int i=0;i<limit;i++) { Sum=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; } //---- return(0); } //+------------------------------------------------------------------+ Помогите исправить код. Обновление индикатора Индикаторы: Momentum gss 2011.03.17 10:23 #82 //+------------------------------------------------------------------+ //| Multi_MA_V2(spred).mq4 | //| Copyright © 2010, MetaQuotes Software Corp. | //| https://www.metaquotes.net// | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, MetaQuotes Software Corp." #property link "https://www.metaquotes.net//" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Yellow //---- input parameters extern int period=13; extern int period1=21; //---- buffers double CloseBuffer[]; string symbol[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; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,CloseBuffer); IndicatorDigits(2); IndicatorShortName("Multi_MA_V1"); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- int s; //---- if(AccountBalance()!=0) { for(s=0;s<28;s++) { if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0) { Alert("Для индекатора Multi_MA_V1 нет данных по инструменту ",symbol[s]);return(0); } else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0) { //---- вычисление минимального кол-ва баров (длины отображаемого графика) if(BarsMin==0) { Barsi[s]=iBars(symbol[s],0); } BarsMin=Barsi[ArrayMinimum(Barsi)]; } } } //---- int limit; int counted_bars=IndicatorCounted(); //---- последний посчитанный бар будет пересчитан if(counted_bars>0) counted_bars--; limit=Bars-counted_bars; if(limit>BarsMin)limit=BarsMin; //---- основной цикл double Sum,Sum1; for(int i=0;i<limit;i++) { Sum=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)-iMA(symbol[s],0,period1,0,MODE_SMA,PRICE_CLOSE,bar))-1) /28 ; } CloseBuffer[i]=Sum; } //---- return(0); } //+------------------------------------------------------------------+ Обновление индикатора Помогите исправить код. Индикаторы: Momentum Kolivi 2011.03.17 11:34 #83 вот спасибо. Роман 2013.08.24 17:17 #84 За Ап прошу не считать!!! Ну, и чё, пацаны, больше по этой теме нет ни у кого, что сказать? Остаётся hrenfx'а (уважаю его) читать? https://www.mql5.com/ru/code/10096 123456789 Новый комментарий
//+------------------------------------------------------------------+
//| Multi_MA_V1.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net//"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int period=1;
//---- buffers
double CloseBuffer[];
string symbol[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;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatorDigits(2);
IndicatorShortName("Multi_MA_V1");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
if(AccountBalance()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0)
{
Alert("Для индекатора Multi_MA_V1 нет данных по инструменту ",symbol[s]);return(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0)
{
//---- вычисление минимального кол-ва баров (длины отображаемого графика)
if(BarsMin==0)
{
Barsi[s]=iBars(symbol[s],0);
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}
//----
int limit;
int counted_bars=IndicatorCounted();
//---- последний посчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit>BarsMin)limit=BarsMin;
//---- основной цикл
double Sum,Sum1;
for(int i=0;i<limit;i++)
{
Sum=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;
}
//----
return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Multi_MA_V2(spred).mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net//"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int period=13;
extern int period1=21;
//---- buffers
double CloseBuffer[];
string symbol[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;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,CloseBuffer);
IndicatorDigits(2);
IndicatorShortName("Multi_MA_V1");
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int s;
//----
if(AccountBalance()!=0)
{
for(s=0;s<28;s++)
{
if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==false || iOpen(symbol[s],0,0)==0)
{
Alert("Для индекатора Multi_MA_V1 нет данных по инструменту ",symbol[s]);return(0);
}
else if(MarketInfo(symbol[s],MODE_TRADEALLOWED)==true || iOpen(symbol[s],0,0)!=0)
{
//---- вычисление минимального кол-ва баров (длины отображаемого графика)
if(BarsMin==0)
{
Barsi[s]=iBars(symbol[s],0);
}
BarsMin=Barsi[ArrayMinimum(Barsi)];
}
}
}
//----
int limit;
int counted_bars=IndicatorCounted();
//---- последний посчитанный бар будет пересчитан
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
if(limit>BarsMin)limit=BarsMin;
//---- основной цикл
double Sum,Sum1;
for(int i=0;i<limit;i++)
{
Sum=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)-iMA(symbol[s],0,period1,0,MODE_SMA,PRICE_CLOSE,bar))-1) /28 ;
}
CloseBuffer[i]=Sum;
}
//----
return(0);
}
//+------------------------------------------------------------------+
За Ап прошу не считать!!!
Ну, и чё, пацаны, больше по этой теме нет ни у кого, что сказать?
Остаётся hrenfx'а (уважаю его) читать?
https://www.mql5.com/ru/code/10096