新手入门教程 发表于 2026-1-26 16:01:52

MQL4窗口数据处理函数(二)

MQL4窗口数据处理函数(二)
[*]HideTestIndicators() – 隐藏测试外汇MT4指标[*]Period() – 获取图表时段[*]RefreshRates() – 刷新数据[*]Symbol() – 获取图表货币对名称[*]WindowBarsPerChart() – 获取图表中柱体总数[*]WindowExpertName() – 获取图表上程序名称[*]WindowFind() – 搜索图表上外汇MT4指标[*]WindowFirstVisibleBar() – 获取图表上第一个显示的柱体[*]WindowHandle() – 获取图表句柄[*]WindowIsVisible() – 图表是否可见[*]WindowOnDropped() – 获取窗口索引[*]WindowPriceMax() – 获取窗口纵坐标刻度最大值[*]WindowPriceMin() – 获取窗口纵坐标刻度最小值[*]WindowPriceOnDropped() – 获取下滑价格[*]WindowRedraw() – 重绘当前图表[*]WindowScreenShot() – 窗口图表快照[*]WindowTimeOnDropped() – 价格下滑时间[*]WindowsTotal() – 获取外汇MT4指标窗口数[*]WindowXOnDropped() – x轴下滑像素值[*]WindowYOnDropped() – y轴下滑像素值

WindowOnDropped() – 获取窗口索引int WindowOnDropped()返回应用了智能交易、自定义外汇MT4指标和脚本的窗口索引。只有智能交易、自定义外汇MT4指标或脚本被鼠标拖到窗口上,这个值才是有效的。
注:对于那些被初始化函数调用的自定义外汇MT4指标(通过init()函数调用),此索引没有被定义。
返回的索引就是运行自定义外汇MT4指标的窗口编号(0一图表主菜单,外汇MT4指标子窗口从1开始编号)。在自定义外汇MT4指标运行期间,它可以自己创建新的子窗口,并且这个子窗口的编号和那些真正用鼠标把外汇MT4指标拖过去应用的窗口是不同的。
参见 WindowXOnDropped(),WindowYOnDropped()
示例:
if(WindowOnDropped()!=0){   Print("外汇MT4指标'MyIndicator'必须应用到主图表窗口!");   return(false);}WindowPriceMax() – 获取窗口纵坐标刻度最大值double WindowPriceMax(void index)返回当前图表指定的子窗口纵坐标刻度的最大值(0-图表主窗口,外汇MT4指标子窗口编号从1开始)。如果子窗口索引没有指定,将返回主图表窗口价格刻度的最大值。
参见WindowPriceMin(), WindowFirstVisibleBar(), WindowBarsPerChart()。
参数:
index - 图表子窗口索引(0-图表主窗口)。示例:
double   top=WindowPriceMax();double   bottom=WindowPriceMin();datetime left=Time;int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();if(right_bound返回当前图表指定的子窗口纵坐标刻度的最小值(0-图表主窗口,外汇MT4指标子窗口编号从1开始)。如果子窗口索引没有指定,将返回主图表窗口价格刻度的最小值。
参见 WindowPriceMax(), WindowFirstVisibleBar(), WindowBarsPerChart()。
参数:
index - 图表子窗口索引(0-图表主窗口)。示例:
double   top=WindowPriceMax();double   bottom=WindowPriceMin();datetime left=Time;int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();if(right_bound返回图表点的智能交易或脚本价格下滑价格。只有智能交易、自定义外汇MT4指标或脚本被鼠标拖到窗口上,这个值才是有效的。
注:对于自定义外汇MT4指标,这个值是不确定的。
示例:
double   drop_price=WindowPriceOnDropped();datetime drop_time=WindowTimeOnDropped();//---- 可能未指定 (zero)if(drop_time>0)    {   ObjectCreate("价格下滑水平", OBJ_HLINE, 0, drop_price);   ObjectCreate("下滑时间", OBJ_VLINE, 0, drop_time);    }WindowRedraw() – 重绘当前图表void WindowRedraw()强制重画当前图表。在货币对属性改变之后,通常会应用本函数。
示例:
//---- 设置货币对新属性ObjectMove(object_name1, 0, Time, price);ObjectSet(object_name1, OBJPROP_ANGLE, angle*2);ObjectSet(object_name1, OBJPROP_FONTSIZE, fontsize);ObjectSet(line_name, OBJPROP_TIME2, time2);ObjectSet(line_name, OBJPROP_ANGLE, line_angle);//---- 现在重画WindowRedraw();WindowScreenShot() – 窗口图表快照bool WindowScreenShot(string filename, int size_x,                     int size_y, void start_bar,                     void chart_scale, void chart_mode)以GIF文件形式保存当前图表图像。如果失败,返回FALSE,想要得到详细的错误信息,请调用 GetLastError() 函数。
屏幕快照保存在terminal_dir/experts/files (terminal_dir/tester/files 测试情况下)目录或其子目录中。
参数:
filename    - 保存屏幕快照的文件名称。 size_x      - 屏幕宽度(像素)。 size_y      - 屏幕高度(像素)。 start_bar   - 屏幕快照中第一个可见柱子。如果价格值设定为0,当前第个可见柱子将被除去。如果价格值未设置或为负值,图表尾部图像将会生成。 chart_scale - 屏幕快照图表的水平刻度。范围可以从0到5,如果没有值或设为负值,将直接使用当前图表刻度。 chart_mode- 图表显示模式。可以采用下列值:            CHART_BAR   (以柱体形式显示)            CHART_CANDLE (以K线形式显示)            CHART_LINE   (以收盘价线显示)。                如果没有值或设为负值,图表会以当前模式显示。 示例:
int lasterror=0;//----测试模式下平仓if(IsTesting() && ExtTradesCounterWindowTimeOnDropped() – 价格下滑时间datetime WindowTimeOnDropped()返回图表点的智能交易或脚本价格下滑时间部分。只有智能交易、自定义外汇MT4指标或脚本被鼠标拖到窗口上,这个值才是有效的。
注:对于自定义外汇MT4指标,这个值是不确定的。
示例:
double   drop_price=WindowPriceOnDropped();datetime drop_time=WindowTimeOnDropped();//---- 可能未指定 (zero)if(drop_time>0)    {   ObjectCreate("Dropped price line", OBJ_HLINE, 0, drop_price);   ObjectCreate("Dropped time line", OBJ_VLINE, 0, drop_time);    }WindowsTotal() – 获取外汇MT4指标窗口数int WindowsTotal()返回在图表中外汇MT4指标窗口数(包括主图表)。
示例:
Print("窗口数 = ", WindowsTotal()); WindowXOnDropped() – x轴下滑像素值int WindowXOnDropped()在图表窗口的客户区域点,应用了智能交易或脚本,当鼠标拖动时,返回X轴上的下滑点像素值。当以映像点x轴智能交易或脚本下滑时,返回价格值。
只有在智能交易或脚本应用鼠标技术(”拖曳”)的情况下,这个值是准确的。
参见WindowYOnDropped(), WindowOnDropped()
示例:
Print("智能交易下滑点 x=",WindowXOnDropped()," y=",WindowYOnDropped());WindowYOnDropped() – y轴下滑像素值int WindowYOnDropped()在图表窗口的客户区域点,应用了智能交易或脚本,当鼠标拖动时,返回Y轴上的下滑点像素值。当以映像点Y轴智能交易或脚本下滑时,返回价格值。
只有在智能交易或脚本应用鼠标技术(”拖曳”)的情况下,这个值是准确的。
参见 WindowXOnDropped(), WindowPriceOnDropped(), WindowOnDropped()
示例:
Print("智能交易下滑点 x=",WindowXOnDropped()," y=",WindowYOnDropped());
大家在看了小编以上对"MQL4窗口数据处理函数(二)"的介绍后应该都清楚了吧,希望对大家做单有所帮助。如果大家还想要下载更多有关"MQL4窗口数据处理函数(二)"的相关EA源码,敬请关注汇探网下载。我们会持续更新交易系统,EA源码。
页: [1]
查看完整版本: MQL4窗口数据处理函数(二)