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

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

 

WindowOnDropped() – 获取窗口索引

int WindowOnDropped()

返回应用了智能交易、自定义指标和脚本的窗口索引。只有智能交易、自定义指标或脚本被鼠标拖到窗口上,这个值才是有效的。

注:对于那些被初始化函数调用的自定义指标(通过init()函数调用),此索引没有被定义。

返回的索引就是运行自定义指标的窗口编号(0一图表主菜单,指标子窗口从1开始编号)。在自定义指标运行期间,它可以自己创建新的子窗口,并且这个子窗口的编号和那些真正用鼠标把指标拖过去应用的窗口是不同的。

参见 WindowXOnDropped(),  WindowYOnDropped()

示例:

if(WindowOnDropped()!=0)  {   Print("指标'MyIndicator'必须应用到主图表窗口!");   return(false);  }

WindowPriceMax() – 获取窗口纵坐标刻度最大值

double WindowPriceMax(void index)

返回当前图表指定的子窗口纵坐标刻度的最大值(0-图表主窗口,指标子窗口编号从1开始)。如果子窗口索引没有指定,将返回主图表窗口价格刻度的最大值。

参见WindowPriceMin(), WindowFirstVisibleBar(), WindowBarsPerChart()。

参数:

index - 图表子窗口索引(0-图表主窗口)。

示例:

double   top=WindowPriceMax();double   bottom=WindowPriceMin();datetime left=Time[WindowFirstVisibleBar()];int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();if(right_bound<0) right_bound=0;datetime right=Time[right_bound]+Period()*60;//----ObjectCreate("Padding_rect",OBJ_RECTANGLE,0,left,top,right,bottom);ObjectSet("Padding_rect",OBJPROP_BACK,true);ObjectSet("Padding_rect",OBJPROP_COLOR,Blue);WindowRedraw();

WindowPriceMin() – 获取窗口纵坐标刻度最小值

double WindowPriceMin(void index)

返回当前图表指定的子窗口纵坐标刻度的最小值(0-图表主窗口,指标子窗口编号从1开始)。如果子窗口索引没有指定,将返回主图表窗口价格刻度的最小值。

参见 WindowPriceMax(), WindowFirstVisibleBar(), WindowBarsPerChart()。

参数:

index - 图表子窗口索引(0-图表主窗口)。

示例:

double   top=WindowPriceMax();double   bottom=WindowPriceMin();datetime left=Time[WindowFirstVisibleBar()];int      right_bound=WindowFirstVisibleBar()-WindowBarsPerChart();if(right_bound<0) right_bound=0;datetime right=Time[right_bound]+Period()*60;//----ObjectCreate("Padding_rect",OBJ_RECTANGLE,0,left,top,right,bottom);ObjectSet("Padding_rect",OBJPROP_BACK,true);ObjectSet("Padding_rect",OBJPROP_COLOR,Blue);WindowRedraw();

WindowPriceOnDropped() – 获取下滑价格

double WindowPriceOnDropped()

返回图表点的智能交易或脚本价格下滑价格。只有智能交易、自定义指标或脚本被鼠标拖到窗口上,这个值才是有效的。

注:对于自定义指标,这个值是不确定的。

示例:

  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[index], 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() && ExtTradesCounter<TradesTotal())    {     //---- 使用 WindowScreenShot 进行检测     if(!WindowScreenShot("shots//tester"+ExtShotsCounter+".gif",640,480))        lasterror=GetLastError();     else ExtShotsCounter++;     ExtTradesCounter=TradesTotal();    }

WindowTimeOnDropped() – 价格下滑时间

datetime WindowTimeOnDropped()

返回图表点的智能交易或脚本价格下滑时间部分。只有智能交易、自定义指标或脚本被鼠标拖到窗口上,这个值才是有效的。

注:对于自定义指标,这个值是不确定的。

示例:

  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() – 获取指标窗口数

int WindowsTotal()

返回在图表中指标窗口数(包括主图表)。

示例:

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());
欢迎访问 外 汇 邦 WWW.WaiHuiBang.com
本文标题:MQL4窗口数据处理函数(二) - MT4平台MQL4编程学习
本文地址:http://www.ea666.cn/fxschool/autotrading/mql4/49026.html

相关文章

  • 历史回测非常好的EA能不能直接实盘?

    历史回测非常好的EA能不能直接实盘?答案是否定的。 MT4历史数据回测最好的用途是快速检验EA的逻辑符合性,即验证EA是否能够严格按照预定的策略执行。 鉴于历史数据不完整和人工编造等原因,一个表现良好的EA并不意味着...

    MQL4编程学习
  • 说说外汇ea中常用的资金管理策略

    1.中性策略(Neutral strtegy,NT)现在测试EA都要求使用0.1手固定手数,不得启用复利模式,以检视EA的性能。 用于提供与其他EA比较的基准。2.马丁格尔法(Martingale,MG)在每次赔钱后,将赌注加倍,而在任何一次...

    MQL4编程学习
  • 在本机搭建跨多个外汇平台商的MT4本地正反向跟单信号同步系统的方法
    在本机搭建跨多个外汇平台商的MT4本地正反向跟单信号同步系统的方法

    在我们日常的外汇交易中,常常有一些交易上的需求,必须依赖第三方软件来辅助解决。MT4只是解决了基本的挂单、下单问题,像跨越多个平台商进行信号同步下单这样的需求,光靠手工是解决不了的,需要用跨平台的跟单软件,而且有...

    MQL4编程学习
  • 解析程序化交易的运用与风险管理

    前言:程序化交易的买卖决策完全决定于自己的交易理念系统化、制度化的逻辑判断规则,透过电脑的辅助,将各种交易理念转化为电脑程序语言的一种交易模式,即由电脑来代替人为发出买卖讯号,再根据系统...

    MQL4编程学习
  • MT4 EA制作速成班――基础篇

    # 什么是MT4? 我就当你了解什么是MT4了 MT4就是META. TRADER 4# 什么是EA? 我也当你了解什么是EA了 EA 就是 Expert Adviser EA 就是智能交易系统 智能教育系统就是: -软件自己判断下订单 -软件自己判断提成利润 -软件自己...

    MQL4编程学习
你可能感兴趣