任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 963 1...956957958959960961962963964965966967968969970...1178 新评论 [删除] 2015.11.16 10:56 #9621 是的,Atztek,我为描述中的不准确而道歉。1.因为在与MA相交之前,这些都是买入止损单,而Ur1 Ur2 Ur3只有在价格越过MA之后才被识别。2.分别在所有买入订单中进行上述for-cycle搜索(因为还有3个卖出止损订单,它们在每个蜡烛图上爬行在不同的MA上)。 atztek 2015.11.16 11:13 #9622 vadimvborisov:是的,Atztek,我为描述中的不准确而道歉。1.因为在与MA相交之前,这些都是买入止损单,而Ur1 Ur2 Ur3只有在价格越过MA之后才被识别。2.分别在所有买入订单中进行上述for-cycle搜索(因为还有3个卖出止损订单,它们在每个蜡烛图上爬行在不同的MA上)。 1.你说。Советник открывает (на основании пересечения с MA ) несколько (3) рыночных ордеров 止损单在被价格越过的那一刻就成为可销售的,MA与此无关。 好吧,由你来决定你的EA如何运作。 2.目的是什么 - ? bool mod_Buy1 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL,Ur1,0,clrNONE); bool mod_Buy2 = OrderModify ( OrderTicket(???),OrderOpenPrice (), NULL,Ur2,0,clrNONE); bool mod_Buy3 = OrderModify (OrderTicket(???),OrderOpenPrice (), NULL,Ur3,0,clrNONE); 也就是说,对于 "for "中的每个周期,你看到的是一个订单,而不是同时看到三个。 [删除] 2015.11.16 11:39 #9623 atztek,1.我已经纠正了我的第一个帖子。2.bool mod_Buy1 = 修改订单(OrderTicket(以前的第一个BUY订单),不改变开盘价, 不改变止损,TakeProfit取自Ur1,0,clrNONE)。"换句话说,在 "for "的每个循环中,你看到的是一个订单,但不是同时看到所有三个。这就是问题所在,我不知道如何按票据浏览这3个订单,并为每个订单设置适当的Takeprofit水平(Ur1 Ur2 Ur3)。 atztek 2015.11.16 12:09 #9624 vadimvborisov:atztek,1.我已经纠正了我的第一个帖子。2.bool mod_Buy1 = 修改订单(OrderTicket(以前的第一个BUY订单),不改变开盘价, 不改变StopLoss,TakeProfit取自Ur1,0,clrNONE)的赋值。"换句话说,在 "for "的每个循环中,你看到的是一个订单,但不是同时看到所有三个。这就是问题所在,我不知道如何按票据浏览这3个订单,并为每个订单设置适当的Takeprofit级别(Ur1 Ur2 Ur3)。 1.要么我不理解你,要么你不知道你想做什么(或如何运作)。 你甚至在纠正之后还说到有止损单,然后 "在越过MA之后",它们变成了市场订单。 - 你要么立即开立市场订单(如 "穿越MA后"),要么开立止损单,在价格穿越止损单时自动成为市场订单。 2.我看到这不是一个纠正的问题,而是你的EA的逻辑。 (有很多问题,例如,你是否有其他订单在这个时候打开,为什么订单是根据票据选择的,而不是仓位,等等。) 不要一下子用3个订单开始,从一个简单的例子开始,用一个订单,并确保专家顾问的工作没有错误。然后通过增加3个订单将其复杂化。 [删除] 2015.11.16 14:24 #9625 1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。 atztek 2015.11.16 15:07 #9626 vadimvborisov:1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。 限制的人进来了吗? 好的,请讲。当你有了一个,那么剩下的就会变得清晰。 Alexey Viktorov 2015.11.16 15:36 #9627 vadimvborisov:1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。这正是我们需要的。int i, total = OrdersTotal(); for(i = 0; i < total; i++) { if(OrderSelect(i, SELECT_BY_POS) && OrderType() == OP_BUY) { bool mod_Buy1 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных ) } } [删除] 2015.11.16 15:46 #9628 1.对不起,我的意思是停止订单。2.使用1个时一切正常。但使用2个或更多时我就不知道了....。 [删除] 2015.11.16 15:51 #9629 问候,AlexeyVikbool mod_Buy1 = 修改订单( OrderTicket(所取的第i个BUY))对于其他两个BUY的情况如何?以同样的方式?//////////////////////////// int i, total = OrdersTotal(); for(i = 0; i < total; i++) { if(OrderSelect(i, SELECT_BY_POS) && OrderType() == OP_BUY) { bool mod_Buy1 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных ) bool mod_Buy2 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных ) bool mod_Buy3 = Модифицировать ордер ( OrderTicket(i-тый BUY из перебранных ) } } Alexey Viktorov 2015.11.16 18:02 #9630 vadimvborisov:问候,AlexeyVikbool mod_Buy1 = 修改订单( OrderTicket(所取的第i个BUY))对于其他两个BUY的情况如何?以同样的方式?注意我的例子中的循环。在循环中,所有订单都按类型检查,也按符号和魔法检查,最好能根据重要的情况检查OrderStopLoss == 0或OrderTakeProfit == 0,即没有止损的订单或没有起飞的订单,这样就不会试图不必要地修改订单,也不会出现错误1。在这个循环中,订单被一个接一个地选中,如果所有条件都满足,就被送去修改。这将修改所有必要的命令。第二种变体:如果只提供了3个订单,我们可以在全局变量的层面上声明,例如int tick_buy_1, tick_buy_2, tick_buy_3,并在开仓时将点数记录到这些变量中。然后,我们可以通过票据选择订单,检查其类型,订单是否关闭,只有这样,才不会出现循环。 bool mod_Buy1 = Модифицировать ордер ( tick_buy_1 ); bool mod_Buy2 = Модифицировать ордер ( tick_buy_2 ); bool mod_Buy3 = Модифицировать ордер ( tick_buy_3 ); 1...956957958959960961962963964965966967968969970...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
是的,Atztek,我为描述中的不准确而道歉。
1.因为在与MA相交之前,这些都是买入止损单,而Ur1 Ur2 Ur3只有在价格越过MA之后才被识别。
2.分别在所有买入订单中进行上述for-cycle搜索(因为还有3个卖出止损订单,它们在每个蜡烛图上爬行在不同的MA上)。
是的,Atztek,我为描述中的不准确而道歉。
1.因为在与MA相交之前,这些都是买入止损单,而Ur1 Ur2 Ur3只有在价格越过MA之后才被识别。
2.分别在所有买入订单中进行上述for-cycle搜索(因为还有3个卖出止损订单,它们在每个蜡烛图上爬行在不同的MA上)。
Советник открывает (на основании пересечения с MA ) несколько (3) рыночных ордеров
止损单在被价格越过的那一刻就成为可销售的,MA与此无关。
好吧,由你来决定你的EA如何运作。
2.目的是什么 - ?
也就是说,对于 "for "中的每个周期,你看到的是一个订单,而不是同时看到三个。
atztek,1.我已经纠正了我的第一个帖子。
2.bool mod_Buy1 = 修改订单(OrderTicket(以前的第一个BUY订单),不改变开盘价, 不改变止损,TakeProfit取自Ur1,0,clrNONE)。
"换句话说,在 "for "的每个循环中,你看到的是一个订单,但不是同时看到所有三个。
这就是问题所在,我不知道如何按票据浏览这3个订单,并为每个订单设置适当的Takeprofit水平(Ur1 Ur2 Ur3)。
atztek,1.我已经纠正了我的第一个帖子。
2.bool mod_Buy1 = 修改订单(OrderTicket(以前的第一个BUY订单),不改变开盘价, 不改变StopLoss,TakeProfit取自Ur1,0,clrNONE)的赋值。
"换句话说,在 "for "的每个循环中,你看到的是一个订单,但不是同时看到所有三个。
这就是问题所在,我不知道如何按票据浏览这3个订单,并为每个订单设置适当的Takeprofit级别(Ur1 Ur2 Ur3)。
1.要么我不理解你,要么你不知道你想做什么(或如何运作)。
你甚至在纠正之后还说到有止损单,然后 "在越过MA之后",它们变成了市场订单。
- 你要么立即开立市场订单(如 "穿越MA后"),要么开立止损单,在价格穿越止损单时自动成为市场订单。
2.我看到这不是一个纠正的问题,而是你的EA的逻辑。
(有很多问题,例如,你是否有其他订单在这个时候打开,为什么订单是根据票据选择的,而不是仓位,等等。)
不要一下子用3个订单开始,从一个简单的例子开始,用一个订单,并确保专家顾问的工作没有错误。然后通过增加3个订单将其复杂化。
1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"
2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。
1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"
2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。
好的,请讲。当你有了一个,那么剩下的就会变得清晰。
1) 是的,没错--"你开了止损单,在价格越过止损单的时候自动变成了市场订单。"
2)在限价订单转换为市场订单的时刻,没有其他(市场)订单,只有限价订单。也许你也可以按职位而不是按票来选择--我不介意。好的。让我们考虑有两个订单的情况。因为我可以处理一个自己的....。
这正是我们需要的。
1.对不起,我的意思是停止订单。
2.使用1个时一切正常。但使用2个或更多时我就不知道了....。
问候,AlexeyVik
bool mod_Buy1 = 修改订单( OrderTicket(所取的第i个BUY))
对于其他两个BUY的情况如何?以同样的方式?
问候,AlexeyVik
bool mod_Buy1 = 修改订单( OrderTicket(所取的第i个BUY))
对于其他两个BUY的情况如何?以同样的方式?
注意我的例子中的循环。在循环中,所有订单都按类型检查,也按符号和魔法检查,最好能根据重要的情况检查OrderStopLoss == 0或OrderTakeProfit == 0,即没有止损的订单或没有起飞的订单,这样就不会试图不必要地修改订单,也不会出现错误1。
在这个循环中,订单被一个接一个地选中,如果所有条件都满足,就被送去修改。这将修改所有必要的命令。
第二种变体:如果只提供了3个订单,我们可以在全局变量的层面上声明,例如int tick_buy_1, tick_buy_2, tick_buy_3,并在开仓时将点数记录到这些变量中。然后,我们可以通过票据选择订单,检查其类型,订单是否关闭,只有这样,才不会出现循环。