关闭所有'/'打开'工具 - 页 2 123456789...60 新评论 Sergey Golubev 2006.03.31 08:00 #11 glader: 我在做实盘交易。你在做实盘交易吗?这可能是个问题吗? 那是Alpari模拟账户。 你是说你试图用真实账户 来使用它? 应该也可以的。 glader 2006.04.01 05:12 #12 newdigital: 那是Alpari模拟账户。你是说你尝试用真实账户使用它? 应该也可以使用。 是的,我试着用真实账户 在现场使用它,但有一个错误的味精... 很困惑,但还是要感谢你的帮助... ma6 2006.04.21 02:52 #13 glader: 我试了一下,但错误提示:4109 工具->选项->专家顾问->V 启用专家顾问(...和脚本) glader 2006.04.24 20:12 #14 ma6: 工具->选项->专家顾问->V 启用专家顾问(...和脚本) 非常感谢......现在可以工作了!!。 Sergey Golubev 2006.05.22 08:12 #15 来自Kimiv的CloseOnTime EA。 附加的文件: closeontime.mq4 2 kb rocko1 2006.10.17 18:07 #16 ma6: 工具->选项->专家顾问->V 启用专家顾问(...和脚本) 我仍然得到同样的错误。你说的"V"是什么意思? 谢谢 sibil 2006.11.21 04:10 #17 我有同样的问题。 订单......,未能关闭。错误:4109 SloForeX 2006.12.12 11:18 #18 关闭所有已开立的订单 我有一个问题,如何关闭所有已开的交易。这包括手动开启的交易。 以下是代码。 如果(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance()* BalanceEquityProtectionLevel) { AllowTrading = false; Print("Min.Equity Level Reached - Trading Halted For ",Symbol())。 // Alert("Min.达到最低净值水平 - 交易停止",符号())。 for(cnt=OrdersTotal();cnt>=0;cnt--) { OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。 mode=OrderType()。 if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Blue); } 如果(模式==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Red); }// } // } } } 问题是,如果我开了几个交易对,并不是所有的交易都会被关闭。此外,尽管参数 allowtrading == false,EA还是继续开立另一笔交易。 我在调试这个东西时注意到,由于某些原因,这个代码块没有对所有货币对执行。为什么呢,我不知道。有人知道答案吗? 这个代码块应该关闭所有打开的订单,并防止进一步的交易。也许我可以通过将参数false写到文件或其他什么地方来解决这个问题?这种情况下的问题也出现在没有开仓订单的货币对上。 谢谢。 德扬 如何编码? 10点3.mq4 问吧! european 2006.12.12 11:34 #19 这是我很久以前写的代码,它将关闭所有运行的位置。 #include #include int start() { double sA; int cnt, totalOrders; totalOrders = OrdersTotal(); 如果(totalOrders>0) { for (cnt=0;cnt<totalOrders;cnt++) { OrderSelect(0, SELECT_BY_POS)。 如果(OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID)。 否则sA = MarketInfo(OrderSymbol(),MODE_ASK)。 OrderClose(OrderTicket(),OrderLots(),sA,3,CLR_NONE)。 } } return(0); } SloForeX 2006.12.12 13:53 #20 你的代码与我的非常相似。结果是一样的。我附上一张图片,以使一些事情更加清楚。 EA确实关闭了英镑兑美元 的所有交易(图片)。你可以看到,在这之后,另一笔交易被打开。(1表示允许交易为真,0表示允许交易为假)。 附加的文件: image3.jpg 359 kb 123456789...60 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我在做实盘交易。你在做实盘交易吗?这可能是个问题吗?
那是Alpari模拟账户。
你是说你试图用真实账户 来使用它?
应该也可以的。
那是Alpari模拟账户。
你是说你尝试用真实账户使用它?
应该也可以使用。是的,我试着用真实账户 在现场使用它,但有一个错误的味精...
很困惑,但还是要感谢你的帮助...
我试了一下,但错误提示:4109
工具->选项->专家顾问->V 启用专家顾问(...和脚本)
工具->选项->专家顾问->V 启用专家顾问(...和脚本)
非常感谢......现在可以工作了!!。
来自Kimiv的CloseOnTime EA。
工具->选项->专家顾问->V 启用专家顾问(...和脚本)
我仍然得到同样的错误。你说的"V"是什么意思?
谢谢
我有同样的问题。
订单......,未能关闭。错误:4109
关闭所有已开立的订单
我有一个问题,如何关闭所有已开的交易。这包括手动开启的交易。
以下是代码。
如果(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance()* BalanceEquityProtectionLevel)
{
AllowTrading = false;
Print("Min.Equity Level Reached - Trading Halted For ",Symbol())。
// Alert("Min.达到最低净值水平 - 交易停止",符号())。
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)。
mode=OrderType()。
if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Blue); }
如果(模式==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slipage,Red); }// }
// }
}
}
问题是,如果我开了几个交易对,并不是所有的交易都会被关闭。此外,尽管参数 allowtrading == false,EA还是继续开立另一笔交易。
我在调试这个东西时注意到,由于某些原因,这个代码块没有对所有货币对执行。为什么呢,我不知道。有人知道答案吗?
这个代码块应该关闭所有打开的订单,并防止进一步的交易。也许我可以通过将参数false写到文件或其他什么地方来解决这个问题?这种情况下的问题也出现在没有开仓订单的货币对上。
谢谢。
德扬
这是我很久以前写的代码,它将关闭所有运行的位置。
#include
#include
int start()
{
double sA;
int cnt, totalOrders;
totalOrders = OrdersTotal();
如果(totalOrders>0)
{
for (cnt=0;cnt<totalOrders;cnt++)
{
OrderSelect(0, SELECT_BY_POS)。
如果(OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID)。
否则sA = MarketInfo(OrderSymbol(),MODE_ASK)。
OrderClose(OrderTicket(),OrderLots(),sA,3,CLR_NONE)。
}
}
return(0);
}
你的代码与我的非常相似。结果是一样的。我附上一张图片,以使一些事情更加清楚。
EA确实关闭了英镑兑美元 的所有交易(图片)。你可以看到,在这之后,另一笔交易被打开。(1表示允许交易为真,0表示允许交易为假)。