Auto Trade using ODIN/NEST from Amibroker

yasu222

Active Member
#1
I need a auto trading API to places trades automatically from Amibroker charts to my Odin or NEST only. (I\'ve my own amibroker AFL\'s) I need a programmer to develop a plugin/API that can automatically trigger buy/sell/short/cover orders from Amibroker charts. The programmer should suggest any suitable coding language and code the same. I prefer to use C# or Dot Net Platform if possible. Should compatible with windows XP and windows 7 32 bit (64 bit also if possible). The software should have a good GUI based settings / configuration or API and fulfill these conditions. I mean it should be easy to configure. As and when signals are generated in the Amibroker charts, these signals should place a order on trading platform.. - Fully automatic trading or user can manually approve all orders. (setting) - Automatic auto-login if broker connection goes offline and back online. - Error check to report if broker goes offline. - Should Handles all symbols from
all data feeds. - Facility to specify symbol name (suppose in Data feed and Amibroker Nifty1 is the name for Nifty current month futures, we can specity that name in plugin so that signals related to Nifty1 trades only Nifty current month futures). - Fast and easy manual order entry should also stay. - Positions in all symbols is updated automatically. - Profit/Loss in all symbols is updated automatically and to be shown in a trade position window. - Fast access allows user to Cancel All open orders with one click. - Fast access allows user to cover/close all positions with one click. - Constant updates of order status: Filled, Cancelled, Placed - Automatic trailing stop loss when the order will be filled. (trailing SL range will be given by user) - All position should be squared off at a specified time ( user input). - Initial orders are to be limit order, in case not filled should auto increase/decrease the order 3 times by user specified points and
then to be automatically converted as market order. - Logging to be maintained for each order or cancellation or all event that takes place from Amibroker, that can be exported to excel for further analysis / reporting Only apply, if you understand what needs to be done. I will need some samples of prior work or you need to present me proof of concept that you can do it before we proceed. If you are not familiar with Amibroker or Odin or NEST trading software\'s please do not apply. If you have done something similar, please send more details. And if you have something ready at the moment, that\'s great.. we can then skip this stage and proceed for actual work.. As this is just a first phase of what I want to do. This project is a first step to something bigger. And this project is of low budget, if you can work out then the next phase is really big and interesting, As I already said this is the first step. If you have any other questions, please feel free to ask. Note that working source code must be given with instruction on how to run it. Keywords: Software, Programming, C#, Architecture, Window, .NET, Desktop
 

jagankris

Well-Known Member
#2
I need a auto trading API to places trades automatically from Amibroker charts to my Odin or NEST only. (I\'ve my own amibroker AFL\'s) I need a programmer to develop a plugin/API that can automatically trigger buy/sell/short/cover orders from Amibroker charts.

The programmer should suggest any suitable coding language and code the same. I prefer to use C# or Dot Net Platform if possible. Should compatible with windows XP and windows 7 32 bit (64 bit also if possible). The software should have a good GUI based settings / configuration or API and fulfill these conditions.

I mean it should be easy to configure. As and when signals are generated in the Amibroker charts, these signals should place a order on trading platform.. - Fully automatic trading or user can manually approve all orders. (setting) - Automatic auto-login if broker connection goes offline and back online. - Error check to report if broker goes offline. - Should Handles all symbols from
all data feeds. - Facility to specify symbol name (suppose in Data feed and Amibroker Nifty1 is the name for Nifty current month futures, we can specity that name in plugin so that signals related to Nifty1 trades only Nifty current month futures). - Fast and easy manual order entry should also stay. - Positions in all symbols is updated automatically. - Profit/Loss in all symbols is updated automatically and to be shown in a trade position window. - Fast access allows user to Cancel All open orders with one click. - Fast access allows user to cover/close all positions with one click. - Constant updates of order status: Filled, Cancelled, Placed - Automatic trailing stop loss when the order will be filled. (trailing SL range will be given by user) - All position should be squared off at a specified time ( user input). - Initial orders are to be limit order, in case not filled should auto increase/decrease the order 3 times by user specified points and

Then to be automatically converted as market order. - Logging to be maintained for each order or cancellation or all event that takes place from Amibroker, that can be exported to excel for further analysis / reporting Only apply, if you understand what needs to be done.

I will need some samples of prior work or you need to present me proof of concept that you can do it before we proceed. If you are not familiar with Amibroker or Odin or NEST trading software\'s please do not apply.

If you have done something similar, please send more details. And if you have something ready at the moment, that\'s great.. we can then skip this stage and proceed for actual work.. As this is just a first phase of what I want to do.

This project is a first step to something bigger. And this project is of low budget, if you can work out then the next phase is really big and interesting, As I already said this is the first step.

If you have any other questions, please feel free to ask. Note that working source code must be given with instruction on how to run it. Keywords: Software, Programming, C#, Architecture, Window, .NET, Desktop
Few questions

1) API - Application programming interface is the one the Broker provides.
So API or interface can be developed for the application which we develop by the way of DLL's.

2) In case of Nest - Nest Plus API is provided by Omnesys for 250 + taxes monthly.Regarding ODIN - Diet or Client I am not sure if an API is provided for the same.

3) Regarding the connectivity issues
A) Connectivity issues can happen by the way of Internet.Say BSNL inet connection stops for a while.

B) Back filling of data has to be done from the data vendor.
or Internet connection is stable but there is a problem with server of the data provider and data doesn't comes for few seconds to minutes then resumes again.

C) Like wise Internet connection could be stable but the Broker's connectivity fails due to a problem from broker's side.In Zerodha I have seen this several times for few seconds then connection resumes again.

There is no means to check if data comes to the Trader Terminal from the Broker.

Say Nest Trader is disconnected and if a signal is generated in Ami that instance New Buy/Sell/Cover/Short may not happen.
Or can happen only after the connectivity resumes but till that time what the application should do ?

Even if an API is provided by the Nest+ doesn't provides function to check the connectivity status of the application with the broker :mad:.
 

jagankris

Well-Known Member
#3
Constant updates of order status: Filled, Cancelled, Placed - Automatic trailing stop loss when the order will be filled. (trailing SL range will be given by user)
I may be wrong but what I believe is.
May be others can comment on this.

Automatic Trailing stop loss requires - Order placement,pending order status needs to be tracked and again order cancellation or modification means HFT and hence needs Exchange approval of the ALGO's

Modification of order status from limit pending orders to Market orders if the orders aren't filled means again the API by the Broker should provide the interface to track all the pending orders.

and low budget applications cannot achieve this.
 

jagankris

Well-Known Member
#5
Jagan,

Cut paste from:

https://www.freelancer.com/projects/C-Programming-Java/API-Trade-from-Amibroker-Odin.html

http://www.freelancer.in/projects/Auto-Trade-using-ODIN-NEST.html

http://www.freelancer.com.es/projects/Auto-Trade-using-ODIN-from.html

You will notice that the ditto same project has been posted by different IDs, awarded to different persons, all are in progress, at nearly equal rates.

Dear Mr.Yusi,

Projects may be given.So r they are fakes :)
With out proper API from the broker the above said requirements cannot be fully met.

Especially Trailing Stops,Order Modification,Order Cancellation,Broker terminal stalling for few seconds and stopping for few minutes :(.

Pls share your experience.
Is there a way to achieve the above said with out the API with some hooking etc.

Or just do some windows automation stuff to automate the trades like robo trade does.

TIA.
 
Last edited:

yusi

Well-Known Member
#6
Dear Mr.Yusi,

Projects may be given.So r they are fakes :)
With out proper API from the broker the above said requirements cannot be fully met.

Especially Trailing Stops,Order Modification,Order Cancellation,Broker terminal stalling for few seconds and stopping for few minutes :(.

Pls share your experience.
Is there a way to achieve the above said with out the API with some hooking etc.

Or just do some windows automation stuff to automate the trades like robo trade does.

TIA.
Jagan,

Do not know what the OP had in mind; best to let him elaborate.

But the answers you seek should be obvious. With the Nest Plus API, folks are still struggling to do simple things like modifying orders or getting the status. In most software companies, the product would not have passed alpha testing, forget being released. You are aware of the problems with Nest from the Zerodha thread. For Odin, very little is openly known or discussed about their API.

Code hooking and AutoIt type solutions may address many of these shortcoming, but they will remain entrepreneurial approaches. If your trading needs are simple, and that is true of many, yes they are probably okay. They would work best if you are the author as well as the user so that you know exactly what they achieve and limitations. As a corner case, I remember one person asking me if I could write code that would simply check the Nest API Generated Orders window periodically and confirm any new triggered orders (so that retail users do not have to manually do so).

Also, a more mature auto-trading requires info on funds / holdings that the API has not even begun to address. Read the AmiBroker IB interface doc to get the idea of the capabilities one should expect from an API. You actually do not need the "terminal" at all, the API should interface for what is needed.

I'm really uncomfortable giving such broad and generic views, and would have loved to simply say - it depends, or whatever floats your boat, and the devil take the hindmost.
 

jagankris

Well-Known Member
#7
Jagan,

Also, a more mature auto-trading requires info on funds / holdings that the API has not even begun to address. Read the AmiBroker IB interface doc to get the idea of the capabilities one should expect from an API. You actually do not need the "terminal" at all, the API should interface for what is needed.

I'm really uncomfortable giving such broad and generic views, and would have loved to simply say - it depends, or whatever floats your boat, and the devil take the hindmost.
I love the IB doc --- the first function given is if the IBC is connected !!!
Where as the Nestplus API --- doesn't even have proper documentation :(.

There is a DMA solution with Omnesys.
As usual it is for Dealers under a broker and not for Retail.

Algo's developed using the API needs approval from the exchange.

Interfacing NEST API - The API are available in Java, COM and C++ that enables programmers to build algorithms and send orders to NEST OMS.

Interfacing NestFIX.
NEST TBT Feed - Nest Tick by Tick feed :)

Symphony - I believe have this API and built their platform with Java/MySQL and .Net.

May be after the Reuters acquisition of Omnesys - I wish there should be more transparency.
 
#8
I love the IB doc --- the first function given is if the IBC is connected !!!
Where as the Nestplus API --- doesn't even have proper documentation :(.

There is a DMA solution with Omnesys.
As usual it is for Dealers under a broker and not for Retail.

Algo's developed using the API needs approval from the exchange.

Interfacing NEST API - The API are available in Java, COM and C++ that enables programmers to build algorithms and send orders to NEST OMS.

Interfacing NestFIX.
NEST TBT Feed - Nest Tick by Tick feed :)

Symphony - I believe have this API and built their platform with Java/MySQL and .Net.

May be after the Reuters acquisition of Omnesys - I wish there should be more transparency.
Please guys help me out.

Even i am looking for some sort of API which provides data in to my customized software...

Please do connect me on [email protected]

Regards,
Kanak
 

yasu222

Active Member
#9
develop a plugin sort of a thing that can automatically trigger buy/sell orders from Amibroker charts

The programmer should suggest any coding language..and .code the same.

The software should run on Operating system(s) Microsoft Windows -- version(s): XP, Vista, Windows 7 ,Win 7 Prof.ver

Installation Program: Yes AND the program will be installed on multiple computers and needs to work on all of them.
The software should act as GUI or API and fulfill these conditions ..
As and when signals are generated in the Amibroker charts.. these signaks should place a order on my above mentioned trading platform..

- Fully automatic trading or user can manually approve all orders.
- Automatic auto-login if broker connection goes offline and back online.
- Error check to report if broker goes offline.
- Handles any symbols from all data feeds.
- Fast and easy manual order entry.
- Positions in all symbols is updated automatically.
- Profit in all symbols is updated automatically.
- Fast access allows user to Cancel All open orders with one click.
- Fast access allows user to flatten all positions with one click.
- Constant updates of order status: Filled, Cancelled, Placed
- Automatic trailing stop loss when the order will be filled.
- All position should be squared off at a specified time ( user input).
 
#10
@Jagan, Yasu, Yusi and others interested!

The wishlist fairly tallies with mine and I will repeat what Yusi said, but in different words-Nest Plus is a nuisance, not a tool. I am amazed it lacks even the basic programming features for talking back and forth with other apps. Is there no platform that overcomes the limitations?

Yasu and Jagan have elaborated the desirable features but I am a little surprised that the most essential point for a wannabe AMI ATS trader is missing.

Well, I trade FULL auto, and in MCX (yes, MCX), being an "authorised person" of my broker. I have my afl which is profitable.

Now please pay careful attention,,,,,,,,,,,,,,,,,,

You are running an afl for ATS and a buy signal comes at Rs. 100/-,,,,,,

According to your code you are supposed to exit at Rs. 101/- (say at 1% profit -- to keep matters simple) if you are on profit,,,,,,

Surprise, surprise, you see that your program does not exit at 101/- and continues to 102 and then falls back to 99/- when you hastily book loss manually,,,,,,

The reason is (and I am grateful to abhig who pointed this out), you may be using some condition other than a cross over of MAs (or else). While the crossover remains true for only one candle, your condition may remain so for several, and many candles return a "buyprice" and that buyprice is changing forever (going up in this case) AND you hit your exit with calculations based on the new buyprice. So profits may come late or not at all.

If my colleagues here have not faced this problem, God has blessed them already, because they are not taking losses every day with a chart that is profitable on nearly all days. I have consciously rejected crosses in favor of MA slopes as I find it much superior. But slopes remain true for many candles returning changing buy prices ( a peculiarity of AMI, IMO).

But in case my friends' situation is similar, they now have to get the ENTRY prices fixed and stop them from moving with the candle. Static variables may help to some extent, I don't know. My suggestion is to get the traded price from the terminal/N+ and pass it back to AMI to store and then read it before the TSL/Sl codes.

Easier said, say the coders, but they admit it is possible. I am waiting for a coder who is SURE he can do it FAST and at a REASONABLE price.

About the rest of the wishlist, I am being told by my broker that a COM API is coming for the last 4 months.

Where do we go from here? After the issues are resolved, we don't want to remain glued to the terminal all day, so VPS is the next kid on the block. But it will throw up its own tantrums. For example, you have copied all your software into the VPS server and is out on a trip to Amarnath (or Mecca, or Jerusalem). After you return you get to know that your Nest Plus did hang up one day and could not square up positions and you lost several lakhs of rupees.

The VPS, like the COM API, must also come with security patches which will test for signals and detect malfunctions and book profits/losses and shut down. Fortunately it can also be developed by the brokers rather than the VPS hosting company. The cost can be spread over all users.
 

Similar threads