2017.02.16 08:53:03.158 Network '2250': disconnected from FXOpen-MT5 2017.02.16 08:53:03.285 MQL5 wrong type, loading of Test failed 2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)
class A { public:
A( const T * ) {} //Error: 'T' - unexpected token
};
class B {};
void OnStart()
{
A<const B> a( new B );
}
你好,我在Otkritie的模拟账户中出现了以下情况
发生了以下情况:如果我成功地修改和删除了一个订单
属于ORDER_FILLING_RETURN 类型(普通限价单)。
来自MqlTradeResult结构 的变量量稳定地等于初始订单量(在这种情况下,订单根本就没有被执行)。
似乎它应该给出一个执行量(在我的例子中是0),还是我搞错了?
我认为它应该给出一个执行量(在我的例子中为0),还是我错了?
关于交易、自动交易系统和策略测试的论坛
图书馆: MT4Orders
fxsaber, 2017.02.10 12:01
脚本的结果Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = EURUSD
Request.volume = 1.0
Request.price = 1.06356
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_IOC (1)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 57777
Result.volume = 1.0
Result.price = 1.06356
Result.bid = 0.0
Result.ask = 0.0
Result.comment = My Order
Result.request_id = 592
Result.retcode_external = 0
从一开始就是这样的!
在OrderSend执行期间,不可能退出调试模式或删除EA/脚本。
有时OrderSend运行180秒,有Request超时。如果脚本是在调试模式下运行的话,你必须等待三分钟才能在编辑器中进行编译。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2017.02.16 07:55
2017.02.16 08:53:03.285 MQL5 wrong type, loading of Test failed
2017.02.16 08:53:03.813 Network '5122740': authorized on MetaQuotes-Demo through Access Point EU Amsterdam (ping: 50.93 ms)
它是什么?
唯一的图表上没有任何东西在运行。每当我切换账户时,这条信息就会弹出来。
关于交易、自动交易系统和交易策略测试的论坛
疯狂缓存的测试剂
Renat Fatkhullin, 2017.02.21 04:04
试试周五新构建的MT5 1545--有些东西已经得到了改进。还要注意的是,我们在MetaQuotes-Demo MT5上有超过23万个永久活跃账户,这是一个真正的交易狂欢节。
我认为在交流会上,百家争鸣更有力量,但要应对。
1545年--似乎正在变得更好。但所有的人都从裂缝中溜走了。
要求/回应。
Request.magic = 0
Request.order = 0
Request.symbol = EURCAD
Request.volume = 0.01
Request.price = 1.39016
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_SELL (1)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment =
Request.position = 134821044
Request.position_by = 0
Result.retcode = 10009
Result.deal = 118450870
Result.order = 134821045
Result.volume = 0.01
Result.price = 1.39016
Result.bid = 1.39016
Result.ask = 1.39043
Result.comment = Request executed 57.225 + 18.108 ms
Result.request_id = 4096
Result.retcode_external = 0
突出显示--这是在成功发送订单后,一个条目在订单和交易历史中出现的时间。很多!
纪录
MM 0 08:51:22.480 Trades '5245006': accepted instant sell 0.01 EURCAD at 1.39016, close #134821044 buy 0.01 EURCAD 1.39043 (deviation: 100)
LH 0 08:51:22.480 Trades '5245006': deal #118450870 sell 0.01 EURCAD at 1.39016 done (based on order #134821045)
EQ 0 08:51:22.480 Trades '5245006': order #134821045 sell 0.01 / 0.01 EURCAD at 1.39016 done in 57.165 ms
而另一个案例是同一脚本 的运行。
请求/回应
Request.magic = 0
Request.order = 0
Request.symbol = EURCZK
Request.volume = 0.01
Request.price = 27.043
Request.stoplimit = 0.0
Request.sl = 0.0
Request.tp = 0.0
Request.deviation = 100
Request.type = ORDER_TYPE_BUY_LIMIT (2)
Request.type_filling = ORDER_FILLING_RETURN (2)
Request.type_time = ORDER_TIME_GTC (0)
Request.expiration = 1970.01.01 00:00:00
Request.comment = Benchmark_Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10009
Result.deal = 0
Result.order = 134821281
Result.volume = 0.01
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Request executed 392.585 + 0.299 ms
Result.request_id = 4457
Result.retcode_external = 0
纪录
RE 0 08:51:44.133 Trades '5245006': accepted buy limit 0.01 EURCZK at 27.04300
JS 0 08:51:44.133 Trades '5245006': order #134821281 buy limit 0.01 / 0.01 EURCZK at market done in 392.533 ms
Ping ~54 ms。
不可能从警报窗口复制任何东西。
请在警报窗口增加选择几行的可能性,通过右击菜单 "复制 "和 "转到日志"--在专家日志中显示与警报对应的行。
下午好。
我遇到了对象指针的不正确行为(在我看来)。它与MT5和MT4都有关系。请澄清这是一个错误还是一个功能。以下是代码。
class CDescObject:public CBaseObject { };
void OnStart()
{
CDescObject *obj1 = new CDescObject(), *obj2;
CBaseObject *baseObj1 = obj1;
obj2 = baseObj1;//Пока не грохнули объект - no problem
delete(obj1);
//Если добавить эти строки, ошибки в последней строке не будет
//if(CheckPointer(baseObj1)==POINTER_INVALID)
//baseObj1 = NULL;
obj2 = obj1;//Указатели одного типа - no problem
obj2 = baseObj1;//здесь ошибка "Invalid pointer access"
}
我理解这里的指针与C语言不一样,但有一个丰富的内部世界。不过,如果最后一行的任务能和平地通过,那就更符合逻辑了。在我的例子中,对POINTER_INVALID 的检查是在赋值之后,所以我一下子不明白为什么会出现 "无效的指针访问",尽管没有人进行任何访问。
P.S.: 以防万一 - Metatrader 5 build 1545, Win 7 SP1 x86