Вы думаете я так быстро нашел потому что впервые вижу эту ошибку :о) так ошибаються многие.
Кстати, интересная бы пособие получилось - типовые ошибки начинающего. Прям по рубрикатору документации - ошибки в циклах, в операциях с массивами там, в торговых обперациях... и т.д. Статистика ведь накоплена.
Подскажите еще...
Идея: подсчет верхней и нижней цен на 6 и 100 (BarsFlet и BarsAnaliz) последних барах и затем поиск их процентного соотношения. Но почему выдает одинаковые цены?
//+------------------------------------------------------------------+
//| Fket_trend.mq4 |//| LexxSakhalin |
//| |
//+------------------------------------------------------------------+
#property copyright "LexxSakhalin"
#property link ""
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters
extern int BarsFlet=6;
extern int BarsAnaliz=100;
//---- buffers
double ExtMapBuffer1[];
double HighAnaliz;
double LowAnaliz;
double HighFlat;
double LowFlat;
int i;
int j;
int m;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
HighAnaliz=0;
LowAnaliz=0;
HighFlat=0;
LowFlat=0;
for(j=0; j<limit; j++)
{
for (i=0;i<BarsFlet;i++){
if (i==0) LowFlat=Low[j];
if (High[j]>HighFlat) HighFlat=High[j];
if (Low[j]<LowFlat) LowFlat=Low[j];
}
for (m=0;m<BarsAnaliz;m++){
if (m==0) LowAnaliz=Low[j];
if (High[j]>HighAnaliz) HighAnaliz=High[j];
if (Low[j]<LowAnaliz) LowAnaliz=Low[j];
}
ExtMapBuffer1[j] = (HighFlat-LowFlat)/(HighAnaliz-LowAnaliz)*100;
Comment (HighFlat +" / "+ LowFlat +" / "+ HighAnaliz +" / "+ LowAnaliz);
}
//----
return(0);
}
Кстати, интересная бы пособие получилось - типовые ошибки начинающего. Прям по рубрикатору документации - ошибки в циклах, в операциях с массивами там, в торговых обперациях... и т.д. Статистика ведь накоплена.
Молчи, грусть, молчи... Я уже давно присматриваю жертву, которая взяла бы на себя неблагодарный труд сделать и поддерживать FAQ по форуму, чтобы наиболее распространенные вопросы не повторялись по 16 раз подряд. Форум сразу бы стал суше и стройнее. По крайней мере можно было бы вместо пространного ответа сразу ссылаться на FAQ, а не раздувать ветку. Под FAQ имеется в виду не специально написанный текст, а сборник тематических ссылок на старые темы.
Лично мне кажется удобным так:
Есть Документация. В документации добавляются ссылки или на стр. форума, или на жесткую подборку факов, что - ИМХО - удобнее. В рамках онлайн версии это сделать несложно. Было б кому...)))
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования

Почему выдает значение 0?
//+------------------------------------------------------------------+
//| Fket_trend.mq4 |
//| LexxSakhalin |
//| |
//+------------------------------------------------------------------+
#property copyright "LexxSakhalin"
#property link ""
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//---- input parameters
extern int BarsNumber=6;
extern int BarsAnaliz=100;
//---- buffers
double ExtMapBuffer1[];
double HighAnaliz;
double LowAnaliz;
double HighFlat;
double LowFlat;
int i;
int j;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for (i=0;i>BarsNumber;i++){
if (High[i]>High[i+1] && High[i]>HighFlat){
HighFlat=High[i];
Comment ("Высшая цена i = "+HighFlat);
}
else{
HighFlat=High[i+1];
Comment ("Высшая цена i+1 = "+HighFlat);
}
if (Low[i]>Low[i+1] && Low[i]>LowFlat){
LowFlat=Low[i];
}
else{
LowFlat=Low[i+1];
}
}
for(j=0; j<limit; j++)
{
ExtMapBuffer1[j] = HighFlat;
}
//----
return(0);
}