Скачать MetaTrader 5

OBJ_CHART

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Сергей
534
Сергей  

С помощью данного кода можно создать объект OBJ_CHART и прикрепить к нему разные индикаторы, например, четыре МА:

void DrawObjects() {

    color clrBars=clrDimGray;
    string strName="Chart";
    
    string strInstrum="USDCHF";
    ENUM_TIMEFRAMES enumTF=PERIOD_M1;
    
    long lngChartID;
    
    int intHandle_MA5=iMA(strInstrum,enumTF,5,0,MODE_EMA,PRICE_CLOSE);
    int intHandle_MA21=iMA(strInstrum,enumTF,21,0,MODE_EMA,PRICE_CLOSE);
    int intHandle_MA55=iMA(strInstrum,enumTF,55,0,MODE_EMA,PRICE_CLOSE);
    int intHandle_MA233=iMA(strInstrum,enumTF,233,0,MODE_EMA,PRICE_CLOSE);
    
    int intHandle_AO=iAO(strInstrum,enumTF);
    
    ObjectCreate(0,strName,OBJ_CHART,0,0,0);
    
    ObjectSetString(0,strName,OBJPROP_SYMBOL,strInstrum);
    ObjectSetInteger(0,strName,OBJPROP_PERIOD,enumTF);
       
    ObjectSetInteger(0,strName,OBJPROP_PRICE_SCALE,false);
    ObjectSetInteger(0,strName,OBJPROP_DATE_SCALE,false);
    ObjectSetInteger(0,strName,OBJPROP_CHART_SCALE,2);

    ObjectSetInteger(0,strName,OBJPROP_CORNER,CORNER_LEFT_UPPER);
    ObjectSetInteger(0,strName,OBJPROP_XDISTANCE,2);
    ObjectSetInteger(0,strName,OBJPROP_YDISTANCE,2);
    ObjectSetInteger(0,strName,OBJPROP_XSIZE,300);
    ObjectSetInteger(0,strName,OBJPROP_YSIZE,200);
    
    lngChartID=ObjectGetInteger(0,strName,OBJPROP_CHART_ID);
 
    ChartSetInteger(lngChartID,CHART_AUTOSCROLL,true);
    ChartSetInteger(lngChartID,CHART_MODE,CHART_CANDLES);
    ChartSetInteger(lngChartID,CHART_COLOR_CANDLE_BEAR,clrBars);
    ChartSetInteger(lngChartID,CHART_COLOR_CHART_UP,clrBars);
    ChartSetInteger(lngChartID,CHART_COLOR_CHART_DOWN,clrBars);
    ChartSetInteger(lngChartID,CHART_COLOR_CHART_LINE,clrBars);
    
    ChartSetInteger(lngChartID,CHART_SHOW_OHLC,false);
    ChartSetString(lngChartID,CHART_COMMENT,strInstrum+" : "+strTimeFrame(enumTF));
    
    ChartIndicatorAdd(lngChartID,0,intHandle_MA5);
    ChartIndicatorAdd(lngChartID,0,intHandle_MA21);
    ChartIndicatorAdd(lngChartID,0,intHandle_MA55);
    ChartIndicatorAdd(lngChartID,0,intHandle_MA233);
    
    IndicatorSetInteger(
    //ChartIndicatorAdd(lngChartID,1,intHandle_AO);
}

И получится такой чарт. Ранее об этом уже писал Graff и, возможно, другие.

Но у меня вопрос: Все МА получаются одинакового красного цвета.

Есть ли возможность для разных МА задавать разные цвета?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий