Demo Execution Strategies

Custom indicators, trading strategies, data export and recording and more...
SuperDriveGuy
Posts: 67
Joined: Thu Nov 01, 2018 1:50 pm
Has thanked: 38 times
Been thanked: 9 times

Re: Demo Execution Strategies

Post by SuperDriveGuy » Mon May 27, 2019 7:50 am

I second mpxtreme's request that the strategies should have capability to be applied selectively i.e. sometime one may want to use escape to get good entry or on target chase, but NOT on the SL.

I have a related query...

I think in the case of using the escape strategy(maybe its the same case with the chase and execute too) in trading a "cross trading pair", the levels count is used from the "minor" instrument instead of the "major" instrument e.g. FDXM instead of FDAX.

This may not be an issue in case of "cross trading pairs" with the same number of levels e.g. NQ and MNQ(4 levels per point), but this IS an issue in case of FDAX(2 levels per point) and FDXM(1 level per point).
This actually raises a MAJOR point, is the strategy looking at data(volume, levels etc) from the major or minor component(IF applied to a cross trading pair)??

I have tried to illustrate in the attached screenshots.

Thanks for all your efforts so far.

 
Attachments
SharedScreenshot2.jpg
SharedScreenshot2.jpg (27.54 KiB) Viewed 3160 times
SharedScreenshot.jpg
SharedScreenshot.jpg (132.62 KiB) Viewed 3160 times

SuperDriveGuy
Posts: 67
Joined: Thu Nov 01, 2018 1:50 pm
Has thanked: 38 times
Been thanked: 9 times

Re: Demo Execution Strategies

Post by SuperDriveGuy » Thu May 30, 2019 12:37 pm

bump

AndreyR
Posts: 148
Joined: Mon Jul 09, 2018 11:18 am
Has thanked: 9 times
Been thanked: 37 times

Re: Demo Execution Strategies

Post by AndreyR » Thu May 30, 2019 9:03 pm

The strategy will be looking at data of the 'major 'instrument.

mpxtreme
Posts: 28
Joined: Thu Oct 25, 2018 12:20 am
Been thanked: 4 times

Re: Demo Execution Strategies

Post by mpxtreme » Fri Jun 14, 2019 8:45 pm

Anything happening on this front guys?

Kind of a shame to not feature this area and develop with more vigor since
the whole premise of the app is having access to data no other platform offers in the retail space.
What's key here is having the ability to react to that data 100X faster than a manual trader can click!

Thanks
 

Svyatoslav
Site Admin
Posts: 29
Joined: Mon Jun 11, 2018 11:44 am
Been thanked: 3 times

Re: Demo Execution Strategies

Post by Svyatoslav » Mon Jun 17, 2019 8:20 am

Hi mpxtreme,
This is a kind of functionality that can be added via API by anyone, if it's needed. Source code of those 3 strategies is available here:
https://github.com/BookmapAPI/DemoStrat ... dinghelper

Regarding if/when we are going to do it ourselves - I'm not aware of any immediate plans. We have a lot of things to improve/add in our backlog, and functionality that can be implemented via API usually doesn't get top priority (It doesn't mean we are never going to do it, it's just that I can't give you any promises on it)

SuperDriveGuy
Posts: 67
Joined: Thu Nov 01, 2018 1:50 pm
Has thanked: 38 times
Been thanked: 9 times

Re: Demo Execution Strategies

Post by SuperDriveGuy » Thu Jun 20, 2019 8:50 am

Hi,
 
  First of all thanks for providing the Demo scripts, they are really helpful in getting started in building something of ones own. So thumbs up for that! 

  I am trying to record only the trades executed data,like what you see in the Time&Sales. As I can only export data from T&S for only a couple of hours or so, I wanted to use the DataRecorder to "record" it.

Another question related to the DataRecorder, if you can please?

1. The price for FDAX comes as multipled by 2, so 12,393.0 becomes 24,786.0, it could be due to the price increment being 0.5, so 2 ticks to a point, not sure if this is being reflected correctly??

2. There sometime seems to be an extra row for Trade, with Volume=0. I guess, I can easily eliminate that with a filter on size > 0, but just curious how it gets there.

3. Maybe I am missing a trick in exporting the whole days data from the T&S window, so I don't have to change the DataRecorder for my purpose? 

 I have attached a screenshot of the DataRecorder code and the output.

Thanks

 
Attachments
SharedScreenshot3.jpg
SharedScreenshot3.jpg (179.65 KiB) Viewed 2933 times
SharedScreenshot2.jpg
SharedScreenshot2.jpg (310.67 KiB) Viewed 2933 times
SharedScreenshot.jpg
SharedScreenshot.jpg (139.15 KiB) Viewed 2933 times

SuperDriveGuy
Posts: 67
Joined: Thu Nov 01, 2018 1:50 pm
Has thanked: 38 times
Been thanked: 9 times

Re: Demo Execution Strategies

Post by SuperDriveGuy » Mon Jun 24, 2019 10:26 am

Hi,
  I checked this on NQ and it happens there too. So basically, it looks like the PRICE needs to be multiplied by the "pip" size see "MinPriceIncrement=0.25" so 31123*0.25 = 7780.75 which is the correct price. Sure, I can add this to the DataRecorder class.

Just wondering, if I overlooked something obvious and should have been receiving the correct price from OnTrade class.

19700101 01:00:00.000000000,InstrumentAdded,Alias=NQU9.CME@RITHMIC,MinPriceIncrement=0.25,Multiplier=20.0
20190624 12:21:52.611074900,Trade,Buy,31123.0,1
20190624 12:21:52.712133000,Trade,Buy,31123.0,0
20190624 12:21:56.666194900,Trade,Sell,31123.0,1
20190624 12:21:56.767852300,Trade,Sell,31123.0,0

Thanks

 

AndreyR
Posts: 148
Joined: Mon Jul 09, 2018 11:18 am
Has thanked: 9 times
Been thanked: 37 times

Re: Demo Execution Strategies

Post by AndreyR » Mon Jun 24, 2019 12:05 pm

Hi superdriveguy,
Just wondering, if I overlooked something obvious and should have been receiving the correct price from OnTrade class
No you did not miss anything. And yes, the price you receiving is correct. Bookmap knows the pip size for every instrument subscribed so it takes price as price-divided-by-pips (this only is a simplified description). For example, when using the Simplified interface, the Indicator's addPoint method takes the price-divided-by-pips as an argument. But it is not that obvious unless you start recalculating that price or sending it to the output.

mpxtreme
Posts: 28
Joined: Thu Oct 25, 2018 12:20 am
Been thanked: 4 times

Re: Demo Execution Strategies

Post by mpxtreme » Mon Jun 24, 2019 3:06 pm

Svyatoslav wrote:
Mon Jun 17, 2019 8:20 am
Hi mpxtreme,
This is a kind of functionality that can be added via API by anyone, if it's needed. Source code of those 3 strategies is available here:
https://github.com/BookmapAPI/DemoStrat ... dinghelper

Regarding if/when we are going to do it ourselves - I'm not aware of any immediate plans. We have a lot of things to improve/add in our backlog, and functionality that can be implemented via API usually doesn't get top priority (It doesn't mean we are never going to do it, it's just that I can't give you any promises on it)

a) Please without going into a major new strategies effort/offering, can Bookmap at least remove the strategy's effect when there is a position instead of effecting all limit orders placed once it's activated? Because right now even if you do not use a TP (and only a TS) but wish to use a limit order to exit manually, the strategy has to be disabled or else it effects that new order. If this isn't something Bookmap wants to fix...maybe just add a Keyboard short cut that can disabled the strategy.

b) please add a "my order's side minimum resting quantity # " parameter instead of just %.
Because if the spread widens more than 1 tick the strategy will  see "zero/0" on the "my order's side" of the book which isn't desirable in some of the strategies.



Thanks
 

AndreyR
Posts: 148
Joined: Mon Jul 09, 2018 11:18 am
Has thanked: 9 times
Been thanked: 37 times

Re: Demo Execution Strategies

Post by AndreyR » Tue Jun 25, 2019 9:21 am

Hi mpxtreme,
We're doing our best at developing our product to deliver solutions satisfying our customers' needs.
This involves implementing new features our customers would like to have.
If you need a new feature to be implemented please place your feature request at the 'New Features and Requests' forum.
However please note that due to many features waiting in the queue we can't provide you any guarantees regarding when or if we'll get to any particular feature.
Alternatively you can either implement it yourself via API or hire a developer to do it for you - that will likely be faster than waiting for us.

Post Reply