EA不会在多对上运行,需要帮助 - 页 4 12345 新评论 Keith Watford 2016.12.14 03:45 #31 whroeder1 2016.12.14 03:35|74.162.37.113ban #5 EN Keith Watford: 循环查看未结订单,只计算有EA的神奇数字和图表符号的交易。 没错,而这不是你最后一个帖子 的作用。 Keith Watford 2016.12.14 03:48 #32 我已经删除了你的另一个话题,因为它和这个话题是同一个主题。我已经复制了WHRoeder的评论,并在删除之前粘贴在这里。 Matt_Townsend 2016.12.14 03:55 #33 Keith Watford: 我已经删除了你的另一个话题,因为它和这个话题是同一个主题。我复制了WHRoeder的评论,并在删除之前将其粘贴在这里。 好的,这很好,那么对于循环,它应该是类似于关闭订单的框架,如果是这样,我应该让程序增加或减少订单? Keith Watford 2016.12.14 06:36 #34 int buy_count=0; int sell_count=0; for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { buy_count++; } if(OrderType()==OP_SELL) { sell_count++; } } }类似这样的事情我总是倒数,除非我有特定的理由不这样做。 William Roeder 2016.12.14 14:43 #35 你现在有一个OrderSelect 循环,对MN和符号进行过滤。现在 你 用什么MN进行交易? Matt_Townsend 2016.12.15 06:05 #36 Matt_Townsend: 好吧,这很好,那么对于循环,它应该是类似于平仓订单的框架,如果是这样的话,我应该让程序对订单进行计数还是减少? 所以我现在在我的平仓函数和订单结束函数 上都有一个循环函数,但它仍然不是独立交易。虽然它仍在打开交易,并根据设定的参数关闭,正如我在策略测试器中看到的那样,尽管它不能在实时演示中的多个图表上工作。 Keith Watford 2016.12.15 06:56 #37 Matt_Townsend: 所以我现在在我的订单关闭功能和订单结束功能 上都有一个循环功能,但它仍然不能独立交易。尽管它仍在打开交易,并在设定的参数上关闭,正如我在策略测试器中看到的那样,尽管它不会在实时演示中的多个图表上工作。每种EA都有不同的神奇数字吗?请展示你现在使用的循环。 Matt_Townsend 2016.12.15 15:32 #38 Keith Watford:每个EA都有不同的神奇数字吗?显示你现在使用的循环。for(int i=OrdersTotal();i<=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break; if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; //--- Check for buy order if(fastma > slowma) { if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) Print("Buy order opened :", OrderOpenPrice()); else Print("Order failed to open : ", GetLastError()); return(0); } //--- Check for sell order if(fastma < slowma) { if(OrderSend(Symbol(),OP_SELL,Lots,Bid,10,0,0,"",MagicNumber,0,Red)) Print("Order opened : ", OrderOpenPrice()); else Print("Order failed to open : ", GetLastError()); return(0); } break; } 这里是订单结束的循环 正如我把MN作为一个外部int,所以我可以在我把EA放在的每个图表上改变它。 EA will not run 請高手指教!!!關於修改程序!!! 請高手幫幫忙,急需中.... My script does not William Roeder 2016.12.15 16:01 #39 首先你有 if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) 这是正确的但你有 ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",0,0,Blue); 这是不正确的。而且你忽略了我的问题。然后你悄悄地 把发送改为 if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) 现在是正确的。但你悄悄地 打破了选择循环。 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break; if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; 这是不对的。 在存在多个订单的情况下(一个EA多个图表,多个EA,手动交易)。在位置循环中关闭/删除/修改时,你必须 倒数。要养成经常倒数的习惯。循环和关闭或删除订单 - MQL4论坛 并 检查OrderSelect。什么是函数的返回值? 我如何使用它们?-MQL4论坛 和MQL4程序中的常见错误以及如何避免这些错误 - MQL4文章 如果您想使用预定义变量 (Bid/Ask) 或OrderClosePrice() 来代替,您必须在睡眠后和多次服务器调用之间刷新Rates。 专家顾问 - 杂项问题 订单选择功能问题 EA will not run Matt_Townsend 2016.12.15 16:14 #40 whroeder1:首先,你有 if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) 这是对的但你有 ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",0,0,Blue); 这不是。然后你悄悄地 把发送改为 if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue)) 哪一个是正确的并打破选择循环。 if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue; 哪一个不是。 那么,我是不是根本就不应该在循环中设置继续或中断? 12345 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我已经删除了你的另一个话题,因为它和这个话题是同一个主题。我复制了WHRoeder的评论,并在删除之前将其粘贴在这里。
int buy_count=0;
int sell_count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
buy_count++;
}
if(OrderType()==OP_SELL)
{
sell_count++;
}
}
}
类似这样的事情
我总是倒数,除非我有特定的理由不这样做。
好吧,这很好,那么对于循环,它应该是类似于平仓订单的框架,如果是这样的话,我应该让程序对订单进行计数还是减少?
所以我现在在我的订单关闭功能和订单结束功能 上都有一个循环功能,但它仍然不能独立交易。尽管它仍在打开交易,并在设定的参数上关闭,正如我在策略测试器中看到的那样,尽管它不会在实时演示中的多个图表上工作。
每种EA都有不同的神奇数字吗?
请展示你现在使用的循环。
每个EA都有不同的神奇数字吗?
显示你现在使用的循环。
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true) break;
if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue;
//--- Check for buy order
if(fastma > slowma)
{
if(OrderSend(Symbol(),OP_BUY,Lots,Ask,10,0,0,"",MagicNumber,0,Blue))
Print("Buy order opened :", OrderOpenPrice());
else
Print("Order failed to open : ", GetLastError());
return(0);
}
//--- Check for sell order
if(fastma < slowma)
{
if(OrderSend(Symbol(),OP_SELL,Lots,Bid,10,0,0,"",MagicNumber,0,Red))
Print("Order opened : ", OrderOpenPrice());
else
Print("Order failed to open : ", GetLastError());
return(0);
}
break;
}
这里是订单结束的循环
正如我把MN作为一个外部int,所以我可以在我把EA放在的每个图表上改变它。if(OrderMagicNumber()==MagicNumber || OrderSymbol()==Symbol()) continue;
在存在多个订单的情况下(一个EA多个图表,多个EA,手动交易)。