Multiple Order Entry Problem for live account with a specific broker - page 5

 
figurelli:

Alain, no problem, you don't have to answer, as probably you will never find a case, since this is mandatory in any good OMS protocol.

Also you don't need to talk why you didn't ask after the first post, since probably this is off-topic.

Anyway, note that FOK is an old filling policy, that MQ introduced probably to address communication with OMS, so you will find it in all good OMS protocol, like FIX, for instance (like this forum topic from year 2009, before MT5 exists).

So, in my opinion, I see no reason to ask about 10010 return code for a Fill or Kill Order, and this is the point, since this rule is mandatory and brokers and OMS providers must respect it.

  • What's the difference between return code 10008 and 10009 ?
  • What's the meaning of code 10010 "Only part of the request was completed" ?  Ok we are in a FOK filling policy, so code 10010 is impossible according to you. Thank you.
  • What can be the meaning of this sentence ? "Future proof" ? "Safe enough" for ... ? "Lack of return code", what is lacking ? .

Of course you don't have to answer neither, Rogerio, you can't know all the answers. But I was thinking an experimented trader like you can enlighten me.

It's not off-topic at all. Don't you think a comprehensive understanding of request return code can help about "double order" issue.

 
Malacarne:

Thanks for your opinion... It's not my intention to bring "confusion" to people's minds.

However, I don't think it's off-topic because if you don't check for the 10010 code your expert advisor could bypass this possibility and send multiple orders (totally related to the topic, don't you think?)...

That's what we're "trying" to alert since the last two posts about this same topic...

Creative answer, maybe testing such things, like 10010 after a FOK order, we can discover something new, like a MQ server bug or broker OMS routing problem.

But what you do after receive a 10010 in this case? Is not the same as Print() the error, as all codes are doing here?

Anyway, if you are debugging FIX protocol or OMS coding, this makes senses to me, but I think this is not the case.
 
Malacarne:
In my example I was talking about volumes around USD 200,000... So, as far as I know, several of us trade more than USD 200,000 per trade... :-)

Hello. I meant how much you risk per your trade and I was not talking about how much lot size they trade. For example, if anyone risk 2% of his capital and his allowed to lose 200,000 US dollar per trade. It means that his account size is nearly 10 million US dollar. I think account size like this might be considered as small hedge fund or small prop trading firm. In my view, in this case, little different arrangement may be necessary from small private individual traders. I mean that trading with retail brokers like small private individual traders is not a wise thing probably.

Regards.

 
figurelli:
Creative answer, maybe testing such things, like 10010 after a FOK order, we can discover something new, like a MQ server bug.

But what you do after receive a 10010 in this case? Is not the same as Print() the error, as all codes are doing here?

Anyway, if you are debugging FIX protocol or OMS coding, this makes senses to me, but I think this is not the case.

I didn't say that it's possible to get a 10010 code after a FOK order... I only said you must also check for the 10010 code.

And my approach to deal with partial fills is not a simple Print() statement... sometimes you have to be "creative" to find out solutions for specific problems... :-)

 
FinanceEngineer:

Hello. I meant how much you risk per your trade and I was not talking about how much lot size they trade. For example, if anyone risk 2% of his capital and his allowed to lose 200,000 US dollar per trade. It means that his account size is nearly 10 million US dollar. I think account size like this might be considered as small hedge fund or small prop trading firm. In my view, in this case, little different arrangement may be necessary from small private individual traders. I mean that trading with retail brokers like small private individual traders is not a wise thing probably.

Regards.

Hi FinanceEngineer, you're right. I wasn't talking about risk per trade, so I'm sorry if I misunderstood your point. I was really talking about trade sizes...
 
angevoyageur:
  • What's the difference between return code 10008 and 10009 ?
  • What's the meaning of code 10010 "Only part of the request was completed" ?  Ok we are in a FOK filling policy, so code 10010 is impossible according to you. Thank you.
  • What can be the meaning of this sentence ? "Future proof" ? "Safe enough" for ... ? "Lack of return code", what is lacking ? .

Of course you don't have to answer neither, Rogerio, you can't know all the answers. But I was thinking an experimented trader like you can enlighten me.

It's not off-topic at all. Don't you think a comprehensive understanding of request return code can help about "double order" issue.

Alain, I always will answer you, and sometimes my answer is I don't know, I'm wrong, my mistake, etc. After all, we are all humans, and no one is perfect here.

  • What's the difference between return code 10008 and 10009?
    For this topic, 10009 = 10008 + 1, since this is the original code posted here (not my code) and not regarding the asked bug (my opinion).
    Anyway, if you think this is relevant, you are welcome to create a topic about and invite us.
  • What can be the meaning of this sentence ? "Future proof" ? "Safe enough" for ... ? "Lack of return code", what is lacking ?
    'Future proof' and 'Safe enough' means that order management is a process and MQ/brokers/providers/etc rules, protocols,architecture,etc are changing all days, so don't consider it as a definitive solution.
    Lack of return code is because the second code of FinanceEngineer uses checkOrderSend (code below) but never really test this variable.
    bool checkOrderSend = OrderSend(request, result);

If there is something not answered, you are welcome, just ask again.

 
Malacarne:
Hi FinanceEngineer, you're right. I wasn't talking about risk per trade, so I'm sorry if I misunderstood your point. I was really talking about trade sizes...

Hello :)

No need to say sorry.

 

Here we discuss things with open mind.

Not many things in this world can be solved by black and white logic.

As you mentioned earlier, little creativity comes when you speak out to someone.

We call this as discussion.

 

In regards to 10010 code, I will be quite surprise if someone got 10010 code when he sent just 10 lot size or less.

Have you experience such a partial fulfilment with your EA before? Then how many lot size did your order send? :)

 

Regards.

 
figurelli:

Alain, I always will answer you, and sometimes my answer is I don't know, I'm wrong, my mistake, etc. After all, we are all humans, and no one is perfect here.

  • What's the difference between return code 10008 and 10009?
    For this topic, 10009 = 10008 + 1, since this is the original code posted here (not my code) and not regarding the asked bug (my opinion).
    Anyway, if you think this is relevant, you are welcome to create a topic about and invite us.

I don't have to open a topic, we already have this one. Don't you see in this topic how an open discussion not limited to what the OP strictly asked for, can lead to a full explanation of the reason we got double trades ?

Of course that doesn't mean we can't get double order for others reasons, so we are exploring that in this topic. But it seems you aren't taking it very seriously (10009=10008+1 ?). Seems no one here now the real meaning of these codes.

  • What can be the meaning of this sentence ? "Future proof" ? "Safe enough" for ... ? "Lack of return code", what is lacking ?
    'Future proof' and 'Safe enough' means that order management is a process and MQ/brokers/providers/etc rules, protocols,architecture,etc are changing all days, so don't consider it as a definitive solution.
    Lack of return code is because the second code of FinanceEngineer uses checkOrderSend (code below) but never really test this variable.

You are insisting on this point, but it's really not relevant. If returned code is 10009 or 10008 then checkOrderSend can only be true, otherwise it can only be false. Check of 10009 and 10008 is implying chech of checkOrderSend unless 10008 or 10009 code is meaning an error, so my previous question.


 
FinanceEngineer:
...

In regards to 10010 code, I will be quite surprise if someone got 10010 code when he sent just 10 lot size or less.

Yes you are "quite surprised" when you got a double order
 
FinanceEngineer:

In regards to 10010 code, I will be quite surprise if someone got 10010 code when he sent just 10 lot size or less.

Have you experience such a partial fulfilment with your EA before? Then how many lot size did your order send? :)

Yes, I've already experienced this problem before... However I got this problem while trading stocks, not Forex...
Reason: