CNX to Amibroker Interface/Order management using CNX RTD
$250-750 USD
Fechado
Publicado há mais de 13 anos
$250-750 USD
Pago na entrega
I ASK THAT ONLY PROGRAMMERS WITH RELEVANT EXPERIENCE BID ON THIS PROJECT.
Specific details will be shared only with those bidders that can provide me with references and detailed documentation of similar projects that have been completed by the programmer. Non-disclosure and other basic terms must be agreed upon prior to awarding the project.
PROJECT OVERVIEW - I require a very basic FOREX trading interface (program) that uses 1 FIX Protocol (FIX) connection (although ability to add more) and executes on the best rates available. It will need to obtain FIX Certificates from counter-parties showing proper API connectivity and order routing. I can easily get the specific FIX API specs for Currenex. This interface will stream broker's rates into Amibroker and allow trading off charts.
Prior to awarding of the project, programmer shall consult on software configurations, FIX API connectivity and GUI interface/dashboard. This will help determine exact requirements for the project. I am using Windows 7.
Focus should be on future scalability and low latency. Hardware components and software features should be relatively easy to change/add/remove/upgrade with little to no effect on trading (such as hardware and software changes, adding/removing test and live trading strategies, adding/removing counter-parties, markets traded, API connects, database changes, etc.). If any bugs we will want them fixed & the programmer to ensure that trading strategies properly transition from development environment to live environment. We will want frequent updates and will make ourselves available to answer questions from the programmer at any time.
BASIC STRATEGY CODING REQUIREMENT
- Three or four basic strategies coded in C# and/or managed C++, approximately 20+ currency pairs will be traded
- Top-of-book as well as depth-of-book
- Basic order types: Market Order, Limit Order, Stop Order, One Cancels the Other (OCO), If/done OCO entry Order, Trailing Stop Loss orders, Related Orders, Good Till Canceled (GTC), and Good for the day (GFD)
- Trading programs will trade 24 hours on trading days
- Trading program must calculate & manage real-time counter-party daily credit limits, margin and P/L
- Trading program must protect against unwanted repeated orders and multiple fills
DATABASE REQUIREMENTS
Database could be MySQL or excel
- Capture tick data (time, bid/ask, vol., etc.) for back testing of potential strategies to be used in future
- Create transaction log (assign unique transaction number, time, bid/ask, etc.)
- Data must be written to files that can be exported, manipulated and sorted by each field
- Database configuration should not affect speed of trading program
REMOTE ACCESS
- Remote access to monitor hardware performance as well as trading program performance details
- Remote access to input specific changes to trading program(s) as well as ability to execute if needed
- Dashboard should display (a) transaction log (filled orders) for specified time frames sort able by the following fields: trans #, parity, trading strategy, etc., (b) P/L for specified time frames sort able by the following fields: trans #, parity, trading strategy, etc., (c) margin available/utilized, (d) daily credit limit available/utilized per counter-party, (e) audio and visual alerts if specified conditions are met.
- Dashboard should have input fields allowing us to remotely make adjustments/changes such as (a) parities to be traded in a specific strategy, (b) fee amounts per transaction (separate fields for each fee), (c) net profit targets per trade/strategy, (d) margin rate, (e) daily credit limit by counter-party, (f) turn on/off any or all strategies at any time (g) cancel any or all open orders, (h) place orders with any counter-party (basic order types: mkt, lmt, stops), (i) alert inputs and strategy auto-shutoff inputs such as account balance, P/L by strategy, overall P/L over certain time frames, margin usage level, credit line usage level, etc.