gravity
Местный знаток
опять 25
Индикатор изначально показывал линии аск и бид горизонтальными линиями OBJ_HLINE, пытался передлать под линии тренда OBJ_TREND.
Сначала была такая проблема, что линии перекашивались.
Задал OBJPROP_PRICE2 , проблема с перекосом исчезла, но появилась новая. Теперь, линии не перемещаются за ценой, а остаются на месте первой установки.
Индикатор изначально показывал линии аск и бид горизонтальными линиями OBJ_HLINE, пытался передлать под линии тренда OBJ_TREND.
Сначала была такая проблема, что линии перекашивались.
Задал OBJPROP_PRICE2 , проблема с перекосом исчезла, но появилась новая. Теперь, линии не перемещаются за ценой, а остаются на месте первой установки.
Код:
//+------------------------------------------------------------------+
//| Line_AskBid.mq4 |
//| Copyright © 2011,Alen_T |
//| http://fxgeneral.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,Alen_T"
#property link "http://fxgeneral.com"
//Свойства линий можно менять при выделении на графике.
//При удалении линий - будут восстановлены с заданными параметрами
#property indicator_chart_window
extern color Bidcolor = clrDeepSkyBlue; //Цвет линии
extern int Bidstyle = 1; //Стиль линии. Используется только при толщине линии 0 или 1.
//STYLE_SOLID 0 Сплошная линия
//STYLE_DASH 1 Штриховая линия
//STYLE_DOT 2 Пунктирная линия
//STYLE_DASHDOT 3 Штрих-пунктирная линия
//STYLE_DASHDOTDOT 4 Штрих-пунктирная линия с двойными точками
extern int Bidwidth = 0; //Толщина линии
extern bool ShowAsk = true; //Рисовать линию Ask
extern color Askcolor = clrRed; //Цвет линии
extern int Askstyle = 0; //Стиль линии. Используется только при толщине линии 0 или 1.
extern int Askwidth = 1; //Толщина линии
int init()
{
return(0);
}
int deinit()
{
ObjectDelete("line_Ask");
ObjectDelete("line_Bid");
return(0);
}
int start()
{
string name = "line_Bid";
RefreshRates();
if(ObjectFind(name) < 0) {
ObjectCreate(name, OBJ_HLINE, 0, 0, Bid);
ObjectSet(name, OBJPROP_COLOR, Bidcolor);
ObjectSet(name, OBJPROP_STYLE, Bidstyle);
ObjectSet(name, OBJPROP_WIDTH, Bidwidth);
}
ObjectSet(name, OBJPROP_PRICE1, Bid);
if(!ShowAsk) return(0);
name = "line_Ask";
if(ObjectFind(name) < 0) {
ObjectCreate(name, OBJ_HLINE, 0, 0, Ask);
ObjectSet(name, OBJPROP_COLOR, Askcolor);
ObjectSet(name, OBJPROP_STYLE, Askstyle);
ObjectSet(name, OBJPROP_WIDTH, Askwidth);
}
ObjectSet(name, OBJPROP_PRICE1, Ask);
return(0);
}
Код:
//+------------------------------------------------------------------+
//| Line_AskBid.mq4 |
//| Copyright © 2011,Alen_T |
//| http://fxgeneral.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012,Alen_T"
#property link "http://fxgeneral.com"
#property strict
//Свойства линий можно менять при выделении на графике.
//При удалении линий - будут восстановлены с заданными параметрами
#property indicator_chart_window
extern string t1 = " === Настройки линии Bid ===";
extern color Bidcolor = clrDeepSkyBlue; //Цвет
extern int Bidstyle = 1; //Стиль
//STYLE_SOLID 0 Сплошная линия
//STYLE_DASH 1 Штриховая линия
//STYLE_DOT 2 Пунктирная линия
//STYLE_DASHDOT 3 Штрих-пунктирная линия
//STYLE_DASHDOTDOT 4 Штрих-пунктирная линия с двойными точками
extern int Bidwidth = 0; //Толщина
extern string t2 = " === Настройки линии Ask ===";
extern bool ShowAsk = true; //Рисовать линию
extern color Askcolor = clrRed; //Цвет
extern int Askstyle = 1; //Стиль
extern int Askwidth = 1; //Толщина
extern string t3 = " === Общие настройки ===";
extern int Length = 30; // Длина линий
int init()
{
return(0);
}
int deinit()
{
ObjectDelete("line_Ask");
ObjectDelete("line_Bid");
return(0);
}
int start()
{
string name = "line_Bid";
RefreshRates();
if(ObjectFind(name) < 0) {
ObjectCreate(name, OBJ_TREND, 0, Time[0], Bid, Time[0]+PeriodSeconds()*Length,Bid);
ObjectSet(name, OBJPROP_COLOR, Bidcolor);
ObjectSet(name, OBJPROP_STYLE, Bidstyle);
ObjectSet(name, OBJPROP_WIDTH, Bidwidth);
ObjectSet(name,OBJPROP_RAY,false);
}
ObjectSet(name, OBJPROP_PRICE1, Bid);
ObjectSet(name, OBJPROP_PRICE2, Bid);
if(!ShowAsk) return(0);
name = "line_Ask";
if(ObjectFind(name) < 0) {
ObjectCreate(name, OBJ_TREND, 0, Time[0], Ask, Time[0]+PeriodSeconds()*Length);
ObjectSet(name, OBJPROP_COLOR, Askcolor);
ObjectSet(name, OBJPROP_STYLE, Askstyle);
ObjectSet(name, OBJPROP_WIDTH, Askwidth);
ObjectSet(name,OBJPROP_RAY,false);
}
ObjectSet(name, OBJPROP_PRICE1, Ask);
ObjectSet(name, OBJPROP_PRICE2, Ask);
return(0);
}