Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 789

 
Всем привет! Уважаемые товарищи, помогите в следующем вопросе. Индикатор ОСМа стандартный + Индикатор МА (только спущенный в подвал). Как взять показания индикатора МА, спущенного в подвал? Если мы используем стандартный индикатор МА, то мы применяем цену от 0 до 6, а если спускаем в подвал, то "применить к" ставим 8. Я полагаю, что нужно как то изменить сам индикатор МА (только что поменять там не знаю), а затем использовать функцию iCustom.

Буду благодарен за помощь.


 
alexey1979621:
Всем привет! Уважаемые товарищи, помогите в следующем вопросе. ИндикаторОСМа стандартный + Индикатор МА (только спущенный в подвал). Как взятьпоказания индикатора МА, спущенного в подвал? Если мы используемстандартный индикатор МА, то мы применяем цену от 0 до 6, а еслиспускаем в подвал, то "применить к" ставим 8. Я полагаю, что нужно както изменить сам индикатор МА (только что поменять там не знаю), а затемиспользовать функцию iCustom.

Буду благодарен за помощь.


Берёшь массив индикатора ОСМа и к нему ImaOnArray со всеми параметрами МА.
 
solnce600:

Добрые люди!!!

Помогите найти ошибку.Я изучаю тему Массивы.

Создал массив во включаемом файле.

Вставил обращение ко включаемому файлу в советник.

Но советник не компилируется.Не могу понять почему

В ссылке  расположение файлов коды ошибок

http://clip2net.com/s/jkTd89

 

 Спасибо.

 

Может проблема в имени файла и пути до него? Старайтесь файлы называть латиницей и без точек.
 
solnce600:

Добрые люди!!!

Помогите найти ошибку.Я изучаю тему Массивы.

Создал массив во включаемом файле.

Вставил обращение ко включаемому файлу в советник.

Но советник не компилируется.Не могу понять почему

В ссылке  расположение файлов коды ошибок

http://clip2net.com/s/jkTd89

 

 Спасибо.

 

Подозрительный путь. ../Programm Files/.. Вообще-то все файлы должны лежать по пути типа C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
 
barabashkakvn:
Подозрительный путь. ../Programm Files/.. Вообще-то все файлы должны лежать по пути типа C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
Вобще-то терминал в портэбл запустить можно ;)
 
evillive:
Вобще-то терминал в портэбл запустить можно ;)
Можно использовать ключ /Portable, но ведь Мы не телепаты? И такой ключ используют единицы.
 

Подскажите, пожалуйста, как можно сделать отображение данных индикатора в виде свечей или просто вертикальных столбиков, как здесь:

 

 В самом коде непонятно, как это делается! Стиль  DRAW_HISTOGRAM просто рисует вертикальную линию на каждом баре от нижней границы окна, но не свечу.

/// это начало ///

#property indicator_chart_window
#property indicator_buffers 6

#property indicator_style1 STYLE_DOT
#property indicator_width1 1
#property indicator_color1 Sienna

#property indicator_style2 STYLE_DOT
#property indicator_width2 1
#property indicator_color2 Sienna

#property indicator_style3 STYLE_SOLID
#property indicator_width3 2
#property indicator_color3 DodgerBlue

#property indicator_style4 STYLE_SOLID
#property indicator_width4 2
#property indicator_color4 DodgerBlue

#property indicator_style5 STYLE_SOLID
#property indicator_width5 1
#property indicator_color5 DodgerBlue

#property indicator_style6 STYLE_SOLID
#property indicator_width6 1
#property indicator_color6 DodgerBlue

/// это в процедуре OnInit() ///

   SetIndexBuffer(0, ForecastCloudHigh);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(0, ForecastBars - Offset);
   
   SetIndexBuffer(1, ForecastCloudLow);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(1, ForecastBars - Offset);
   
   SetIndexBuffer(2, ForecastBestPatternOpen);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(2, ForecastBars - Offset);

   SetIndexBuffer(3, ForecastBestPatternClose);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(3, ForecastBars - Offset);

   SetIndexBuffer(4, ForecastBestPatternHigh);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(4, ForecastBars - Offset);
   
   SetIndexBuffer(5, ForecastBestPatternLow);
   SetIndexStyle(5, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(5, ForecastBars - Offset);

/// а это уже заполнение в процедуре-обработчике ///

         ForecastBestPatternOpen[indexBar] = xcbase + ((iOpen(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternClose[indexBar] = xcbase + ((iClose(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternHigh[indexBar] = xcbase + ((iHigh(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternLow[indexBar] = xcbase + ((iLow(NULL, 0, altindex) - ycbase) * sAlt[0]);
 
Awwl:

Подскажите, пожалуйста, как можно сделать отображение данных индикатора в виде свечей или просто вертикальных столбиков, как здесь:

 

 В самом коде непонятно, как это делается! Стиль  DRAW_HISTOGRAM просто рисует вертикальную линию на каждом баре от нижней границы окна, но не свечу.

 

Самое простое - это рисовать в mql5 через стиль рисования DRAW_CANDLES или DRAW_COLOR_CANDLES. К сожалению в mql4 просто так свечи не нарисовать.
 
Awwl:

Подскажите, пожалуйста, как можно сделать отображение данных индикатора в виде свечей или просто вертикальных столбиков, как здесь:

 

 В самом коде непонятно, как это делается! Стиль  DRAW_HISTOGRAM просто рисует вертикальную линию на каждом баре от нижней границы окна, но не свечу.

Разберётесь как устроен индикатор Heiken Ashi (с терминалом в комплекте идёт), всё поймёте.
 
evillive:
Разберётесь как устроен индикатор Heiken Ashi (с терминалом в комплекте идёт), всё поймёте.

Встроенный Heiken Ashi выглядит откровенной недоделкой (интересно, это только у меня на 745 так?), зато стало понятно, как он устроен. И непонятно, как устроен WmiFor!

В коде Heiken Ashi свеча рисуется из 4-х полосок гистограмм:

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_color2 White
#property indicator_color3 Red
#property indicator_color4 White
#property indicator_width1 1
#property indicator_width2 1
#property indicator_width3 3
#property indicator_width4 3

//---
input color ExtColor1 = Red;    // Shadow of bear candlestick
input color ExtColor2 = White;  // Shadow of bull candlestick
input color ExtColor3 = Red;    // Bear candlestick body
input color ExtColor4 = White;  // Bull candlestick body
//--- buffers
double ExtLowHighBuffer[];
double ExtHighLowBuffer[];
double ExtOpenBuffer[];
double ExtCloseBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
void OnInit(void)
  {
   IndicatorShortName("Heiken Ashi");
   IndicatorDigits(Digits);
//--- indicator lines
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1,ExtColor1);
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1,ExtColor2);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,3,ExtColor3);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexStyle(3,DRAW_HISTOGRAM,0,3,ExtColor4);
   SetIndexBuffer(3,ExtCloseBuffer);
//---
   SetIndexLabel(0,"Low/High");
   SetIndexLabel(1,"High/Low");
   SetIndexLabel(2,"Open");
   SetIndexLabel(3,"Close");
   SetIndexDrawBegin(0,10);
   SetIndexDrawBegin(1,10);
   SetIndexDrawBegin(2,10);
   SetIndexDrawBegin(3,10);
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexBuffer(3,ExtCloseBuffer);
//--- initialization done
  }

Т.е. по мере увеличения номера буфера (от 0 до 3) новые полоски рисуются поверх старых. Причём порядок такой:

LowHigh - HighLow - Open - Close.

А чтобы свечи выглядели как положено, с телом и хвостами, порядок должен быть такой:

max(Open,Close)//толстая цветная линия// - min(Open,Close)//толстая белая// - High//тонкая цветная// - Low//тонкая белая//. 

Компилируем индикатор, ставим его на график и видим все проблемы (см. рис.).

Но у такого способа, как в Heiken Ashi, есть недостаток - под каждой "свечой" получается белый шлейф в цвет фона, который закрывает всё, что ниже. А у WmiFor всё идеально! Недокументированные возможности

 

Первая картинка - Heiken Ashi (вынесен в separate window), вторая картинка - WmiFor, фон сделан светло-зелёным для наглядности.

  

Причина обращения: