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

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

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

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

本函数设置一个供智能交易调用的隐藏指标标志。在智能交易试探完成,打开了相应的图表,标出过的指标将不会显现在试探图表中。每个调用过的指标将首先用目前隐藏的标志标记。

特别要注意到,只有那些直接从智能交易调用的指标才可以在试探图表中画出。

参数:

hide - 假使需要隐藏指标为TRUE,否则为FALSE。

示例:

   HideTestIndicators(true);

MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PR洲际交易所_CLOSE,0);

MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PR洲际交易所_CLOSE,1);

HideTestIndicators(false);

Period() – 获取图表时段
int Period()

返回目前窗口在用时段(图表周期)的分钟总数。

示例:

  Print("时间周期 ", Period());

RefreshRates() – 创下报告
bool RefreshRates()

创下预定义变量和序列数组中报告。当智能交易计算时间过长时,本函数可以自动更新报告。假使报告被更新,返回TRUE,否则,返回FALSE。报告不被更新的唯一原因就是他们是客户端的目前报告。

智能交易和脚本只处理它们自己的历史报告的副本。在智能交易和脚本首次起步的时机,目前货币对报告就已经被复制过。每次钊能交易或脚本起步时,会更新最初得到的副本。在智能交易和脚本运行时,或许会收到一个或多个新的步进报告,现有报告或许会过期。

示例:

   int ticket;   while(true)     {      ticket=OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,CLR_NONE);

if(ticket<=0) { int error=GetLastError();

//---- 资金不足 if(error==134) break; //---- 等候 10 秒钟 Sleep(10000);

//---- 创下价格报告 RefreshRates();

break; } else { OrderSelect(ticket,SELECT_BY_TICKET);

OrderPrint();

break; } }

Symbol() – 获取图表货币对名称
string Symbol()

返回目前窗口图表货币对名称。

示例:

   int total=OrdersTotal();

for(int pos=0;posOP_SELL || OrderSymbol()!=Symbol()) continue; // 实施过程... }

万得owBarsPerChart() – 获取图表中柱体总数
int 万得owBarsPerChart()

返回目前窗口图表可见柱体(K线)总数。

示例:

// 对于可见柱工作。int bars_count=万得owBarsPerChart();

int bar=万得owFirstVisibleBar();

for(int i=0; i
万得owExpertName() – 获取图表上程序名称
string 万得owExpertName()

返回智能交易、脚本、自定义指标和库的名称,这取决于MQL4程序的调用。

示例:

string name=万得owExpertName();

GlobalVariablesDeleteAll(name);

万得owFind() – 搜索图表上指标
int 万得owFind(string name)

假使发现有名称的指标,本函数返回包含指定指标的窗口索引,否则,返回-1。

参数:

name - 指标名称。

示例:

int win_idx=万得owFind("MACD(12,26,9)");

万得owFirstVisibleBar() – 获取图表上第一个表明的柱体
int 万得owFirstVisibleBar()

本函数在目前图表窗口中返回第1个表明的柱体(K线)。务必顾虑到价格柱子的逆序编号,即从最后个价格到第个价格排列。在价格数组中目前柱子是最新的,索引为0,最老的柱子索引为 Bars-1。假使第一个表明的柱子编号为2或更高,但少于图表中能表明的柱子总数,这就代表着图表窗口没有完全填满,离窗口侧边仍有空白。

示例:

   // 可见柱的工作   int bars_count=万得owBarsPerChart();

int bar=万得owFirstVisibleBar();

for(int i=0; i
万得owHandle() – 获取图表句柄
int 万得owHandle(string symbol, int timeframe)

返回包含特定图表的系统窗口句柄。假使图表在函数调用时还没有打开,返回为0。

参数:

symbol - 货币对名称。timeframe - 时段。可以是任意的时段枚举值,0代表着运用目前图表中时段。

示例:

  int win_handle=万得owHandle("USDX",PERIOD_H1);

if(win_handle!=0) Print("发现带有USDX,H1 的窗口。数组将令被立刻复制。");

万得owIsVisible() – 图表能否可见
bool 万得owIsVisible(int index)

假使图表子窗口可见,返回TRUE,否则,返回FALSE。受于指标的可视属性可以放置在图表子窗口里,图表子窗口能被隐藏。

参数:

index - 图表子窗口索引。

示例:

  int win_handle=万得owHandle("USDX",PERIOD_H1);

if(win_handle!=0) Print("发现带有USDX,H1 的窗口。数组将令被立刻复制。");

标签:

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

加入VIP