首页学院交易策略EA智能交易文章详细

MQL4窗口报告处理函数(二)

外汇网2021-06-17 09:40:57 71
汇外网 - 全球专业的黄金外汇门户导航行情资讯网站

  • HideTestIndicators() – 隐藏试探指标
  • Period() – 获取图表时段
  • RefreshRates() – 创下报告
  • Symbol() – 获取图表货币对名称
  • 万得owBarsPerChart() – 获取图表中柱体总数
  • 万得owExpertName() – 获取图表上程序名称
  • 万得owFind() – 搜索图表上指标
  • 万得owFirstVisibleBar() – 获取图表上第一个表明的柱体
  • 万得owHandle() – 获取图表句柄
  • 万得owIsVisible() – 图表能否可见
  • 万得owOnDropped() – 获取窗口索引
  • 万得owPriceMax() – 获取窗口纵坐标刻度最大值
  • 万得owPriceMin() – 获取窗口纵坐标刻度最小值
  • 万得owPriceOnDropped() – 获取下跌价格
  • 万得owRedraw() – 重绘目前图表
  • 万得owScreenShot() – 窗口图表快照
  • 万得owTimeOnDropped() – 价格下跌时间
  • 万得owsTotal() – 获取指标窗口数
  • 万得owXOnDropped() – x轴下跌像素值
  • 万得owYOnDropped() – y轴下跌像素值
万得owOnDropped() – 获取窗口索引
int 万得owOnDropped()

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

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

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

参见 万得owXOnDropped(), 万得owYOnDropped()

示例:

if(万得owOnDropped()!=0)  {   Print("指标'MyIndicator'务必应用到主图表窗口!");

return(false);

}

万得owPriceMax() – 获取窗口纵坐标刻度最大值
double 万得owPriceMax(void index)

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

参见万得owPriceMin(), 万得owFirstVisibleBar(), 万得owBarsPerChart()。

参数:

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

示例:

double   top=万得owPriceMax();

double bottom=万得owPriceMin();

datetime left=Time[万得owFirstVisibleBar()];int right_bound=万得owFirstVisibleBar()-万得owBarsPerChart();

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);

万得owRedraw();

万得owPriceMin() – 获取窗口纵坐标刻度最小值
double 万得owPriceMin(void index)

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

参见 万得owPriceMax(), 万得owFirstVisibleBar(), 万得owBarsPerChart()。

参数:

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

示例:

double   top=万得owPriceMax();

double bottom=万得owPriceMin();

datetime left=Time[万得owFirstVisibleBar()];int right_bound=万得owFirstVisibleBar()-万得owBarsPerChart();

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);

万得owRedraw();

万得owPriceOnDropped() – 获取下跌价格
double 万得owPriceOnDropped()

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

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

示例:

  double   drop_price=万得owPriceOnDropped();

datetime drop_time=万得owTimeOnDropped();

//---- 或许未指定 (zero) if(drop_time>0) { ObjectCreate("价格下跌水平", OBJ_HLINE, 0, drop_price);

ObjectCreate("下跌时间", OBJ_VLINE, 0, drop_time);

}

万得owRedraw() – 重绘目前图表
void 万得owRedraw()

强制重画目前图表。在货币对属性更改之后,一般会应用本函数。

示例:

  //---- 设置货币对新属性  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);

//---- 当下重画 万得owRedraw();

万得owScreenShot() – 窗口图表快照
bool 万得owScreenShot(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

else ExtShotsCounter++; ExtTradesCounter=TradesTotal();

}

万得owTimeOnDropped() – 价格下跌时间
datetime 万得owTimeOnDropped()

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

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

示例:

  double   drop_price=万得owPriceOnDropped();

datetime drop_time=万得owTimeOnDropped();

//---- 或许未指定 (zero) if(drop_time>0) { ObjectCreate("Dropped price line", OBJ_HLINE, 0, drop_price);

ObjectCreate("Dropped time line", OBJ_VLINE, 0, drop_time);

}

万得owsTotal() – 获取指标窗口数
int 万得owsTotal()

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

示例:

Print("窗口数 = ", 万得owsTotal());

万得owXOnDropped() – x轴下跌像素值
int 万得owXOnDropped()

在图表窗口的客户区域点,应用了智能交易或脚本,当鼠标拖动时,返回X轴上的下跌点像素值。当以映像点x轴智能交易或脚本下跌时,返回价格值。

只有在智能交易或脚本应用鼠标技术(”拖曳”)的情形下,这个值是精准的。

参见万得owYOnDropped(), 万得owOnDropped()

示例:

Print("智能交易下跌点 x=",万得owXOnDropped()," y=",万得owYOnDropped());

万得owYOnDropped() – y轴下跌像素值
int 万得owYOnDropped()

在图表窗口的客户区域点,应用了智能交易或脚本,当鼠标拖动时,返回Y轴上的下跌点像素值。当以映像点Y轴智能交易或脚本下跌时,返回价格值。

只有在智能交易或脚本应用鼠标技术(”拖曳”)的情形下,这个值是精准的。

参见 万得owXOnDropped(), 万得owPriceOnDropped(), 万得owOnDropped()

示例:

Print("智能交易下跌点 x=",万得owXOnDropped()," y=",万得owYOnDropped());

标签:

随机快审展示
加入快审,优先展示

加入VIP