如何获得同一货币订单编号 - 页 2 12 新评论 enbo lu 2014.06.28 12:23 #11 caohongbin520: 要实现你说的这些其实没必要一定要找到所有订单的订单号再做操作的,在你EA的逻辑实现中一定有其他的方式。过滤掉其他货币对的订单: void OnStart() { //--- long ticket[100]; OrderTicketRecord(ticket,Symbol()); for(int i=0;i<ArraySize(ticket);i++) if(ticket[i]>0) { Print(i," ",ticket[i]); if(OrderSelect(ticket[i],SELECT_BY_TICKET,MODE_TRADES)) //做你想对这张订单做的操作,可通过这张订单的其他属性来确定是你EA中所谓的第几张订单... //.... } } //+------------------------------------------------------------------+ void OrderTicketRecord(long & ticket[],string _symbol) { int total = OrdersTotal(); if(total == 0) return; ArrayResize(ticket,total); for(int i=0;i<total;i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()== symbol/* your symbol*/) ticket[i] = OrderTicket(); else ticket[i] = -1; //其他货币对订单号一律设为-1 } } } hongbin cao 2014.06.28 14:04 #12 代码 慢慢研究 其实我发现 是我计算机思想问题 逻辑问题 hongbin cao 2014.06.29 03:10 #13 问题解决谢谢 我已经可以实现同类 操作了 基本可以了 Hongliang Liu 2014.07.08 06:58 #14 caohongbin520: 你要想按照顺序1.可以自己对ticket进行排序,一般先下的单ticket要小一些2.如果不放心ticket,自己EA下单时传入递增得magic值3.还可以对时间进行排序 个人目前经验来看,这些顺序与平仓,盈利,设置,资金管理等没多大关系。你要实现什么样的功能,可以详细描述出来,大伙交流一下,没准不用那么复杂~ hongbin cao 2014.07.18 09:00 #15 我要实现这个功能 我同时 下了 GU 一单 多 单 那么 下一个 空 EU 空单 形成货币对冲 我需要找到这2个订单 然后 找到这2个订单的盈利 只要 盈利 大于10点 就平仓 平调这2个货币的 明白了吗 每次下 2个货币 我还没考虑加仓的问题 我怕 加仓太复杂 订单不好找了 enbo lu 2014.07.18 10:08 #16 什么叫只要这个对冲组合的盈利大于10点?你完全没必要关心订单号。如果帐户中只有这组对冲订单(加仓也一样处理),那么直接获取帐户当前的profit。如果还有其他货币对订单,那么在计算profit的时候过滤掉就行了。 Hongliang Liu 2014.07.21 17:08 #17 caohongbin520: 我要实现这个功能 我同时 下了 GU 一单 多 单 那么 下一个 空 EU 空单 形成货币对冲 我需要找到这2个订单 然后 找到这2个订单的盈利 只要 盈利 大于10点 就平仓 平调这2个货币的 明白了吗 每次下 2个货币 我还没考虑加仓的问题 我怕 加仓太复杂 订单不好找了你可以这样解决:OP_BUY:GU ticket:111111OP_SELL:EU ticket:222222 magic:111111(做空单时将多单的ticket当做空单的magic,实现配对) 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
要实现你说的这些其实没必要一定要找到所有订单的订单号再做操作的,在你EA的逻辑实现中一定有其他的方式。
过滤掉其他货币对的订单:
你要想按照顺序
1.可以自己对ticket进行排序,一般先下的单ticket要小一些
2.如果不放心ticket,自己EA下单时传入递增得magic值
3.还可以对时间进行排序
个人目前经验来看,这些顺序与平仓,盈利,设置,资金管理等没多大关系。你要实现什么样的功能,可以详细描述出来,大伙交流一下,没准不用那么复杂~
我要实现这个功能 我同时 下了 GU 一单 多 单 那么 下一个 空 EU 空单
形成货币对冲
我需要找到这2个订单
然后 找到这2个订单的盈利
只要 盈利 大于10点 就平仓
平调这2个货币的 明白了吗
每次下 2个货币 我还没考虑加仓的问题 我怕 加仓太复杂 订单不好找了
什么叫只要这个对冲组合的盈利大于10点?
你完全没必要关心订单号。
如果帐户中只有这组对冲订单(加仓也一样处理),那么直接获取帐户当前的profit。
如果还有其他货币对订单,那么在计算profit的时候过滤掉就行了。
我要实现这个功能 我同时 下了 GU 一单 多 单 那么 下一个 空 EU 空单
形成货币对冲
我需要找到这2个订单
然后 找到这2个订单的盈利
只要 盈利 大于10点 就平仓
平调这2个货币的 明白了吗
每次下 2个货币 我还没考虑加仓的问题 我怕 加仓太复杂 订单不好找了
你可以这样解决:
OP_BUY:GU ticket:111111
OP_SELL:EU ticket:222222 magic:111111(做空单时将多单的ticket当做空单的magic,实现配对)