Хочу .чтобы цвета последней свечи менялись, а остальные свечи оставались без изменений. Как мне это сделать? Заранее спасибо за ответы.
Файлы:
eurusd-h1-metaquotes-software-corp-6.png
16 kb
- Индикаторы: Изменение цвета свечей
- Напишу индикатор бесплатно
- Оформление свечей в версии 3,7х
Potok2017:
Хочу .чтобы цвета последней свечи менялись, а остальные свечи оставались без изменений. Как мне это сделать? Заранее спасибо за ответы.
Хочу .чтобы цвета последней свечи менялись, а остальные свечи оставались без изменений. Как мне это сделать? Заранее спасибо за ответы.
аккуратно нарисовать что-то своё(свечу другим цветом) поверх последней свечи.
в 5-ке можно задавать цвета через отдельный буфер
Maxim Kuznetsov:
аккуратно нарисовать что-то своё(свечу другим цветом) поверх последней свечи.
в 5-ке можно задавать цвета через отдельный буфер
Расскажите пожалуйста по подробнее!
Potok2017:
Расскажите пожалуйста по подробнее!
Расскажите пожалуйста по подробнее!
Очень просто.
/********************************************************************\ Color last candle.mq5 | Viktorov | \********************************************************************/ #property copyright "Viktorov" #property link "" #property version "1.00" #property indicator_chart_window #property indicator_buffers 5 #property indicator_plots 1 #property indicator_color1 clrDeepPink clrMediumSpringGreen #property indicator_type1 DRAW_COLOR_CANDLES double buffOpen[] , buffHigh[] , buffLow[] , buffClose[] , buffColor[]; /**************Custom indicator initialization function**************/ int OnInit() { SetIndexBuffer(0, buffOpen, INDICATOR_DATA); SetIndexBuffer(1, buffHigh, INDICATOR_DATA); SetIndexBuffer(2, buffLow, INDICATOR_DATA); SetIndexBuffer(3, buffClose, INDICATOR_DATA); SetIndexBuffer(4, buffColor, INDICATOR_COLOR_INDEX); PlotIndexSetInteger(0, PLOT_SHOW_DATA, false); //--- return(INIT_SUCCEEDED); }/*******************************************************************/ /****************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[]) { //--- if(prev_calculated == 0) { ArrayInitialize(buffOpen, EMPTY_VALUE); ArrayInitialize(buffHigh, EMPTY_VALUE); ArrayInitialize(buffLow, EMPTY_VALUE); ArrayInitialize(buffClose, EMPTY_VALUE); } buffOpen[rates_total-2] = EMPTY_VALUE; buffHigh[rates_total-2] = EMPTY_VALUE; buffLow[rates_total-2] = EMPTY_VALUE; buffClose[rates_total-2] = EMPTY_VALUE; buffColor[rates_total-2] = EMPTY_VALUE; buffOpen[rates_total-1] = open[rates_total-1]; buffHigh[rates_total-1] = high[rates_total-1]; buffLow[rates_total-1] = low[rates_total-1]; buffClose[rates_total-1] = close[rates_total-1]; buffColor[rates_total-1] = open[rates_total-1] > close[rates_total-1] ? 0 : 1; //--- return value of prev_calculated for next call return(rates_total); }/*******************************************************************/
Файлы:
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь