Skip to content

Latest commit

 

History

History
255 lines (164 loc) · 11.8 KB

README.md

File metadata and controls

255 lines (164 loc) · 11.8 KB

About

This is a volume analysis toolkit that I started programming in February 2020, it is focused on all Futures markets and written in C#, Particularly runs on the NinjaTrader8 platform, and it is based on the Wyckoff method. Although I think there are more things that can be added I release the code to help the whole community of programmers interested in financial markets and trading, greetings!

A little of history about the proyect...

In mid of 2019 I work in my first investment fund that just started, I learned everything related to financial markets and how a trader operates, then about Dark Pools, HFT(High Frequency trading), Futures(Ninjatrader8), Forex(Metatrader5) and how Market makers work.

During that time I started to develop the first stage of the Order Flow, which I did from scratch.By that time I already understood the contract and volume mechanisms offered by Futures and all these financial instruments, so after many tests and headaches I managed to capture this information to do Type-Reading, Volume Profile, Book Mapping, etc... understanding the Wyckoff method was useful in the beginning but I was falling short, due to the frenzy of modern markets (by the increase of the underlying volatility and amount of robots), more latter i start to research as a freelancer in this area using Machine Learning, Deep Learning and Data Science.

Social media

ins Instagram: www.instagram.com/gab.zenobi/
lin LinkedIn: www.linkedin.com/in/gabriel-zenobi

Contribute to this project

if you want to contribute, you can donate to any of the following addresses(Binance).

btc Coin: BTC(Bitcoin), Network: Bitcoin
Address: 1GgmkVTy7EjnuawvC24aUCmpFz48MBJqQm

eth Coin: ETH(Ethereum), Network: BEP20 / ERC20
Address: 0x5fc50c6108102c7d754471ce0db35b4ca3c19b34
or Network: BEP2, with Address: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23, and MEMO: 461252966

usdt Coin: USDT(TetherUS), Network: BEP20 / ERC20
Address: 0x5fc50c6108102c7d754471ce0db35b4ca3c19b34
or Network: TRC20, with Address: TLu3KdjysbVi5uabawzerpqRSS3qZxNXQm
or Network: BEP2, with Adress: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23, and MEMO: 461252966

bnb Coin: BNB, Network: BEP20 / ERC20
Address: 0x5fc50c6108102c7d754471ce0db35b4ca3c19b34
or Network: BEP2, with Adress: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23, and MEMO: 461252966

ada Coin: ADA(Cardano), Network: ADA Cardano
Address: DdzFFzCqrhsqz8XRBQQ8MQBNBbRjKXykmtxsL86JHfGGWfeA4DFMK5Qp8Byzj4PcrxoVxUyad3T413Fktxg1YzTh6nEfR3HXMcueDFtk
or Network: BEP20, with Address: 0x5fc50c6108102c7d754471ce0db35b4ca3c19b34
or Network: BEP2, with Address: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23, and MEMO: 461252966

busd Coin: BUSD, Network: BEP20, ERC20
Address: 0x5fc50c6108102c7d754471ce0db35b4ca3c19b34
or Network: BEP2, with Address: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23, and MEMO: 461252966

How install

The fist step is to copy the files on AddOns folder and then paste it in the path AddOns of Ninjatrader8.

addons

The we need to do the same for the indicators(Bookmap.cs, MarketVolume.cs, OrderFlow.cs, VolumeAnalysisProfile.cs, VolumeFilter.cs). We paste it in the Ninjatrader8 indicators folder

addons

Finally we need to activate "Tick Replay": Tools->Options->Market Data and activate "Show Tick Replay".

opts

The same for Data Series of each Chart we use: New->Chart->Instrument(for example ES) and activate "Tick Replay".

ds

Bookmap + Order book

The bookmap serves to see the depth of market (DOM or Level 2) using a heat map, which is useful to detect capital injections, aggressive and passive orders, aggressive levels of volume and also comes with an Order Book that shows the distribution of the price along with the total amount of volume in the market (both Total and Bid/Ask).

It is a very complete tool because it allows us to apply filters of orders and data to numerical and percentage level, plus a wide range of styles that lets us vary from colors to size of the letters and limits, but that's not all ... There is an option called "Realtime save session" within "Book Map Database" with which we can record in real time all the data extracted by the Bookmap and then save it in a .db file, this is very useful because we can reload the session whenever we want and not lose any progress. Another great feature is to be able to use this file (if you know how to read it) for data analysis, applying Machine Learning or any statistical method to look for patterns, in fact this is the purpose of such functionality.

If you see my examples all of it is "1 second" of time-frame, this is because with this setup we can able to see the market in a very precision way. Experts algorithms can use this for detect market manipulation and High frequency trading(HFT).

Features:

  • Ladder range: x(levels of the ladder of contracts)
  • Market orders calculation: Delta, Total. Book map database:
  • Session save file path: filename.db(the ".db" is obligatory)
  • Session load file path: filename.db(the name of the file saved previously)
  • Realtime save session: True/Falta(do you want to save?, enable this option!) Book map Filters:
  • Agressive market orders: X(detect agressive volume from X, this is show in the price)
  • Big pending orders: Y(detect orders from Y, it is useful for detect HFT)

There are many other features that have to do with the tool's style and colors

bookmap1

Demo of default config of BookMap.

bookmap2

Tunning ladder for see Bid/Ask separatly.

bookmap3

Zoom for show number of volume.

bookmap4

Another zoom for see big volume of orders(setting a pre-defined filter)

bookmap5

Order Flow

The order flow is a tool that allows us to see the flow of orders in the market, with this we can see the difference between the level of supply and demand. A good trader(or an AI algorithm in my case) can provide us information about a possible future price imbalance, and using this knowledge exploit a resistance point at which to place an order. In other words, the order flow shows us the number of contracts at each price level, which is why it is sometimes also called "Cluster Chart" or "Footprint".

This tools offers a lot of styles and formulas to deal with it:

  • Formulas: Bid/Ask, Total Delta, Total, Delta
  • Representation: Volume(raw numbers), Percent
  • Position(Profile): Left, Right
  • Style: Profile, Heatmap
  • Cluster POC, POC Lines, Cluster POI, POI Lines
  • Extra info: POC = Point of control(Maximum volume cluster), POI = Point of imbalance(Minimum volume cluster) The POI is a concept that i create, and just is the oppose to the POC...

orderflow1

Demo of default config of the Order Flow/Footprint/Cluster chart(using BidAsk formula).

orderflow2

Cluster POC + Cluster POI + POC and POI Lines(using TotalDelta formula)

orderflow3

Zooming the cluster we can see the contracts(using TotalDelta formula)

orderflow4

orderflow5

Using Heatmap style(BidAsk formula)

orderflow6

Using Heatmap style(Total formula)

orderflow7

orderflow8

Volume Profile

The volume profile shows a horizontal distribution of the number of contracts traded at each price level over a period of time. It also provides additional information such as POC, POI, Delta volume, Total Volume over a certain period of time. One of its features is that it gives us the possibility to drag and drop, so we can select price zones and make a volume profile (we can also delete them when we don't need them).

Features:

  • Formulas: Total, Delta, BidAsk, TotalAndBidAsk, TotalAndDelta, TotalAndDeltaAndBidAskm
  • Ladder information: BidAsk, TotalAndDelta, Total, Delta.
  • Time: Days, Minutes, Hours
  • POC and POI.
  • Hold CTRL and select a zone in the chart(the selected area will be marked in blue), then left click to show a new Volume Profile.
  • Hold SHIFT and select an added Volume Profile(if the selected area is correct will be marked in red), then left click to delete a Volume Profile.

volumeprofile1 volumeprofile2

Default config(BidAsk formula).

volumeprofile3

Total and BidAsk formula

volumeprofile4

Zooming the ladder of prices to see the volume.

volumeprofile5

Only Delta volume calculations

volumeprofile6

Select a zone to add a new volume profile.

volumeprofile7

Select a volume profile to delete.

volumeprofile8

Total and Delta and BidAsk volume

volumeprofile9

Volume Filter

The volume filter is an indispensable weapon when we need to detect areas of important volume, probably the market is in a battle between buyers and sellers. Sometimes we will only filter out a specific amount of volume while at other times we will need a "map" of all incoming volume (from the smallest to the most aggressive). This tool is very useful if is combined, for example with the Book Map.

Features:

  • Formula: Delta, Total.
  • Min volume filter: X(a volume less than this amount will be discarted) Geometry:
  • Drawn: Circle, Rectangle.
  • Fill: True, False.
  • Agressive level: X(this impact on the size of the volume zone).
  • Among others...

Default setup volumefilter1

Filtering volume using Delta formula.

volumefilter2

Zooming

volumefilter3

Using rectangles geometry

volumefilter4

Using Circles geometry with Total formula

volumefilter5

Market Volume

This is the simplest volume analysis tool, and one of the most used... with it we can see the total amount of Delta volume, accumulated volume among other characteristics. One of the most innovative things is that we can choose cumulative time-frames (most tools of this type only allow a fixed time) as a default period. So we can set volume time-frames.

Features:

  • Formula: BidAsk, Delta, Total, TotalBidAsk, TotalDelta.
  • Period: 1(by default, if we increase this amount we can accumulate the volume period)
  • Market calculation style: Zero Line Color

Default setup.

marketvolume1

Using Delta formula, Periods: 5

marketvolume2

Using Total formula, Periods: 5

marketvolume3

Using TotalDelta formula, Periods: 5

marketvolume4

Using TotalBidAsk formula, Periods: 5

marketvolume5