Всем привет, уважаемые эксперты!
Как написать индикатор, который будет рисовать в окне индикатора - график свечей, для произвольного символа?
Есть такой индикатор ColorCandlesDaily https://www.mql5.com/ru/code/22, но он рисует свечи символа в окне которого он работает.
Кто нибудь знает?
есть советник который что-то подобное делает, причем в стандартной поставке, называется ChartInChart
Два или три это ещё можно, а когда их 50 или более это становится проблемой, ну и потом так гораздо удобнее, графики все сжимаются и двигаются одновременно.
Вот код с ошибками, помогите его править, рисует свечи любого символа, но с ошибками, например если рисовать трендовую линию, то её конце не прилипают к свечкам.
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_plots 1
#property indicator_type1 DRAW_CANDLES
#property indicator_color1 Gray
//+------------------------------------------------------------------+
input string EnterSymbol = "EURUSD";
double O[],H[],L[],C[];
double OArray[],HArray[],LArray[],CArray[];
int ExtOpen,ExtClose,ExtLow,ExtHigh;
//+------------------------------------------------------------------+
void OnInit()
{SetIndexBuffer (0,O,INDICATOR_DATA);
ArraySetAsSeries(O,true);
ArraySetAsSeries(OArray,true);
SetIndexBuffer (1,H,INDICATOR_DATA);
ArraySetAsSeries(H,true);
ArraySetAsSeries(HArray,true);
SetIndexBuffer (2,L,INDICATOR_DATA);
ArraySetAsSeries(L,true);
ArraySetAsSeries(LArray,true);
SetIndexBuffer (3,C,INDICATOR_DATA);
ArraySetAsSeries(C,true);
ArraySetAsSeries(CArray,true);
ExtOpen = iMA(EnterSymbol,PERIOD_CURRENT,1,0,MODE_SMA,PRICE_OPEN);
ExtHigh = iMA(EnterSymbol,PERIOD_CURRENT,1,0,MODE_SMA,PRICE_HIGH);
ExtLow = iMA(EnterSymbol,PERIOD_CURRENT,1,0,MODE_SMA,PRICE_LOW);
ExtClose = iMA(EnterSymbol,PERIOD_CURRENT,1,0,MODE_SMA,PRICE_CLOSE);
}
//+------------------------------------------------------------------+
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 &TickVolume[],
const long &Volume[],
const int &Spread[])
//+------------------------------------------------------------------+
{ArraySetAsSeries(Time,true);
int limit;
if(prev_calculated==0||prev_calculated<0||prev_calculated>rates_total) limit=rates_total-1;
else limit=rates_total-prev_calculated;
datetime convertedTime;
for(int i=limit;i>=0;i--)
{convertedTime=Time[i];
datetime tempTimeArray[];
CopyTime(NULL,PERIOD_CURRENT,BarsCalculated(ExtOpen) -1,1,tempTimeArray);
if(convertedTime<tempTimeArray[0])
{O[i]=EMPTY_VALUE; H[i]=EMPTY_VALUE; L[i]=EMPTY_VALUE; C[i]=EMPTY_VALUE; continue;}
if(CopyBuffer(ExtOpen, 0,convertedTime,1,OArray)<=0) return(0); else O[i]=OArray[0];
if(CopyBuffer(ExtHigh, 0,convertedTime,1,HArray)<=0) return(0); else H[i]=HArray[0];
if(CopyBuffer(ExtLow, 0,convertedTime,1,LArray)<=0) return(0); else L[i]=LArray[0];
if(CopyBuffer(ExtClose,0,convertedTime,1,CArray)<=0) return(0); else C[i]=CArray[0];}
return rates_total;
}
- 2010.02.23
- MetaQuotes Software Corp.
- www.mql5.com
Всем привет, уважаемые эксперты!
Как написать индикатор, который будет рисовать в окне индикатора - график свечей, для произвольного символа?
Есть такой индикатор ColorCandlesDaily https://www.mql5.com/ru/code/22, но он рисует свечи символа в окне которого он работает.
Кто нибудь знает?
Если можете подождать, то я как раз такой пишу. Мне бета-тестеры не помешают.
Точнее портирую с МТ4
Если можете подождать, то я как раз такой пишу. Мне бета-тестеры не помешают.
Точнее портирую с МТ4
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Всем привет, уважаемые эксперты!
Как написать индикатор, который будет рисовать в окне индикатора - график свечей, для произвольного символа?
Есть такой индикатор ColorCandlesDaily https://www.mql5.com/ru/code/22, но он рисует свечи символа в окне которого он работает.
Кто нибудь знает?