错误、漏洞、问题 - 页 1789

 
Vitalie Postolache:
这是交易、历史、新闻等标签所在的窗口。英语单词是 "Toolbox"。
谢谢你,我不知道,我已经做了。现在,我无法看到最后一个职位的状态。真可惜,难道真的不可能让最后一句话直接不下去吗?
 
Yousufkhodja Sultonov:
谢谢,不知道,已经实施了。现在,我无法看到最新项目的状态。遗憾的是,难道我不能通过编程使最后一行不往下走吗?

这是有可能的,确切地说,是以编程的方式。写一个指标,在所有的图表上显示这条线路,例如。

开发者可以让这些信息在状态栏或窗口标题栏中重复出现,但他们可能对此不感兴趣。

 
怎么了?
AccountInfoString(ACCOUNT_SERVER) = MetaQuotes-Demo

OrderSend(NULL,OP_BUYLIMIT,1,SymbolInfoDouble(Symbol(),SYMBOL_ASK)-100*_Point,100,0,0,My Order)
Request.action = TRADE_ACTION_PENDING (5)
Request.magic = 0
Request.order = 0
Request.symbol = Si-3.17
Request.volume = 1.0
Request.price = 59647.0
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 = My Order
Request.position = 0
Request.position_by = 0
Result.retcode = 10022
Result.deal = 0
Result.order = 0
Result.volume = 0.0
Result.price = 0.0
Result.bid = 0.0
Result.ask = 0.0
Result.comment = Invalid expiration
Result.request_id = 0
Result.retcode_external = 0
 
fxsaber:
错误是什么?
不支持符号上的ORDER_TIME_GTC
 
A100:
不支持符号上的ORDER_TIME_GTC
谢谢你!
 

严重的错误,因为它涉及交易本身。

FIBOGroup-MT5服务器,演示版,基础货币USD,净值化,构建1525。

首先,"订单、交易 "的截图。

一个仓位以1手开仓,以1.5手平仓(不是反转!)。

它是一个位置的事实由屏幕 "位置 "确认。

我用红色字体强调,交换计算也有错误(位置住了1秒),有些巨大的损失。

该日志看起来像这样

2017.02.09 08:39:14.285 Trades  '1013175': exchange buy 1.00 EURUSD at market
2017.02.09 08:39:15.352 Trades  '1013175': deal #1542796 buy 1.00 EURUSD at 1.06763 done (based on order #2246162)
2017.02.09 08:39:15.354 Trades  '1013175': order #2246162 buy 1.00 / 1.00 EURUSD at 1.06763 done in 1069.212 ms
2017.02.09 08:39:15.354 Trades  '1013175': failed modify #2156238 buy 1.50 EURUSD sl: 0.00000, tp: 0.00000 -> sl: 1.06990, tp: 1.07190 [Invalid stops]
2017.02.09 08:39:15.355 Trades  '1013175': exchange sell 1.50 EURUSD at market, close #2156238 buy 1.50 EURUSD 1.07090333
2017.02.09 08:39:16.421 Trades  '1013175': deal #1542797 sell 1.50 EURUSD at 1.06761 done (based on order #2246163)
2017.02.09 08:39:16.422 Trades  '1013175': order #2246163 sell 1.50 / 1.50 EURUSD at 1.06761 done in 1066.734 ms

PositionGetDouble(POSITION_VOLUME)返回1.5手,而不是1.0。虽然SYMBOL_TRADE_STOPS_LEVEL==0,但发生了无效的停止错误。

我也许应该补充说,用Request.position = PositionTicket来关闭头寸。也就是说,这个参数不为零。

总而言之,一个直接关系到金钱的BASE!

 

关于交易、自动交易系统和测试交易策略的论坛

堡垒。关于执行的问题

fxsaber, 2017.02.09 08:56

我是否正确理解,在这种情况下,OrderSend几乎立即返回了真值,但观察到65秒(ENUM_ORDER_STATE)::OrderGetInteger(ORDER_STATE) ==ORDER_STATE_STARTED?

顺便问一下,为什么当我通过OrderSend下挂单时,在订单状态变成ORDER_STATE_STARTED后立即返回true,而不是等待ORDER_STATE_PLACED?

这不是异步的OrderSendAsync。

 
fxsaber:

顺便问一下,为什么在通过OrderSend下挂单时,当订单状态变成ORDER_STATE_STARTED时,会立即返回真,而不是等待ORDER_STATE_PLACED?

这不是异步的OrderSendAsync。

可能是因为它是成功执行OrderSend 的结果,而不是成功设置订单的结果?
 
Artyom Trishkin:
可能是因为它是一个成功的OrderSend的结果,而不是一个成功的订单设置的结果?
ORDER_STATE_STARTED 是一个成功的OrderCheck的结果。
 
fxsaber:
ORDER_STATE_STARTED 是一个成功的OrderCheck的结果。
而当一个订单已经下了,有东西被退回?