VB.net (v. 2019) for online stock/share purchase and sell (multiple use)
Budget: €250 – €750 EUR
I'm seeking a dedicated professional to create an EXE stand-alone applications using VB.NET only.
We are "against" the use of AI whose main result is to "switch off" people's brains.
The creation of a new VB.NET application (v. 2019) from scratch is required.
No C#, no PHP, no Python, no Java, no third party controls, no compiled objects.
--> No placeholders: the requirements are very detailed to allow for accurate evaluation (date/time).
----- The goals -----
1) Stock exchange data display.
I'm looking for a VB.NET developer who can "call" the API and/or WebServices of a provider/broker to:
- Get real-time quotes (about 3, or more, per second) and draw a graph in the form
- Provide functions to buy and sell indexes/stocks
* read/write local INI file for account configuration
* create session and keep alive each 9 min
* read account preferences
* read budget available
* read portfolio (shares purchased)
* read the value of the shares
* allow Business Logic module, by providing all necessary data in global variables (the rules will be written by the end user's IT department and there will be more than one VB module)
* execute BUY
* execute SELL
2) management of two (or more) investment streams
- On the provider side, purchase requests come from a single user and are therefore queued in a unique portfolio.
- On the user side, funds come from different cost centres and therefore have different management rules (one for each Business Logic module)
The broker is Capital.com.
----- Layout -----
Application layout is easy: one form only (because must be stand alone), very light.
The important thing is that the information of these 4 indicators is displayed: ADX, MACD, RSI 14, Stoch RSI
Please see GRAPH.jpg in attachment.
It would be useful if the form displayed the chart of a stock (e.g. Microsoft Corporation, code MSFT) --> https://it.advfn.com/mercati/NASDAQ/MSFT/grafico/streaming
or an index (e.g. S&P 500, code SP500) --> https://it.advfn.com/mercati/SPI/SP500/grafico/streaming
reading data that changes.
I suggest the adoption of free objects for displaying the received quotes, such as
* https://dotnet.stockindicators.dev/
* https://github.com/DevExpress-Examples/winforms-chart-create-candlestick-chart/
* https://scottplot.net/cookbook/5.0/
----- Performance ----- (!!!!)
Performance is extremely important as data changes very quickly (at least 3 times per second) and a slow read or adopting objects that slow down the process... is a losing choice, which makes the application unusable.
--> Limit/avoid the use of multithreading.
----- Application tests -----
To carry out the development, (if necessary) the programmer will have to create his own accounts on providers, which will then be used by me for testing.
----- System and database -----
If a DB is needed, we need to use a "local database".
We prefer to use "MS Access" 97/2000 DB (.mdb). Application will be tested and used into an Intranet.
The application will work into an intranet (not reachable from the internet).
----- the Logic -----
Give us the chance to implement application logic: when a value is received (event-driven), I recommend that you utilize global variables within value/number received.
In the source code it is necessary to use a good level of commenting.
----- Costs and quality -----
- Performance is very, very important.
The application needs to be very lightweight and well written.
- Please, no ask me «what is your budget for this project?»
Bonuses provided at the end of the project for compliance with the timing and quality of the software.
- No upfront. No payment before successful completion of all tests.
- Source-code required (daily!) for my test. No compiled.
Unnecessary images, files, libraries, ... must be removed.
----- Source code and Log -----
The source code is required to have a good level of comments, to allow bug-fixing, code maintenance and possibly future evolution.
The syntax must have a linear form, similar to VB6 syntax.
The source code must be written clearly, without adopting complex structures that make interpretation and maintenance difficult (so, no "spaghetti code": poorly structured, complex, and difficult-to-understand). The team reading your source code isn't very knowledgeable about .Net, so any misunderstandings or complexities will increase the testing time.
For example, I don't want this.....
Dim result = customers.Where(Function(c) c.Orders.Any(Function(o) o.Total > 100)).Select(Function(c) c.Name).Distinct().OrderBy(Function(n) n).ToList()
.....but this.....
Dim result As List(Of String) = New List(Of String)
For Each customer As Customer In customers
For Each order As Order In customer.Orders
If order.Total > 100 Then
If Not result.Contains(customer.Name) Then
result.Add(customer.Name)
End If
Exit For
End If
Next
Next
result.Sort()
A robust LOG showing all phases is required for the test phase: start... started, reboot... rebooted, sent request... received answer, calculation start... calculation completed, ......
This must be stored in the database (for ease reading) and must be visible in the form.
If you prefer, you can store in a TXT file instead of Access DB... however, be mindful of performance!
----- Timing -----
--> When making your time proposal, remember that an average work day is 8 hours long... and in 8 continuous hours on the same project, a lot of things can be accomplished.
For this reason, proposals from programmers who do several activities in parallel will not be accepted: the quality of work and productivity could be low.
Start as soon as possible - daily update is requested (showing progress), to avoid time loss and misunderstandings about requirements.
The daily update includes sharing the sources and all the files needed to test what has been created (images, DB, accounts, external objects, ....)
Without daily update with project progress, project will be un-assigned, without exceptions.
This kind of software requires 3 or 4 months of maintenance.
We are "against" the use of AI whose main result is to "switch off" people's brains.
The creation of a new VB.NET application (v. 2019) from scratch is required.
No C#, no PHP, no Python, no Java, no third party controls, no compiled objects.
--> No placeholders: the requirements are very detailed to allow for accurate evaluation (date/time).
----- The goals -----
1) Stock exchange data display.
I'm looking for a VB.NET developer who can "call" the API and/or WebServices of a provider/broker to:
- Get real-time quotes (about 3, or more, per second) and draw a graph in the form
- Provide functions to buy and sell indexes/stocks
* read/write local INI file for account configuration
* create session and keep alive each 9 min
* read account preferences
* read budget available
* read portfolio (shares purchased)
* read the value of the shares
* allow Business Logic module, by providing all necessary data in global variables (the rules will be written by the end user's IT department and there will be more than one VB module)
* execute BUY
* execute SELL
2) management of two (or more) investment streams
- On the provider side, purchase requests come from a single user and are therefore queued in a unique portfolio.
- On the user side, funds come from different cost centres and therefore have different management rules (one for each Business Logic module)
The broker is Capital.com.
----- Layout -----
Application layout is easy: one form only (because must be stand alone), very light.
The important thing is that the information of these 4 indicators is displayed: ADX, MACD, RSI 14, Stoch RSI
Please see GRAPH.jpg in attachment.
It would be useful if the form displayed the chart of a stock (e.g. Microsoft Corporation, code MSFT) --> https://it.advfn.com/mercati/NASDAQ/MSFT/grafico/streaming
or an index (e.g. S&P 500, code SP500) --> https://it.advfn.com/mercati/SPI/SP500/grafico/streaming
reading data that changes.
I suggest the adoption of free objects for displaying the received quotes, such as
* https://dotnet.stockindicators.dev/
* https://github.com/DevExpress-Examples/winforms-chart-create-candlestick-chart/
* https://scottplot.net/cookbook/5.0/
----- Performance ----- (!!!!)
Performance is extremely important as data changes very quickly (at least 3 times per second) and a slow read or adopting objects that slow down the process... is a losing choice, which makes the application unusable.
--> Limit/avoid the use of multithreading.
----- Application tests -----
To carry out the development, (if necessary) the programmer will have to create his own accounts on providers, which will then be used by me for testing.
----- System and database -----
If a DB is needed, we need to use a "local database".
We prefer to use "MS Access" 97/2000 DB (.mdb). Application will be tested and used into an Intranet.
The application will work into an intranet (not reachable from the internet).
----- the Logic -----
Give us the chance to implement application logic: when a value is received (event-driven), I recommend that you utilize global variables within value/number received.
In the source code it is necessary to use a good level of commenting.
----- Costs and quality -----
- Performance is very, very important.
The application needs to be very lightweight and well written.
- Please, no ask me «what is your budget for this project?»
Bonuses provided at the end of the project for compliance with the timing and quality of the software.
- No upfront. No payment before successful completion of all tests.
- Source-code required (daily!) for my test. No compiled.
Unnecessary images, files, libraries, ... must be removed.
----- Source code and Log -----
The source code is required to have a good level of comments, to allow bug-fixing, code maintenance and possibly future evolution.
The syntax must have a linear form, similar to VB6 syntax.
The source code must be written clearly, without adopting complex structures that make interpretation and maintenance difficult (so, no "spaghetti code": poorly structured, complex, and difficult-to-understand). The team reading your source code isn't very knowledgeable about .Net, so any misunderstandings or complexities will increase the testing time.
For example, I don't want this.....
Dim result = customers.Where(Function(c) c.Orders.Any(Function(o) o.Total > 100)).Select(Function(c) c.Name).Distinct().OrderBy(Function(n) n).ToList()
.....but this.....
Dim result As List(Of String) = New List(Of String)
For Each customer As Customer In customers
For Each order As Order In customer.Orders
If order.Total > 100 Then
If Not result.Contains(customer.Name) Then
result.Add(customer.Name)
End If
Exit For
End If
Next
Next
result.Sort()
A robust LOG showing all phases is required for the test phase: start... started, reboot... rebooted, sent request... received answer, calculation start... calculation completed, ......
This must be stored in the database (for ease reading) and must be visible in the form.
If you prefer, you can store in a TXT file instead of Access DB... however, be mindful of performance!
----- Timing -----
--> When making your time proposal, remember that an average work day is 8 hours long... and in 8 continuous hours on the same project, a lot of things can be accomplished.
For this reason, proposals from programmers who do several activities in parallel will not be accepted: the quality of work and productivity could be low.
Start as soon as possible - daily update is requested (showing progress), to avoid time loss and misunderstandings about requirements.
The daily update includes sharing the sources and all the files needed to test what has been created (images, DB, accounts, external objects, ....)
Without daily update with project progress, project will be un-assigned, without exceptions.
This kind of software requires 3 or 4 months of maintenance.