Данные из других графиков для индикатора

 

Доброго времени суток.

Подскажите пожалуйста, имеется ли возможность при написании индикатора MQL5 использовать данные из определенных графиков.

Например в графике AUDCAD иметь индикатор с гистограммой соотношения цен CHFUSD к EURJPY?

То есть в каком бы графике я не открыл бы этот индикатор, он будет всегда показывать соотношение цен  CHFUSD к EURJPY.

 

Да, пример №1.

(насколько помню, похожих индикаторов немало, но ключевые слова для поиска навкидку не подскажу)

Chart on Chart
Chart on Chart
  • www.mql5.com
Индикатор Chart on Chart выводит график другого символа на текущем графике.
 
Haruto Rat #:

но ключевые слова для поиска навкидку не подскажу)

поиском по кодобазе "multi"

https://www.mql5.com/ru/search#!keyword=multi&module=mql5_module_codebase

 

Пробовал несколько индикаторов - не работают.

При разных попытках ввести символ через Input выдает кучу ошибок. Если кто может подсказать, как и куда на примере индикатора цветных свечей сделать чтоб он всегда показывал график EURUSD, буду признателен.

//+------------------------------------------------------------------+

//|                                            ColorCandlesDaily.mq5 |

//|                   Copyright 2009-2020, MetaQuotes Software Corp. |

//|                                              http://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "2009-2020, MetaQuotes Software Corp."

#property link      "http://www.mql5.com"


#property indicator_separate_window

#property indicator_buffers 5

#property indicator_plots   1

//--- plot ColorCandles

#property indicator_type1   DRAW_COLOR_CANDLES

#property indicator_label1  "Open;High;Low;Close"

//--- indicator buffers

double ExtOpenBuffer[];

double ExtHighBuffer[];

double ExtLowBuffer[];

double ExtCloseBuffer[];

double ExtColorsBuffer[];

//---

color  ExtColorOfDay[6]= {CLR_NONE,MediumSlateBlue,DarkGoldenrod,ForestGreen,BlueViolet,Red};

//+------------------------------------------------------------------+

//| Custom indicator initialization function                         |

//+------------------------------------------------------------------+

void OnInit()

  {

//--- indicator buffers mapping

   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);

//--- set number of colors in color buffer

   PlotIndexSetInteger(0,PLOT_COLOR_INDEXES,6);

//--- set colors for color buffer

   for(int i=1; i<6; i++)

      PlotIndexSetInteger(0,PLOT_LINE_COLOR,i,ExtColorOfDay[i]);

//--- set accuracy

   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);

   PrintFormat("We have %i colors of days",PlotIndexGetInteger(0,PLOT_COLOR_INDEXES));

  }

//+------------------------------------------------------------------+

//| Custom indicator iteration function                              |

//+------------------------------------------------------------------+

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[])

  {

   int         pos;

   MqlDateTime tstruct;

//---

   if(prev_calculated<1)

      pos=0;

   else

      pos=prev_calculated-1;

//--- main cycle

   for(int i=pos; i<rates_total && !IsStopped(); i++)

     {

      ExtOpenBuffer[i]=open[i];

      ExtHighBuffer[i]=high[i];

      ExtLowBuffer[i]=low[i];

      ExtCloseBuffer[i]=close[i];

      //--- set color for every candle

      TimeToStruct(time[i],tstruct);

      ExtColorsBuffer[i]=tstruct.day_of_week;

     }

//--- return value of prev_calculated for next call

   return(rates_total);

  }

//+------------------------------------------------------------------+


Découvrez de nouvelles opportunités MetaTrader 5 avec la communauté et les services MQL5
Découvrez de nouvelles opportunités MetaTrader 5 avec la communauté et les services MQL5
  • 2022.04.14
  • www.mql5.com
MQL5 : langage de stratégies de trading intégré à la plateforme de trading MetaTrader 5, permet d'écrire vos propres robots de trading, indicateurs techniques, scripts et bibliothèques de fonctions
Причина обращения: