错误、漏洞、问题 - 页 1804 1...179717981799180018011802180318041805180618071808180918101811...3184 新评论 Artyom Trishkin 2017.02.14 20:02 #18031 与此主题无关的评论已被移至"新手对MQL4的任何问题,对算法和代码的帮助和讨论"。 Artyom Trishkin 2017.02.14 20:03 #18032 fxsaber: 只有当符号不在市场观察中时才需要睡眠。对于在指标之前(和期间)处于市场观察中的所有符号,不需要滑点。 我明白了。 fxsaber 2017.02.14 20:33 #18033 1531--Metaquotes-Demo的刹车声并没有消失。请求和回应Request.action = TRADE_ACTION_DEAL (1) Request.magic = 0 Request.order = 0 Request.symbol = #KO Request.volume = 1.0 Request.price = 40.31 Request.stoplimit = 0.0 Request.sl = 0.0 Request.tp = 0.0 Request.deviation = 100 Request.type = ORDER_TYPE_BUY (0) Request.type_filling = ORDER_FILLING_RETURN (2) Request.type_time = ORDER_TIME_GTC (0) Request.expiration = 1970.01.01 00:00:00 Request.comment = My Position Request.position = 0 Request.position_by = 0 Result.retcode = 10009 Result.deal = 117613087 Result.order = 133997293 Result.volume = 1.0 Result.price = 40.31 Result.bid = 40.28 Result.ask = 40.31 Result.comment = Request executed 345.781 + 26.356 ms Result.request_id = 5712 Result.retcode_external = 0OrderSend 花了345毫秒,而相应的订单和交易在历史上也花了26毫秒才变得可用。即一个非常缓慢的同步,我以前从未见过。标准日志2017.02.14 22:26:46.767 Trades '5122740': prices for #KO 1.002017.02.14 22:26:46.852 Trades '5122740': accepted prices for #KO 1.002017.02.14 22:26:46.852 Trades '5122740': answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms (0.190 ms on server)2017.02.14 22:26:46.852 Trades '5122740': request buy 1.00 #KO at 40.31 2017.02.14 22:26:47.107 Trades '5122740': accepted request buy 1.00 #KO at 40.31 2017.02.14 22:26:47.107 Trades '5122740': deal #117613087 buy 1.00 #KO at 40.31 done (based on order #133997293)2017.02.14 22:26:47.107 Trades '5122740': order #133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms (3.022 ms on server)新的日志现在是在1531年!请就本案解释一下,什么是什么。ZZY日志几乎是在放缓后立即进行的。2017.02.14 22:26:47.433 Trades '5122740': prices for #KFT 1.002017.02.14 22:26:47.503 Trades '5122740': accepted prices for #KFT 1.002017.02.14 22:26:47.506 Trades '5122740': answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms (4.166 ms on server)2017.02.14 22:26:47.506 Trades '5122740': request buy 1.00 #KFT at 49.20 2017.02.14 22:26:47.583 Trades '5122740': accepted request buy 1.00 #KFT at 49.20 2017.02.14 22:26:47.583 Trades '5122740': deal #117613092 buy 1.00 #KFT at 49.20 done (based on order #133997299)2017.02.14 22:26:47.583 Trades '5122740': order #133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms (3.015 ms on server)这些是被要求的字符,所以市场订单比其他的要慢。 Errors, bugs, questions mql5语言的特点、微妙之处以及技巧 Questions from Beginners MQL5 fxsaber 2017.02.14 21:14 #18034 TRADE_ACTION_REMOVE 的刹车。Request.action = TRADE_ACTION_REMOVE (8) Request.magic = 0 Request.order = 134003202 Request.symbol = Request.volume = 0.0 Request.price = 0.0 Request.stoplimit = 0.0 Request.sl = 0.0 Request.tp = 0.0 Request.deviation = 0 Request.type = ORDER_TYPE_BUY (0) Request.type_filling = ORDER_FILLING_FOK (0) Request.type_time = ORDER_TIME_GTC (0) Request.expiration = 1970.01.01 00:00:00 Request.comment = Request.position = 0 Request.position_by = 0 Result.retcode = 10009 Result.deal = 0 Result.order = 134003202 Result.volume = 0.0 Result.price = 0.0 Result.bid = 0.0 Result.ask = 0.0 Result.comment = Request executed 290.089 + 0.005 ms Result.request_id = 10078 Result.retcode_external = 0FL 0 23:02:46.797 Trades '5122740': buy limit 1.00 Si-3.17 at 56288 GG 0 23:02:46.849 Trades '5122740': accepted buy limit 1.00 Si-3.17 at 56288 PR 0 23:02:46.852 Trades '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server) PR 0 23:02:46.854 Trades '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288 LL 0 23:02:47.142 Trades '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288 CE 0 23:02:47.144 Trades '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server) HH从终点站翻看日志,丝毫没有发现这些线路。不得不直接从文件中提取。 Errors, bugs, questions mql5语言的特点、微妙之处以及技巧 Features of the mql5 fxsaber 2017.02.14 21:25 #18035 错误[无价格]现场2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]怎么会没有价格,甚至在日志中也有价格呢!?查询2017.02.14 23:18:41.442 Request.action = TRADE_ACTION_DEAL (1)2017.02.14 23:18:41.442 Request.magic = 02017.02.14 23:18:41.442 Request.order = 02017.02.14 23:18:41.442 Request.symbol = EURPLN2017.02.14 23:18:41.442 Request.volume = 1.02017.02.14 23:18:41.442 Request.price = 4.306322017.02.14 23:18:41.442 Request.stoplimit = 0.02017.02.14 23:18:41.442 Request.sl = 0.02017.02.14 23:18:41.442 Request.tp = 0.02017.02.14 23:18:41.442 Request.deviation = 1002017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:002017.02.14 23:18:41.442 Request.comment = My Position2017.02.14 23:18:41.442 Request.position = 02017.02.14 23:18:41.442 Request.position_by = 02017.02.14 23:18:41.442 Result.retcode = 100212017.02.14 23:18:41.442 Result.deal = 02017.02.14 23:18:41.442 Result.order = 02017.02.14 23:18:41.442 Result.volume = 0.02017.02.14 23:18:41.442 Result.price = 0.02017.02.14 23:18:41.442 Result.bid = 0.02017.02.14 23:18:41.442 Result.ask = 0.02017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms2017.02.14 23:18:41.442 Result.request_id = 02017.02.14 23:18:41.442 Result.retcode_external = 02017.02.14 23:18:41.442 2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.301512017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632 Errors, bugs, questions Questions from Beginners MQL5 MetaEditor build 1490 Andrey Dik 2017.02.14 21:48 #18036 fxsaber: 错误[无价格]现场2017.02.14 23:18:41.442 '5122740': failed instant buy 1.00 EURPLN at 4.30632 (deviation: 100) [No prices]怎么会没有价格,甚至在日志中也没有呢!? 我最近在我的真实账户上得到了同样的错误。我试着下了一个订单,但服务器没有执行它。 我目前正在与一家非常知名的公司的技术支持进行沟通。(此刻我正在和一家非常知名的公司L的技术支持聊天(我们的通信是保密的,我就不这么叫了),他们解释说他们的服务器的执行时间 对于从MT4发出的订单是一样的,他们有MT4,有FIX订单,大约是1-6ms。然后,我问他们,从MT4交易时,40-50毫秒的时间是什么,因为从发送订单到得到答复的时间大约是40-60毫秒。他们宽容地耸耸肩,好像在寻找网络延迟,我告诉他们ping 1-2ms,他们又耸耸肩。结论是,MT4/5的服务器部分很慢。现在新的日志显示。我理解时间不可能像FIX那样 "干净",但至少应该有相同的顺序。 fxsaber 2017.02.14 22:06 #18037 Andrey Dik: 目前我正在与洛杉矶一家非常有名的公司的技术支持人员交谈。(我不知道为什么我不给他们打电话,他们解释说在他们的交易服务器上的执行时间 与从MT4(他们有MT4)发出的订单相同,由FIX发送,大约是1-6ms。然后,我问他们,从MT4交易时,40-50毫秒的时间是什么,因为从发送订单的那一刻起,得到的答案是40-60毫秒。他们宽容地耸耸肩,好像在寻找网络延迟,我告诉他们ping 1-2ms,他们又耸耸肩。结论是,MT4/5的服务器部分很慢。现在新的日志显示。我理解时间不可能像FIX那样 "干净",但至少应该有相同的顺序。在L...铭记,当他们收到订单进入他们的系统时,系统本身的执行时间和送回的时间可以忽略不计。他们可以从MT4服务器或通过FIX和他们的其他API获得订单。MT4服务器本身会花费几十毫秒进行内部处理,这与执行没有任何关系。曾几何时,MT4的最小时间是150ms。似乎有什么东西被严重调整了,因为它已经变成了40-60。但MT5明显更快。现在我可以在日志中看到服务器工作了多少时间。剩下的就是要了解主要时间花在什么地方。 Vladimir Karputov 2017.02.15 04:56 #18038 与本主题无关的评论已被移至 "CopyClose 为什么会出现错误?". A100 2017.02.15 06:55 #18039 编译错误: 无法访问f() //2typedef void (*fn)();#import "Test.ex5" void f(); //1#importvoid f() {} //2void OnStart(){ fn g1 = Test::f; //нормально fn g2 = f; //Error: 'f' - cannot resolve function address} [删除] 2017.02.15 07:03 #18040 @Slawa,请澄清一下,在OnCalculate()函数之外写入指标缓冲区是否有任何限制?如果在OnTimer()、OnBookEvent()、OnChartEvent()等函数中写入缓冲区,一切都会正确写入吗? 1...179717981799180018011802180318041805180618071808180918101811...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
只有当符号不在市场观察中时才需要睡眠。对于在指标之前(和期间)处于市场观察中的所有符号,不需要滑点。
1531--Metaquotes-Demo的刹车声并没有消失。
请求和回应
Request.magic = 0
Request.order = 0
Request.symbol = #KO
Request.volume = 1.0
Request.price = 40.31
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Position
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 117613087
Result.order = 133997293
Result.volume = 1.0
Result.price = 40.31
Result.bid = 40.28
Result.ask = 40.31
Result.comment = Request executed 345.781 + 26.356 ms
Result.request_id = 5712
Result.retcode_external = 0
OrderSend 花了345毫秒,而相应的订单和交易在历史上也花了26毫秒才变得可用。即一个非常缓慢的同步,我以前从未见过。
标准日志
2017.02.14 22:26:46.852 Trades '5122740': accepted prices for #KO 1.00
2017.02.14 22:26:46.852 Trades '5122740': answer prices for #KO 1.00 40.28 / 40.31 in 86.046 ms (0.190 ms on server)
2017.02.14 22:26:46.852 Trades '5122740': request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': accepted request buy 1.00 #KO at 40.31
2017.02.14 22:26:47.107 Trades '5122740': deal #117613087 buy 1.00 #KO at 40.31 done (based on order #133997293)
2017.02.14 22:26:47.107 Trades '5122740': order #133997293 buy 1.00 / 1.00 #KO at 40.31 done in 345.709 ms (3.022 ms on server)
新的日志现在是在1531年!请就本案解释一下,什么是什么。
ZZY日志几乎是在放缓后立即进行的。
2017.02.14 22:26:47.503 Trades '5122740': accepted prices for #KFT 1.00
2017.02.14 22:26:47.506 Trades '5122740': answer prices for #KFT 1.00 49.17 / 49.20 in 70.980 ms (4.166 ms on server)
2017.02.14 22:26:47.506 Trades '5122740': request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': accepted request buy 1.00 #KFT at 49.20
2017.02.14 22:26:47.583 Trades '5122740': deal #117613092 buy 1.00 #KFT at 49.20 done (based on order #133997299)
2017.02.14 22:26:47.583 Trades '5122740': order #133997299 buy 1.00 / 1.00 #KFT at 49.20 done in 149.304 ms (3.015 ms on server)
这些是被要求的字符,所以市场订单比其他的要慢。
TRADE_ACTION_REMOVE 的刹车。
Request.magic = 0
Request.order = 134003202
Request.symbol =
Request.volume = 0.0
Request.price = 0.0
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 0
Request.type = ORDER_TYPE_BUY (0)
Request.type_filling = ORDER_FILLING_FOK (0)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134003202
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 290.089 + 0.005 ms
Result.request_id = 10078
Result.retcode_external = 0
GG 0 23:02:46.849 Trades '5122740': accepted buy limit 1.00 Si-3.17 at 56288
PR 0 23:02:46.852 Trades '5122740': order #134003202 buy limit 1.00 / 1.00 Si-3.17 at market done in 54.423 ms (0.342 ms on server)
PR 0 23:02:46.854 Trades '5122740': cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
LL 0 23:02:47.142 Trades '5122740': accepted cancel order #134003202 buy limit 1.00 Si-3.17 at 56288
CE 0 23:02:47.144 Trades '5122740': cancel #134003202 buy limit 1.00 Si-3.17 at market done in 290.050 ms (1.400 ms on server)
怎么会没有价格,甚至在日志中也有价格呢!?
查询
2017.02.14 23:18:41.442 Request.magic = 0
2017.02.14 23:18:41.442 Request.order = 0
2017.02.14 23:18:41.442 Request.symbol = EURPLN
2017.02.14 23:18:41.442 Request.volume = 1.0
2017.02.14 23:18:41.442 Request.price = 4.30632
2017.02.14 23:18:41.442 Request.stoplimit = 0.0
2017.02.14 23:18:41.442 Request.sl = 0.0
2017.02.14 23:18:41.442 Request.tp = 0.0
2017.02.14 23:18:41.442 Request.deviation = 100
2017.02.14 23:18:41.442 Request.type = ORDER_TYPE_BUY (0)
2017.02.14 23:18:41.442 Request.type_filling = ORDER_FILLING_RETURN (2)
2017.02.14 23:18:41.442 Request.type_time = ORDER_TIME_GTC (0)
2017.02.14 23:18:41.442 Request.expiration = 1970.01.01 00:00:00
2017.02.14 23:18:41.442 Request.comment = My Position
2017.02.14 23:18:41.442 Request.position = 0
2017.02.14 23:18:41.442 Request.position_by = 0
2017.02.14 23:18:41.442 Result.retcode = 10021
2017.02.14 23:18:41.442 Result.deal = 0
2017.02.14 23:18:41.442 Result.order = 0
2017.02.14 23:18:41.442 Result.volume = 0.0
2017.02.14 23:18:41.442 Result.price = 0.0
2017.02.14 23:18:41.442 Result.bid = 0.0
2017.02.14 23:18:41.442 Result.ask = 0.0
2017.02.14 23:18:41.442 Result.comment = No prices 0.028 + 0.000 ms
2017.02.14 23:18:41.442 Result.request_id = 0
2017.02.14 23:18:41.442 Result.retcode_external = 0
2017.02.14 23:18:41.442
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_BID) = 4.30151
2017.02.14 23:18:41.442 SymbolInfoDouble(Symb,::SYMBOL_ASK) = 4.30632
错误[无价格]现场
怎么会没有价格,甚至在日志中也没有呢!?
我目前正在与一家非常知名的公司的技术支持进行沟通。(此刻我正在和一家非常知名的公司L的技术支持聊天(我们的通信是保密的,我就不这么叫了),他们解释说他们的服务器的执行时间 对于从MT4发出的订单是一样的,他们有MT4,有FIX订单,大约是1-6ms。然后,我问他们,从MT4交易时,40-50毫秒的时间是什么,因为从发送订单到得到答复的时间大约是40-60毫秒。他们宽容地耸耸肩,好像在寻找网络延迟,我告诉他们ping 1-2ms,他们又耸耸肩。结论是,MT4/5的服务器部分很慢。现在新的日志显示。我理解时间不可能像FIX那样 "干净",但至少应该有相同的顺序。
目前我正在与洛杉矶一家非常有名的公司的技术支持人员交谈。(我不知道为什么我不给他们打电话,他们解释说在他们的交易服务器上的执行时间 与从MT4(他们有MT4)发出的订单相同,由FIX发送,大约是1-6ms。然后,我问他们,从MT4交易时,40-50毫秒的时间是什么,因为从发送订单的那一刻起,得到的答案是40-60毫秒。他们宽容地耸耸肩,好像在寻找网络延迟,我告诉他们ping 1-2ms,他们又耸耸肩。结论是,MT4/5的服务器部分很慢。现在新的日志显示。我理解时间不可能像FIX那样 "干净",但至少应该有相同的顺序。
在L...铭记,当他们收到订单进入他们的系统时,系统本身的执行时间和送回的时间可以忽略不计。他们可以从MT4服务器或通过FIX和他们的其他API获得订单。MT4服务器本身会花费几十毫秒进行内部处理,这与执行没有任何关系。
曾几何时,MT4的最小时间是150ms。似乎有什么东西被严重调整了,因为它已经变成了40-60。但MT5明显更快。现在我可以在日志中看到服务器工作了多少时间。剩下的就是要了解主要时间花在什么地方。
编译错误: 无法访问f() //2
#import "Test.ex5"
void f(); //1
#import
void f() {} //2
void OnStart()
{
fn g1 = Test::f; //нормально
fn g2 = f; //Error: 'f' - cannot resolve function address
}