初学者的问题 MQL5 MT5 MetaTrader 5 - 页 383 1...376377378379380381382383384385386387388389390...1503 新评论 Renat Akhtyamov 2015.07.06 18:59 #3821 Vitalie Postolache:如果不对外--有 PositionClose你也可以用同样的成交量在相反的方向开仓,这将导致平仓。 没有这样的功能? Artyom Trishkin 2015.07.06 19:00 #3822 Tapochun: 我们在OnTick函数中设置了两个bool类型的局部变量:buyExist = false和sellExist = false。当一个新的刻度线到来时,你检查是否有任何属于这个EA的订单。如果有卖出订单,sellExist = true,买入订单的情况也一样。然后你检查是否buyExist = true - 不要打开一个买入订单。卖出的情况也是如此。这就是全部。如果我们要检查是否有空缺职位,我们需要不必要的变量做什么?我们已经检查了是否有任何买入头寸--没有开放的买入,我们已经开了一个。我们为什么需要变量? [删除] 2015.07.06 19:05 #3823 Artyom Trishkin:如果我们无论如何都要检查开放的职位,为什么我们需要额外的变量?我们检查买入--没有买入,我们就开一个,我们检查卖出--没有卖出,我们就开一个。我们为什么需要变量? 我们可以这样做。我只是在我的脑海中把它作为一个单独的检查函数,其中的标志是通过引用传递的。在这种情况下,我的变体只执行一个功能--检查订单,而不是检查+打开。延长该计划会更容易。简而言之--一个功能--一个行动。 Leanid Aladzyeu 2015.07.06 19:05 #3824 Artyom Trishkin:如果我们无论如何都要检查开放的职位,为什么我们需要额外的变量?我们检查买入--没有买入,我们就开一个,我们检查卖出--没有卖出,我们就开一个。我们为什么需要变量? 我以为它与OrderTotal类似。 [删除] 2015.07.06 19:07 #3825 le0nid2014: 我以为会是像OrderTotal那样的东西,但在这里你必须做反弹,并写函数来识别订单? 不使用蛮力怎么能行?你可能在同一时间有来自很多专家顾问的大量订单,涉及很多符号。你希望你的专家顾问只处理自己的订单,不是吗? Artyom Trishkin 2015.07.06 19:10 #3826 Tapochun: 你可以这样做。我只是在脑子里把它想象成一个单独的检查函数,其中标志是通过引用传递的。在这种情况下,我的变体,只执行一个功能--检查订单,而不是检查+打开。延长该计划会更容易。简而言之--一个功能--一个行动。嗯,检查是一个函数调用,返回一个标志。if(!Function_check_open_position(symbol, OP_BUY,magic))function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic, comment)。 如果(!Function_check_open_position(symbol,OP_SELL,magic))Function_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic, comment)。 Artyom Trishkin 2015.07.06 19:11 #3827 le0nid2014: 我以为会是类似OrderTotal的东西。 当然,按符号、类型和魔术师搜索市场订单,并返回搜索结果:真--是,假--不是。 Vitalie Postolache 2015.07.06 19:15 #3828 new-rena: 没有这样的功能? 是的,当我说 "没有inludes "时,是我的错误,那个功能只是在Trade.mqh inluder中。 Leanid Aladzyeu 2015.07.06 19:18 #3829 Tapochun: 如何才能做到这一点,而不至于太过努力?你可能同时在一堆符号上有一堆专家顾问的订单。而你希望你的EA只处理你的订单,不是吗?它是对主要机器人的初步补充。主机器人在两个方向上总是有两个开放的订单(主机器人拿起它们,但主机器人本身不能启动。当主机器人完成其中一个方向时,它会关闭它),然后这个EA应该在没有订单的市场方向上再次开出订单。我们只需要在其中加入开单条件。 外置双Lots = 1.00。外置 int MagicNumb = 698541; //Magic开始()。{如果(OrdersTotal()== 0 && ********** )OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0, "5891",MagicNumb,0,Red)。如果(OrdersTotal() == 0 && ***********)OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0, "58892",MagicNumb,0,Red)。} Artyom Trishkin 2015.07.06 19:22 #3830 le0nid2014: 它是对主要机器人的最初补充。主机器人在两个方向上总是有两个开放的订单(主机器人拿起它们,但主机器人本身不能启动。当主机器人完成其中一个方向时,它就会关闭它),然后这个EA应该在没有订单的市场方向上再次打开一个订单。 在两个EA中,应该有相同的巫师。它们应该在一个符号的不同图表上推出。当然,在一般情况下,改进主要的EA比建立另一个更容易。 1...376377378379380381382383384385386387388389390...1503 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果不对外--有 PositionClose
你也可以用同样的成交量在相反的方向开仓,这将导致平仓。
我们在OnTick函数中设置了两个bool类型的局部变量:buyExist = false和sellExist = false。
当一个新的刻度线到来时,你检查是否有任何属于这个EA的订单。如果有卖出订单,sellExist = true,买入订单的情况也一样。然后你检查是否buyExist = true - 不要打开一个买入订单。卖出的情况也是如此。这就是全部。
如果我们要检查是否有空缺职位,我们需要不必要的变量做什么?
我们已经检查了是否有任何买入头寸--没有开放的买入,我们已经开了一个。我们为什么需要变量?
如果我们无论如何都要检查开放的职位,为什么我们需要额外的变量?
我们检查买入--没有买入,我们就开一个,我们检查卖出--没有卖出,我们就开一个。我们为什么需要变量?
如果我们无论如何都要检查开放的职位,为什么我们需要额外的变量?
我们检查买入--没有买入,我们就开一个,我们检查卖出--没有卖出,我们就开一个。我们为什么需要变量?
我以为会是像OrderTotal那样的东西,但在这里你必须做反弹,并写函数来识别订单?
你可以这样做。我只是在脑子里把它想象成一个单独的检查函数,其中标志是通过引用传递的。在这种情况下,我的变体,只执行一个功能--检查订单,而不是检查+打开。延长该计划会更容易。简而言之--一个功能--一个行动。
嗯,检查是一个函数调用,返回一个标志。
if(!Function_check_open_position(symbol, OP_BUY,magic))function_open_position(symbol,OP_BUY,Lots,stop_loss,take_profit,magic, comment)。
如果(!Function_check_open_position(symbol,OP_SELL,magic))Function_open_position(symbol,OP_SELL,Lots,stop_loss,take_profit,magic, comment)。
我以为会是类似OrderTotal的东西。
没有这样的功能?
如何才能做到这一点,而不至于太过努力?你可能同时在一堆符号上有一堆专家顾问的订单。而你希望你的EA只处理你的订单,不是吗?
它是对主要机器人的初步补充。主机器人在两个方向上总是有两个开放的订单(主机器人拿起它们,但主机器人本身不能启动。当主机器人完成其中一个方向时,它会关闭它),然后这个EA应该在没有订单的市场方向上再次开出订单。
我们只需要在其中加入开单条件。
外置双Lots = 1.00。
外置 int MagicNumb = 698541; //Magic
开始()。
{
如果(OrdersTotal()== 0 && ********** )
OrderSend("USDCHF",OP_BUY,Lots,Ask,0,0,0, "5891",MagicNumb,0,Red)。
如果(OrdersTotal() == 0 && ***********)
OrderSend("USDCHF",OP_SELL,Lots,Bid,0,0,0, "58892",MagicNumb,0,Red)。
}
它是对主要机器人的最初补充。主机器人在两个方向上总是有两个开放的订单(主机器人拿起它们,但主机器人本身不能启动。当主机器人完成其中一个方向时,它就会关闭它),然后这个EA应该在没有订单的市场方向上再次打开一个订单。