Hi Guys,
Please help me to understand the Order Block vs Discrete Order Block better.
(1) Suppose I am using the Order Block, and I want to join the best bid to enter a limit buy with quantity of 1. If now the best bid is changed, will Order Block modify my previous buy limit order or it will sent another 1 limit buy on latest best bid?? So basically, I want to understand if the Order Block will update the initial order or it will send new orders?
(2) Suppose I have a condition of if LTP > $100 then I enter a buy order and suppose this condition will keep true for next 5 mins. In this scenario, how the Order Block and Discrete Order Block will behaved?
As I know, Discrete Order Block will send the order if discrete event message is true, but if the message is keeping true for next 5 mins, will it send only one order or will send multiple orders?
Thank you very much in advance!
Answer by JFP · May 02, 2016 at 01:22 PM
Hi there.
1) The Order Block will change the price of your existing 1-lot order, it will not cxl/replace.
This is true when you leave the default settings for "Ignore Inputs After Add" unchecked and "Auto Resubmit" checked.
2) The Order Block will maintain control of an order, whereas the Discrete Order Block will send an order without any control of it after sending. If you want to control an order sent by a DOB, you need to use a Single Order Container (SOC). If there will be more than one order sent by that DOB, you should virtualize the SOC so that each order is controlled individually with its own set of info. If the SOC is not virtualized, it will only control the most recent order it has received.
A Discrete Order Block will send a new order every time it receives a Discrete Message.
A Regular Order Block will enable/disable the same singular order when its continuous Boolean input to the On/Off port reads true/false, respectively.
JFP
Answer by Damon · May 02, 2016 at 02:27 PM
Good morning @oceanbass58
@JFP gives a good description for your answer. Here is some additional help as well:
Differences of using a DOB vs Order Block…..remember
one main difference here between the 2 blocks is how they are triggered. The
Order Block will place an order as long as the ON/OFF conditional input is a TRUE value, as well as it will pull
and or re-submit your working orders based on this ON/OFF conditional Boolean
input. However with a DOB…. All it needs is for any kind of a discrete message
to trigger the block to submit orders….of course basing
the order submission on the internal conditional
formula being TRUE.
Stating that one block is better practice to use than the other…..
this really depends on the custom internal logic behavior you are looking for.
Both blocks will submit orders just as quickly, both can have the ability to
have logic built to manage the working orders after the ADD OK confirmation
message (See screen shot below)
Other
things to notice…from the above screen shot, you can see that
the Orders Block has many more Discrete Message
outputs you can connect logic to be based on, where the DOB only has the ADD OK
message to build your working logic on.
Plus…. The DOB will
only submit orders IF the internal conditional formula is TRUE at the time of the
incoming triggering discrete message. If it is not in a TRUE state….. the
DOB will not fire off its order, and will have to wait until there is another discrete message
to trigger the DOB. Whereas when using the Order Block…. As long as the ON/OFF conditional
input is TRUE it will submit the order(it is defaulted to TRUE if
there is not input logic). So you can see that it is possible to build a
wide ranging amount of logic variations for how you want your algo to behave
with respects to cover logic. There is no cut and dry “Best Practice” with
respects to building logic using the DOB and the Order Block.
Thanks JFP and Damon for your help.
Suppose every time I send a 5 lot order, will the Order Block not send a new order until all 5 lots filled for my previous order? Or it will continuous send the orders no matter how many are filled on previous order as long as the condition is true?
thanks.
You would have to make sure and set up the "reload Qty" to send an new 5 lot order once the initial 5 lot order was filled. Otherwise, it would simply update the working QTY from 5 to now 10. Use this for ideas on how to create "reload" type logic.... https://community.tradingtechnologies.com/questions/65/is-there-a-way-to-create-the-logic-to-allow-me-to.html
Hi Damon,
I tried to run the example ( join ES best bid) from new TT help manual as below in Demo (delayed price mode):
https://www.tradingtechnologies.com/help/adl/fundamental-concepts/getting-started-with-adl/
(1) why after sending 5 lot order, it stop to send further orders- ( i used the "run button" on tool bar of ADL?
(2) I can not find my ADL algo in Algo Dshboard, do you know why?
Thanks.
Thanks Damon.
So if my total qty is 5, DOB sent one order with qty of 5 and after that I received another message to DOB, it will still send a new 5 lot order? And if more message received later it will send more....?
Yes that is correct, and of course all based on your conditional logic checks. Please read through the following ADL Education material and Block Help Videos:
https://www.tradingtechnologies.com/help/adl/trading-blocks/order-block/
https://www.tradingtechnologies.com/help/adl/trading-blocks/discrete-order-block/
Ask questions and share ideas about the TT® and X_TRADER® platforms.
First time here? See our Getting Started Guide and FAQs.
© 2017 Trading Technologies International, Inc. All rights reserved.
Powered by AnswerHub