Как заштриховать область между двумя линиями в окне индикатора?

 
Всем привет! Допустим есть индикатор в отдельном окне, который состоит из 2х линий. Каким образом заштриховать область между линиями?
Заштриховать в том смысле, что бы заполнить пробелы вертикальными линиями, как в индикаторе Ишимоку.
 
Использовать дополнительные два индимкаторных буфера и стить отрисовки DRAW_HISTOGRAM.
 
Объясните пожалуйста подробнее. Не понимаю как указать нижню и верхнюю границу для штриховки. Вот моя нерабочая попытка:
//+------------------------------------------------------------------+
//|                                                         j001.mq4 |
//|                                   Copyright © 2007, Antonuk Oleg |
//|                                                   banderass@i.ua |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, Antonuk Oleg"
#property link      "banderass@i.ua"
 
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 OrangeRed
#property indicator_color2 Green
#property indicator_color3 OrangeRed
#property indicator_color4 Green
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexStyle(1,DRAW_LINE);   
   SetIndexStyle(2,DRAW_HISTOGRAM);
   SetIndexStyle(3,DRAW_HISTOGRAM);   
   
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexBuffer(2,ExtMapBuffer1);
   SetIndexBuffer(3,ExtMapBuffer2);
   
   IndicatorShortName("justTest");
   
   int windowIndex=WindowFind("justTest");
   
//----
   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(int i=0; i<limit; i++)
     {
         ExtMapBuffer1[i]=iMA(0,0,8,0,MODE_SMA,PRICE_HIGH,i);
         ExtMapBuffer2[i]=iMA(0,0,16,0,MODE_SMA,PRICE_LOW,i);
     }
 
//----
   return(0);
  }
//+------------------------------------------------------------------+
Файлы:
j002.mq4  3 kb
 

В отдельном окне заштриховать гистограммой не получится

 
хмм, очень жаль. Может попробывать объектами-линиями вручную заштриховать??
 
banderass:
хмм, очень жаль. Может попробывать объектами-линиями вручную заштриховать??

//+------------------------------------------------------------------+
//|                                                         тест.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright ""
#property link      ""
//#property show_inputs
int init(){
 
}
int deinit(){
Draw(0,10,200,5,30,100,5,"shtrih",".",8,Red);//Удаление
}
 
int start(){
 
Draw(1,10,200,5,30,100,5,"shtrih",".",8,Red);//рисование
Sleep(3000);
}
int Draw(bool Mode,int StartHz,int StopHz,int StepHz,int StartVr,int StopVr,int StepVr,string ObjName,string Sym,int Rzm,int Col){
 
     int Hz,Vr;
     for(Hz=StartHz;Hz<=StopHz;Hz=Hz+StepHz){    
         for(Vr=StartVr;Vr<=StopVr;Vr=Vr+StepVr){
             if(Mode){
                ObjectCreate(ObjName+"."+Hz+"."+Vr, OBJ_LABEL, 0,0,0);
                ObjectSet(ObjName+"."+Hz+"."+Vr, OBJPROP_XDISTANCE, Hz);
                ObjectSet(ObjName+"."+Hz+"."+Vr, OBJPROP_YDISTANCE, Vr);
                ObjectSetText(ObjName+"."+Hz+"."+Vr,Sym, Rzm, "VeHghana", Col);
             }
             else{ObjectDelete(ObjName+"."+Hz+"."+Vr);} 
    }}
 
 return(0);
 }
може эта функция  подойдет, надеюсь разберетесь
 
спасибо большое, буду пробывать
 
ничего не выйдет таким способом, так как даже нет объекта-линии. Есть только полупрямые(трендовые линии). Хотя можно рисовать по 2 объекта. Но тут уже морока с цветом фона. Есть способ его определить?
 
banderass:
Есть только полупрямые(трендовые линии).

Используйте OBJPROP_RAY - и не будеть у вас больше луча.

 
Itso
Спасибо, значит вариант с линиями в силе. А пока что у меня есть рабочий вариант закраски с помощью дополнительных буфферов.

Файлы:
j003_1.mq4  3 kb
Причина обращения: