Swing Trade Automation via FYERS API

Job ID: 38532428

Budget: ₹600 – ₹3,000 INR

I'm seeking a Python developer with experience in automated trading systems, specifically for swing trading on the NSE. The system should interface with the FYERS API on my MacBook to place orders based on percentage targets relative to previous buy/sell transactions.

Key Requirements:
- Automate swing trades in the NSE using FYERS API
- Monitor price movements and place orders when set percentage targets are achieved
- Integrate real-time notifications for trade updates
- Incorporate performance analytics to assess trading success
- Embed risk management tools to mitigate potential losses

Ideal Skills:
- Proficient in Python, with experience in developing trading algorithms
- Familiar with swing trading strategies
- Knowledgeable about the NSE
- Prior experience with FYERS API is a plus
- Capable of implementing robust risk management systems

Data to be provided:
1. Excel/ Numbers sheet with following details: (A-M.... are column headers)
A Serial No
B i) Share name
C ii) NSE Code
D iii) BSE Code
E iv) Entry Price
F v) Averaging percentage/ % reduction in market price from my last transaction price (MLTP) at which more quantities to be bought
G vi) Buy more (per transaction) upper value limit in INR
H vii) Buy more (per transaction) quantity limit.
I viii) Sell Target percentage/ % increase in market price from last MLTP at which some quantities to be sold.
J ix) Sell some (per transaction) upper value limit in INR
K x) Sell some (per transaction) quantity limit.
L xi) Upper limit of total investment in a single share.
M xii) Tolerance of market price for order placing %

2. Login credentials key in separate file.

3. Blank Excel to store data of holdings locally and trades executed by code.
A Serial No
B i) Share name
C ii) NSE Code
D iii) BSE Code
E iv) MLTP - Price at which last buy/ sell order got successfully executed.
F v) Average Price of all quantities.
G vi) Total amount currently invested by code
H vii) Total amount invested in share fetched from API (through code + manually).
I viii) Total quantity held through code
J ix) Total quantity held, fetched using API.

Also there should be an option for me to forcefully change/ overwrite MLTP.

B. Procedure/ Code conditions

All orders to be placed are Limit CNC/ Normal/ Delivery orders. Order to be placed if the market price is within 0.5% of limit price at which order to be placed. If any order placed today is pending - don’t place copy order again.
Status of Limit order placed should be checked to correctly update the database.
All order limit price to be rounded off to 10 paise. (Single decimal in INR).

B1. Check holding/ portfolio for each item in list. If not in holding, make entry at price lower than entry price by placing limit order.

B2. If share is present in holding. Either store MLTP in code- database or fetch using API. Compare market price (fetched using API) with MLTP. If market price has reached target for averaging or selling then place order as per parameters of excel sheet.

For example entry price is 3000, Averaging % is 3%; Sell target % is 4% and tolerance for order placing is 0.5%.
A= 1
B= Reliance Industries
C= RELIANCE
D= 500325
E= 3000
F= 3
G= 7000
H= 3
I= 4
J= 7000
K= 3
L= 50000
M= 0.5

Suppose Reliance is not in holdings
Order #001 will be placed when market price within 0.5% (M) of 3000 (E) = 2985 to 3015. Upper limit of value 7000 will give quantity 2. Store in local database Reliance quantity held = 2

Order#002 If price moves down and reaches 2910 or below, then a buy order should be placed at limit price of 2910. If order is successfully executed at 2910, then MLTP to be updated accordingly and local holding database of code.

Order #003 Now 3% below 2910 is 2822.7. Suppose price further goes down to 2822 or lower, then place another buy order at limit price of 2822.7 for permissible quantity and value as specified in excel (quantity 2 here). And update local database with MLTP=2822.7 and shares held increase by 2 (total 2) if order is successfully executed.

Order #004 Suppose now market price goes up and reaches 4% above MLTP of 2822.7 = 2935.6 or greater then place, Sell limit order at 2935.6 for 2 quantities (permissible quantity for max value 7000 and max quantity 3 is 2 quantity, for quantity calculation use order limit price). If order is successful, accordingly update local database MLTP to 2935.6 and quantity decrease by 2.

Note:
Code written should be well structured and commented.
There should be an option in code to choose after what frequency the whole code repeats itself.

System details:
Macbook
Coding in Python
FYERS API (Broker)

List of files-
Personal details & Key
Excel Share list with details
Code file
Code database
Any other file required.

I should be able to edit and update existing excel file as per my need.

Also help me to setup, host and test the code.