我想在MQL5中绘制图表 trend line . 我尝试用这种方法:
ChartIndicatorAdd(0,0,handle);
但是,它没有工作并且低于错误: -
运行时错误(4107)
是否要将指标附加到图表或者是否要绘制(趋势)线?
如果要绘制线条,请使用 ObjectCreate 函数创建线条对象 .
ObjectCreate
例如: ObjectCreate(chart_id,"bullish",OBJ_TREND,sub_window,time1,price1,time2,price2);
ObjectCreate(chart_id,"bullish",OBJ_TREND,sub_window,time1,price1,time2,price2);
如果要在当前图表上绘制趋势线,请使用0表示 chart_id . 另外, sub_window 指的是图表子窗口(即主图表窗口为0) .
chart_id
sub_window
如果出现错误, ObjectCreate 方法返回false,因此您可能希望添加如下检查:
if(!ObjectCreate(chart_ID,"bullish",OBJ_TREND,sub_window,time1,price1,time2,price2)) { Print(__FUNCTION__,": failed to draw trend line! Error code: ",GetLastError()); }
确保使用 ResetLastError(); 重置错误代码 .
ResetLastError();
最后但并非最不重要的是,可以使用 ObjectSetInteger 函数设置像 color 这样的对象属性 .
ObjectSetInteger
阅读更多:ObjectCreate,ObjectSetInteger .
1 回答
是否要将指标附加到图表或者是否要绘制(趋势)线?
如果要绘制线条,请使用
ObjectCreate
函数创建线条对象 .例如:
ObjectCreate(chart_id,"bullish",OBJ_TREND,sub_window,time1,price1,time2,price2);
如果要在当前图表上绘制趋势线,请使用0表示
chart_id
. 另外,sub_window
指的是图表子窗口(即主图表窗口为0) .如果出现错误,
ObjectCreate
方法返回false,因此您可能希望添加如下检查:确保使用
ResetLastError();
重置错误代码 .最后但并非最不重要的是,可以使用
ObjectSetInteger
函数设置像 color 这样的对象属性 .阅读更多:ObjectCreate,ObjectSetInteger .