![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте уважаемые !
помогите поправить код что бы надписи над барами были по центру бара над хай-ем а не сбоку
Доказательство: Print("Предыдущая работа PriceAsk-",PriceAsk); в журнале пусто.
Без подробностей это не доказательство ))) Полный текст инита покажите и объявление переменных.
Кроме того, зачем проверять ВСЕ ордера, от самого начала жизни счёта, если нужны последние??? - а как по другому сделать, если открыто 10 валютных пар?
С конца перебирать и вовремя выходить из цикла. Причём тут 10 пар? Хоть сто, у вас там есть выбор по символу.
Здравствуйте уважаемые !
помогите поправить код что бы надписи над барами были по центру бара над хай-ем а не сбоку
Учимся использовать кнопку SRC для вставки кода.
И читаем про OBJPROP_ANCHOR.
Учимся использовать кнопку SRC для вставки кода.
И читаем про OBJPROP_ANCHOR.
все понял спасибо !
Извините за резкость !
все понял спасибо !
Извините за резкость !
#property indicator_chart_window
input int TextSize = 8; //размер шрифта
input color TextColor = clrYellow; //цвет текста
input int TextAngle = 90; //угол поворота текста
input int MaxBar = 100; //количество баров, начиная с 0, для которых вычисляется размер свечей
int OnInit()
{
return(INIT_SUCCEEDED);
}
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 i;
for ( i = 0; i < MaxBar; i++ ) {
if ( ObjectFind ("candlesize"+ IntegerToString(i)) >=0 ) {
ObjectDelete("candlesize"+ IntegerToString(i));
}
ObjectCreate ("candlesize"+ IntegerToString(i),
OBJ_TEXT,
0,
time[i],
high[i]+StepPer()*Point);
//--- установим привязку к правому верхнему углу
ObjectSetInteger(ChartID(),"candlesize"+IntegerToString(i),OBJPROP_ANCHOR,ANCHOR_UPPER);
ObjectSet ( "candlesize"+IntegerToString(i),
OBJPROP_ANGLE,
TextAngle
);
ObjectSetText ( "candlesize"+IntegerToString(i),
DoubleToStr(NormalizeDouble((high[i]-low[i]+Point)/Point, 0), 0),
TextSize,
NULL,
TextColor
);
}
return(rates_total);
}
int StepPer ()
{
int i = 0;
switch (Period())
{
case PERIOD_M1:
i = 5;
break;
case PERIOD_M5:
i = 15;
break;
case PERIOD_M15:
i = 25;
break;
case PERIOD_M30:
i = 40;
break;
case PERIOD_H1:
i = 60;
break;
case PERIOD_H4:
i = 90;
break;
case PERIOD_D1:
i = 220;
break;
case PERIOD_W1:
i = 500;
break;
case PERIOD_MN1:
i = 2000;
break;
default:
break;
}
return (i);
}
#property indicator_chart_window
input int TextSize = 8; //размер шрифта
input color TextColor = clrYellow; //цвет текста
input int TextAngle = 90; //угол поворота текста
input int MaxBar = 100; //количество баров, начиная с 0, для которых вычисляется размер свечей
int OnInit()
{
return(INIT_SUCCEEDED);
}
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 i;
for ( i = 0; i < MaxBar; i++ ) {
if ( ObjectFind ("candlesize"+ IntegerToString(i)) >=0 ) {
ObjectDelete("candlesize"+ IntegerToString(i));
}
ObjectCreate ("candlesize"+ IntegerToString(i),
OBJ_TEXT,
0,
time[i],
high[i]+StepPer()*Point);
//--- установим привязку к правому верхнему углу
ObjectSetInteger(ChartID(),"candlesize"+IntegerToString(i),OBJPROP_ANCHOR,ANCHOR_UPPER);
ObjectSet ( "candlesize"+IntegerToString(i),
OBJPROP_ANGLE,
TextAngle
);
ObjectSetText ( "candlesize"+IntegerToString(i),
DoubleToStr(NormalizeDouble((high[i]-low[i]+Point)/Point, 0), 0),
TextSize,
NULL,
TextColor
);
}
return(rates_total);
}
int StepPer ()
{
int i = 0;
switch (Period())
{
case PERIOD_M1:
i = 5;
break;
case PERIOD_M5:
i = 15;
break;
case PERIOD_M15:
i = 25;
break;
case PERIOD_M30:
i = 40;
break;
case PERIOD_H1:
i = 60;
break;
case PERIOD_H4:
i = 90;
break;
case PERIOD_D1:
i = 220;
break;
case PERIOD_W1:
i = 500;
break;
case PERIOD_MN1:
i = 2000;
break;
default:
break;
}
return (i);
}
#property indicator_chart_window
input int TextSize = 8; //размер шрифта
input color TextColor = clrYellow; //цвет текста
input int TextAngle = 90; //угол поворота текста
input int MaxBar = 100; //количество баров, начиная с 0, для которых вычисляется размер свечей
int OnInit()
{
return(INIT_SUCCEEDED);
}
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 i;
for ( i = 0; i < MaxBar; i++ ) {
if ( ObjectFind ("candlesize"+ IntegerToString(i)) >=0 ) {
ObjectDelete("candlesize"+ IntegerToString(i));
}
ObjectCreate ("candlesize"+ IntegerToString(i),
OBJ_TEXT,
0,
time[i],
high[i]+StepPer()*Point);
//--- установим привязку к правому верхнему углу
ObjectSetInteger(ChartID(),"candlesize"+IntegerToString(i),OBJPROP_ANCHOR,ANCHOR_UPPER);
ObjectSet ( "candlesize"+IntegerToString(i),
OBJPROP_ANGLE,
TextAngle
);
ObjectSetText ( "candlesize"+IntegerToString(i),
DoubleToStr(NormalizeDouble((high[i]-low[i]+Point)/Point, 0), 0),
TextSize,
NULL,
TextColor
);
}
return(rates_total);
}
int StepPer ()
{
int i = 0;
switch (Period())
{
case PERIOD_M1:
i = 5;
break;
case PERIOD_M5:
i = 15;
break;
case PERIOD_M15:
i = 25;
break;
case PERIOD_M30:
i = 40;
break;
case PERIOD_H1:
i = 60;
break;
case PERIOD_H4:
i = 90;
break;
case PERIOD_D1:
i = 220;
break;
case PERIOD_W1:
i = 500;
break;
case PERIOD_MN1:
i = 2000;
break;
default:
break;
}
return (i);
}
Ну так после поворота точка уже не наверху по центру, а слева по центру, вот текст и сместился вправо.
Ну так после поворота точка уже не наверху по центру, а слева по центру, вот текст и сместился вправо.
Огроменное СПАСИБО !!!!!
Получилось все как хотелось !
Еще раз прошу прощение за непонимание и резкость мою !
Без подробностей это не доказательство ))) Полный текст инита покажите и объявление переменных.
С конца перебирать и вовремя выходить из цикла. Причём тут 10 пар? Хоть сто, у вас там есть выбор по символу.
}//+---------------------------------------------------------------------------------------+for
Ок, тут тот-же цикл, почему он закрывает ордера?)