Пожалуйста, для вставки кода используйте штатные возможности редактора форума.
Rosh, извините, но я не понял, что от меня требуется.
С уважением и пр.
FlyAgaric:
Rosh, извините, но я не понял, что от меня требуется.
С уважением и пр.
код постить по нормальному...
int labelCorner[] = {ANCHOR_LEFT_UPPER, ANCHOR_LEFT, ANCHOR_LEFT_LOWER, ANCHOR_LOWER, ANCHOR_RIGHT_LOWER, ANCHOR_RIGHT, ANCHOR_RIGHT_UPPER, ANCHOR_UPPER, ANCHOR_CENTER}; string labelName[] = {"ANCHOR_LEFT_UPPER", "ANCHOR_LEFT", "ANCHOR_LEFT_LOWER", "ANCHOR_LOWER", "ANCHOR_RIGHT_LOWER", "ANCHOR_RIGHT", "ANCHOR_RIGHT_UPPER", "ANCHOR_UPPER", "ANCHOR_CENTER"}; int OnInit() { //--- indicator buffers mapping //--- return(0); } void OnDeinit(const int reason) { for (int i = 0; i < 9; i++) ObjectDelete(0, labelName[i]); } //+------------------------------------------------------------------+ //| 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[]) { for (int i = 0; i < 9; i++) if (prev_calculated < rates_total) { createLabels(labelName[i], labelCorner[i]); Alert(labelName[i], " ", labelCorner[i]); } //--- //--- return value of prev_calculated for next call return(rates_total); } void createLabels(string label_name, int label_corner) { ObjectCreate(0, label_name, OBJ_LABEL, 0, 0, 0); ObjectSetInteger(0, label_name, OBJPROP_ANCHOR, label_corner); (или/и) ObjectSetInteger(0, label_name, OBJPROP_CORNER, label_corner); //ObjectSetInteger(0, label_name, OBJPROP_XDISTANCE, dx); //ObjectSetInteger(0, label_name, OBJPROP_YDISTANCE, dy); //ObjectSetInteger(0, label_name, OBJPROP_COLOR, clr); //ObjectSetInteger(0, label_name, OBJPROP_FONTSIZE, 9); //ObjectSetString(0, label_name, OBJPROP_FONT, "Arial"); ObjectSetString(0, label_name, OBJPROP_TEXT, label_name); ObjectSetInteger(0, label_name, OBJPROP_SELECTABLE, false); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Господа.
Есть желание вывести на экран некоторую информацию:
...
int labelCorner[] = {ANCHOR_LEFT_UPPER, ANCHOR_LEFT, ANCHOR_LEFT_LOWER,
ANCHOR_LOWER,
ANCHOR_RIGHT_LOWER, ANCHOR_RIGHT, ANCHOR_RIGHT_UPPER,
ANCHOR_UPPER,
ANCHOR_CENTER};
string labelName[] = {"ANCHOR_LEFT_UPPER", "ANCHOR_LEFT", "ANCHOR_LEFT_LOWER",
"ANCHOR_LOWER",
"ANCHOR_RIGHT_LOWER", "ANCHOR_RIGHT", "ANCHOR_RIGHT_UPPER",
"ANCHOR_UPPER",
"ANCHOR_CENTER"};
int OnInit()
{
//--- indicator buffers mapping
//---
return(0);
}
void OnDeinit(const int reason)
{
for (int i = 0; i < 9; i++)
ObjectDelete(0, labelName[i]);
}
//+------------------------------------------------------------------+
//| 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[])
{
for (int i = 0; i < 9; i++)
if (prev_calculated < rates_total)
{
createLabels(labelName[i], labelCorner[i]);
Alert(labelName[i], " ", labelCorner[i]);
}
//---
//--- return value of prev_calculated for next call
return(rates_total);
}
void createLabels(string label_name, int label_corner)
{
ObjectCreate(0, label_name, OBJ_LABEL, 0, 0, 0);
ObjectSetInteger(0, label_name, OBJPROP_ANCHOR, label_corner);
(или/и) ObjectSetInteger(0, label_name, OBJPROP_CORNER, label_corner);
//ObjectSetInteger(0, label_name, OBJPROP_XDISTANCE, dx);
//ObjectSetInteger(0, label_name, OBJPROP_YDISTANCE, dy);
//ObjectSetInteger(0, label_name, OBJPROP_COLOR, clr);
//ObjectSetInteger(0, label_name, OBJPROP_FONTSIZE, 9);
//ObjectSetString(0, label_name, OBJPROP_FONT, "Arial");
ObjectSetString(0, label_name, OBJPROP_TEXT, label_name);
ObjectSetInteger(0, label_name, OBJPROP_SELECTABLE, false);
}
...
но нет возможности.
На прилагаемом снимке экрана видно, что почти все Label попали в верхний левый угол.
Возможно ошибка в ENUM_ANCHOR_POINT
Не можно ли сделать как в MT4? что бы прилипало в указанном углу?
Спасибо.