Рисуйте отрезком:
// Формирование линии
int fLine(string Name // Префикс имени
,string Text // Префикс описания
,int Number // Номер
,int Bar1,double Price1 // Первая точка
,int Bar2,double Price2 // Вторая точка
,int Bar3,double Price3 // Вспомогательная точка
,color Цвет
,int Стиль=STYLE_SOLID // Сплошная
,int Видимость=0 // Только на текущем таймфрейме
,bool Луч=false
,int Толщина=1
,bool Фон=true ) {
int Error;
datetime Time1=Time[Bar1],
Time2=Time[Bar2];
if( Number>0 ) Name=Name+Number;
if( Bar1<=Bar2
|| Bar1<LastBar
|| Bar2<LastBar-1
|| Price1<Zero
|| Price2<Zero ) {
Error=MyError;
Print("*** "+Name+" не создан, параметры: "
+DoubleToStr(Price1,Digits)+" ("+Bar1+"/"+TimeToStr(Time1)+")..."
+DoubleToStr(Price2,Digits)+" ("+Bar2+"/"+TimeToStr(Time2)+")");
return(Error);
}
Error=fObjectDelete(Name);
if( Error>0 && Error<MyError ) {
return(Error);
}
if( ObjectCreate(Name,OBJ_TREND,0,Time1,Price1,Time2,Price2,Time[Bar3],Price3) ) {
if( Text!="" && Number>0 ) {
Text=Text+Number;
Фон=true;
}
if( !ObjectSetText(Name, Text)
|| !ObjectSet(Name, OBJPROP_COLOR, Цвет)
|| !ObjectSet(Name, OBJPROP_STYLE, Стиль)
|| !ObjectSet(Name, OBJPROP_RAY, Луч)
|| !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость)
|| !ObjectSet(Name, OBJPROP_WIDTH, Толщина)
|| !ObjectSet(Name, OBJPROP_BACK, Фон) ) {
Error=GetLastError();
if( !РежимОтладки ) PlaySound("alert.wav");
Print("***** "+Name+" - ошибка модификации параметров "+Error);
} }
else {
Error=GetLastError();
if( !РежимОтладки ) PlaySound("alert.wav");
Print("***** "+Name+" - объект не создан, ошибка "+Error);
}
return(Error);
}
// Формирование линии int fLine(string Name // Префикс имени ,string Text // Префикс описания ,int Number // Номер ,int Bar1,double Price1 // Первая точка ,int Bar2,double Price2 // Вторая точка ,int Bar3,double Price3 // Вспомогательная точка ,color Цвет ,int Стиль=STYLE_SOLID // Сплошная ,int Видимость=0 // Только на текущем таймфрейме ,bool Луч=false ,int Толщина=1 ,bool Фон=true ) { int Error; datetime Time1=Time[Bar1], Time2=Time[Bar2]; if( Number>0 ) Name=Name+Number; if( Bar1<=Bar2 || Bar1<LastBar || Bar2<LastBar-1 || Price1<Zero || Price2<Zero ) { Error=MyError; Print("*** "+Name+" не создан, параметры: " +DoubleToStr(Price1,Digits)+" ("+Bar1+"/"+TimeToStr(Time1)+")..." +DoubleToStr(Price2,Digits)+" ("+Bar2+"/"+TimeToStr(Time2)+")"); return(Error); } Error=fObjectDelete(Name); if( Error>0 && Error<MyError ) { return(Error); } if( ObjectCreate(Name,OBJ_TREND,0,Time1,Price1,Time2,Price2,Time[Bar3],Price3) ) { if( Text!="" && Number>0 ) { Text=Text+Number; Фон=true; } if( !ObjectSetText(Name, Text) || !ObjectSet(Name, OBJPROP_COLOR, Цвет) || !ObjectSet(Name, OBJPROP_STYLE, Стиль) || !ObjectSet(Name, OBJPROP_RAY, Луч) || !ObjectSet(Name, OBJPROP_TIMEFRAMES, Видимость) || !ObjectSet(Name, OBJPROP_WIDTH, Толщина) || !ObjectSet(Name, OBJPROP_BACK, Фон) ) { Error=GetLastError(); if( !РежимОтладки ) PlaySound("alert.wav"); Print("***** "+Name+" - ошибка модификации параметров "+Error); } } else { Error=GetLastError(); if( !РежимОтладки ) PlaySound("alert.wav"); Print("***** "+Name+" - объект не создан, ошибка "+Error); } return(Error); }
Доброго всем дня,
а есть такой скрипт, например бар на м30 отмечаешь.
переходишь на м1 и видишь там начало и конец этого бара, выделенный линиями или цветом
Доброго всем дня,
а есть такой скрипт, например бар на м30 отмечаешь.
переходишь на м1 и видишь там начало и конец этого бара, выделенный линиями или цветом
https://www.mql5.com/ru/code/8047

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Нужен скрипт, для рисования вертикальных линий на графике, по заданному кол-ву пунктов.