EA 周末不执行问题

 

我想实现一个功能。就是闭市期间不执行EA. 

比如HK50指数 在中午和下午会有阶段性的闭市。周末有的平台可以交易虚拟货币,但是其他货币对和黄金原油是闭市的,但是仍然有持仓。

这样处理持仓的ea会不断发送请求。然后处理失败。


有这样的函数可以判断symbol 是否在交易时间内吗?还是只能自己定义时间来实现这个功能。
 
ThrallOtaku:

我想实现一个功能。就是闭市期间不执行EA. 

比如HK50指数 在中午和下午会有阶段性的闭市。周末有的平台可以交易虚拟货币,但是其他货币对和黄金原油是闭市的,但是仍然有持仓。

这样处理持仓的ea会不断发送请求。然后处理失败。


有这样的函数可以判断symbol 是否在交易时间内吗?还是只能自己定义时间来实现这个功能。
你的EA是多货币EA吗?如果是单货币EA, 闭市后报价就会停止了。在OnTick模式下,没有Tick跳动,EA也就停止动作了。似乎并不需要对EA作任何处理吧。
 
ThrallOtaku:

我想实现一个功能。就是闭市期间不执行EA. 

比如HK50指数 在中午和下午会有阶段性的闭市。周末有的平台可以交易虚拟货币,但是其他货币对和黄金原油是闭市的,但是仍然有持仓。

这样处理持仓的ea会不断发送请求。然后处理失败。


有这样的函数可以判断symbol 是否在交易时间内吗?还是只能自己定义时间来实现这个功能。

你的有EA问题。似乎 发送请求的 代码被放置在OnTimer()里了,是按时动,不是按价动。

 

如果是多品种交易EA,比如原油套利,必须要知道每个品种的交易时段。

参考:

bool  SymbolInfoSessionTrade( 
   string            name,                // symbol name 
   ENUM_DAY_OF_WEEK  day_of_week,         // day of the week 
   uint              session_index,       // session index 
   datetime&         from,                // session beginning time 
   datetime&         to                   // session end time 
   );
 
Nianfu Li:
你的EA是多货币EA吗?如果是单货币EA, 闭市后报价就会停止了。在OnTick模式下,没有Tick跳动,EA也就停止动作了。似乎并不需要对EA作任何处理吧。

你说的是对的,闭市已经没有报价了,EA程序在运行,但是不会做具体动作了。

 
Wen Tao Xiong:

你说的是对的,闭市已经没有报价了,EA程序在运行,但是不会做具体动作了。


如果是在OnTimer()中,即使周末,EA也会有动作,上面Lin Luo已经指出了。

 
是的,程序仍然在执行,不需要报价的函数会继续执行,需要报价触发的响应函数就不会继续执行了。
 
Ziheng Zhuang:

如果是多品种交易EA,比如原油套利,必须要知道每个品种的交易时段。

参考:


要找到的就是这个。谢谢大神。。。。。这个直接在oninit里面指定品种和交易时间就行吧?

 

品种的交易时段是属性,是平台指定的。

你要判断symbol是否在交易时段,那得先求出品种的交易时段,然后当下时间比较,看看当下时间是否在交易时段内。

这种比较肯定是在开仓之前,不是在OnInit中,在OnTick中。

原因: