咨询:MQL5在图表上设计一个按钮: 例如: 按钮名称 “EURUSD”, 点击按钮打开相应的货币对图表窗口, 这个鼠标点击事件,需要调用哪一个函数来显示“EURUSD”货币对的窗口。 谢谢。

 
咨询:MQL5在图表上设计一个按钮: 例如: 按钮名称 “EURUSD”, 点击按钮打开相应的货币对图表窗口, 这个鼠标点击事件,需要调用哪一个函数来显示“EURUSD”货币对的窗口。  谢谢。
 
只能做到切换品种或者打开一个新图表应用模板,跳转到现有的图表窗口没试过
 

这个当然可以实现了 有2个函数命令可以实现 第一个是

ChartSetSymbolPeriod

更改指定图表的交易品种和周期。函数不同步,例如,不等执行完成就发送命令。该命令添加到图表信息队列并且将在处理完之前所有命令后开始执行。

bool  ChartSetSymbolPeriod( 
   long             chart_id,     // 图表 ID 
   string           symbol,       // 交易品种名称 
   ENUM_TIMEFRAMES  period        // 周期 
   );

参量

chart_id

[in]  图表 ID. 0 意味着当前图表。

交易品种

[in]  图表交易品种。 NULL 值意味着当前图表交易品种(附上EA交易)。

period

[in] 图表周期(时间表)。可以是ENUM_TIMEFRAMES值之一。0意味着当前图表周期。

返回值

如果该命令已添加到图表队列则返回true,否则false。若获得额外错误信息,需要调用函数GetLastError()

注释

交易品种/周期的更改导致图表中EA交易的重新初始化。

通过相同的交易品种和时间周期调用ChartSetSymbolPeriod可以用来更新图表(类似于客户端的刷新命令)。反过来,图表的更新还会重新计算所附的指标。因此,即使没有报价您仍然可以计算图表中的指标(例如:周末)。

另见

以上是 更新现在的图标至指定图标,周期。

第二个命令是

ChartOpen

打开指定交易品种和周期的新图表。

long  ChartOpen( 
   string           symbol,     // 交易品种名称 
   ENUM_TIMEFRAMES  period      // 周期 
   );

参量

symbol

[in]  图表交易品种, NULL 意味着当前图表交易品种(附上EA交易)。

period

[in]  图表周期(时间表)。可以是ENUM_TIMEFRAMES值之一。0代表当前图表周期。

返回值

若成功,返回打开图表ID,否则返回0。

注释

程序端同时打开图表的最大值不能超过CHARTS_MAX值。

不明白的加我微信18904514480 咨询吧!

 

Forum on trading, automated trading systems and testing trading strategies

When you post code please use the CODE button (Alt-S)!

Use the CODE button