Как сделать прозрачные свечи?

 

Я создал индикатор.

Код:

#property indicator_separate_window  
#property indicator_buffers 5  
#property indicator_plots 1 
#property indicator_type1 DRAW_COLOR_CANDLES  
#property indicator_color1 clrGray, clrLime, clrRed   
#property indicator_label1 "Open; High; Low; Close" 

input int No_Of_Lines_Input_Candles = 130; 

#include <TradeAlgorithms.mqh> CIsNewBar newbar; 
 
double ExtOpenBuffer [];  
double ExtHighBuffer [];  
double ExtLowBuffer [];  
double ExtCloseBuffer [];  
double ExtColorsBuffer [];  
// double y_trainpred [];  
// ---- declaration of global variables  
double o [], h [], l [], c []; 
 
string candle_train = "traincandle130.csv";  
int onInit ()  
  {  
  int traincandle = FileOpen (candle_train, FILE_READ | FILE_SHARE_READ | FILE_TXT | FILE_COMMON);  // |  FILE_COMMON: a csv-file in the common folder  
  if (traincandle <0) {Alert ("Can't open", candle_train, ", err:", _LastError);} 
    
   ArrayResize (o, No_Of_Lines_Input_Candles);  
   ArrayResize (h, No_Of_Lines_Input_Candles);  
   ArrayResize (l, No_Of_Lines_Input_Candles);  
   ArrayResize (c, No_Of_Lines_Input_Candles); 
    
   int size = 0;  
    string result [];  // An array to get strings  
   while (! FileIsEnding (traincandle))  
   {  
      int i = StringSplit (FileReadString (traincandle), ',', result);  
      o [size] = StringToDouble (result [0]);  
      h [size] = StringToDouble (result [1]);  
      l [size] = StringToDouble (result [2]);  
      c [size] = StringToDouble (result [3]); 
       
      size ++;  
   } 
    
   FileClose (traincandle); 
    
   ArraySetAsSeries (o, true);  ArraySetAsSeries (h, true);  ArraySetAsSeries (l, true);  ArraySetAsSeries (c, true); 
    
   SetIndexBuffer (0, ExtOpenBuffer, INDICATOR_DATA);  
   SetIndexBuffer (1, ExtHighBuffer, INDICATOR_DATA);  
   SetIndexBuffer (2, ExtLowBuffer, INDICATOR_DATA);  
   SetIndexBuffer (3, ExtCloseBuffer, INDICATOR_DATA);  
   SetIndexBuffer (4, ExtColorsBuffer, INDICATOR_COLOR_INDEX); 
   
   PlotIndexSetInteger (0, PLOT_SHOW_DATA, false);     
   PlotIndexSetInteger (1, PLOT_SHOW_DATA, false);     
   PlotIndexSetInteger (2, PLOT_SHOW_DATA, false);     
   PlotIndexSetInteger (3, PLOT_SHOW_DATA, false);    
    
   ArraySetAsSeries (ExtOpenBuffer, true);  
   ArraySetAsSeries (ExtHighBuffer, true);  
   ArraySetAsSeries (ExtLowBuffer, true);  
   ArraySetAsSeries (ExtCloseBuffer, true);  
   ArraySetAsSeries (ExtColorsBuffer, true); 
  
   string short_name = "Training";  
   IndicatorSetString (INDICATOR_SHORTNAME, short_name); 
    
   return (INIT_SUCCEEDED);  
  }  
int OnCalculate (const int rates_total,  
                const int prev_calculated,  
                const datetime & time [],  
                const double & open [],  
                const double & high [],  
                const double & low [],  
                const double & close [],  
                const long & tick_volume [],  
                const long & volume [],  
                const int & spread [])  
  {  
   ArraySetAsSeries (open, true);  
   ArraySetAsSeries (high, true);  
   ArraySetAsSeries (low, true);  
   ArraySetAsSeries (close, true); 
    
   if (rates_total <0) return (0); 
 
   int bar, limit;  
   limit = rates_total-2; 
 
   for (bar = limit; bar> = 0 &&! IsStopped (); bar--)  
     { 
       
      ExtOpenBuffer [bar] = open [bar];  
      ExtHighBuffer [bar] = high [bar];  
      ExtLowBuffer [bar] = low [bar];  
      ExtCloseBuffer [bar] = close [bar];  
      if (open [bar] <close [bar])  
      ExtColorsBuffer [bar] = 0;  
      else if (open [bar]> close [bar])  
      ExtColorsBuffer [bar] = 1;  
      else  
      ExtColorsBuffer [bar] = 2; 
     
     } 
   
   return (rates_total);  
  }
Как сделать свечи прозрачными в индикаторе? Пожалуйста помоги
 
jaffer wilson:

I created an indicator.

Code:

How to make candles transparent in the indicator? Please help

Рисовать объектами на Canvas

 
Vitaly Muchenko :

Draw objects on Canvas

Нет ли другого решения? Я имею в виду не с Canvas, а без него.

 

Настройки цветов в терминале:

Настройки цветов в терминале

 
Vladimir Karputov:

Настройки цветов в терминале:

Прозрачность, это нечто другое, чем clrNONE

Прозрачность, это когда через свечу красного цвета виден фон окна графика, а это Canvas

 
Vitaly Muzichenko:

Прозрачность, это нечто другое, чем clrNONE

Прозрачность, это когда через свечу красного цвета виден фон окна графика, а это Canvas

Если бы внимательно смотрели ни рисунок, Вы бы увидели что на моём рисунке тело свечи прозрачное - через него виден фон (цвет фона clrLimeGreen).

 
Vladimir Karputov:

Если бы внимательно смотрели ни рисунок, Вы бы увидели что на моём рисунке тело свечи прозрачное - через него виден фон (цвет фона clrLimeGreen).

Это не прозрачное, а бесцветное. Хотя может скрин не правильно отображается

P.S. Вот прозрачность


 
Vitaly Muzichenko:

Это не прозрачное, а бесцветное. Хотя может скрин не правильно отображается

P.S. Вот прозрачность


Не Виталий... Это полу-прозрачность. Стёкла в окна своего дома не ставишь такие, наверное. Прозрачные подавай, а не мутные... А вот для бани самое то...

 
Alexey Viktorov:

Не Виталий... Это полу-прозрачность. Стёкла в окна своего дома не ставишь такие, наверное. Прозрачные подавай, а не мутные... А вот для бани самое то...

Прозрачность регулируется от 0 до 100%, на изображении вроде 70% если не ошибаюсь

Бесцветность не сеть прозрачность.

По стёклам: именно такие и стоят, но плюс ко всему ещё и зеркальные. Это в квартире на 3-м этаже

 
Vladimir Karputov :

Color settings in the terminal:


Это выглядит хорошо. Это может быть на 100% прозрачно. Но установить clrNone и иметь цветной контур для индикатора Candles?

 
jaffer wilson:

Это выглядит хорошо. Это может быть на 100% прозрачно. Но установить clrNone и иметь цветной контур для индикатора Candles?

Нет. На данном этапе при помощи стиля рисования DRAW_COLOR_CANDLES такое сделать нельзя.