Tick By Tick Algo for Option Chain with OI Buildup and Covering

Hi Everone,

I am building Open Souce Algo for

  1. Tick By tick options chain
  2. Excel/Google Sheets as a user interface.
  3. Including OI Buildup
  4. Open Source Project

I would love to hear your suggestions for features and ideas :bulb:

17 Likes

@Tradehull_Imran Sir we are very glad to hear that

1.Deployment of Python algorithmic strategies to servers (like AWS to automate the entire system).

  1. Project specific virtual environment creation with .bat file
  1. Although less important still I am mentioning that
    as you mentioned it is an open source project then we can maintain git version also.
  1. As you already created tutorial to find out uptrend or downtrend stocks. So we can highlight those stocks green/red background color (or we can create separate excel for bullish or bearish stocks).

6.In excel we can dynamically show available balance, margin, position, profit/loss, target, stoploss and trailing stop-loss.

  1. In excel Highlight ( or print only 6 highest open interest)
    3 Highest Call Open interest and 3 Highest Put Open interest
    along with their changes

**8. if possible then please include ask - bid price ( with their volume ) also for point number 7

  1. Please include commodity market also

Thanks in advance :smiling_face: :pray:t2: :smiling_face:

2 Likes

@Tradehull_Imran Sir for point no. 2
I have tried below code

@echo off
REM Set the environment variable to allow the Python launcher to use winget
set PYLAUNCHER_ALLOW_INSTALL=1

REM Set the PYTHONPATH environment variable
REM PYTHONPATH is used to specify additional directories where Python should look for modules and packages.
REM This path should be dynamic based on your Python installation location.
set PYTHONPATH=C:\Users\Subhajit Panja\AppData\Local\Programs\Python\Python38\Lib

REM Set the PATH environment variable
REM PATH is used to specify directories where executable programs are located.
REM This path should also be dynamic based on your Python installation location.
REM Multiple paths are included to ensure that both the main Python executable and the Scripts directory are accessible.
REM The %PATH% at the end ensures that the existing PATH environment variable is preserved and appended.
set PATH=C:\Users\Subhajit Panja\AppData\Local\Programs\Python\Python38;C:\Users\Subhajit Panja\AppData\Local\Programs\Python\Python38\Scripts;%PATH%

REM List all Python versions installed
py --list

REM Create the virtual environment with the specified Python version using the full path
"C:\Users\Subhajit Panja\AppData\Local\Programs\Python\Python310\python.exe" -m venv .venv

REM Check if the virtual environment was created successfully
if exist ".venv\Scripts\activate" (
    echo Virtual environment created successfully.

    REM Activate the virtual environment
    call .venv\Scripts\activate

    REM Check the Python version to confirm the correct environment is active
    python --version

    REM Upgrade pip
    python -m pip install --upgrade pip

    REM Install packages from requirements.txt
    if exist requirements.txt (
        pip install -r requirements.txt
    ) else (
        echo requirements.txt not found.
    )
) else (
    echo Failed to create virtual environment.
    echo Please ensure Python 3.8.0 is installed and accessible.
)

REM Explanation of the pause command:
REM The pause command is used to keep the Command Prompt window open after the batch file has finished executing.
REM This way, you can see the output and any messages displayed, rather than the window closing immediately.
REM When pause is encountered, it displays the message "Press any key to continue . . ." and waits for you to press a key before proceeding, ensuring you can review the script’s output.
pause

REM This script is specifically for Python 3.8.0
1 Like

@Subhajitpanja
Added +

1 Like

Good to hear that.

Can it be possible to place indicator over indicator example i want 20 EMA over OI indicator

1 Like

@Tradehull_Imran Can you create tsl.get_option_chain(symbol, exchange)
this function for getting all data of option chain

2 Likes

@Tradehull_Imran

I am glad to hear this , it will really helpful to us…right now I am using My own Opt. chain, which fetch data from NSE, which ofcourse has a leg. If I will able to build such OC by using Dhan API. where I can get the data much faster then NSE. It will be very helpful

I further hope that these screen shot will be helpful to you as well


1 Like

Really great work sir, if you could make one youtube video on this explaining how to built and use this efficiently will be very helpful to us…

Very detailed data analysis , nice color combination and aesthetic.

Hope dhan team @Tradehull_Imran may help you on this

2 Likes

sir please cash market data such as ltp, open, high, low and volume.

Interested.
When you start, please inform me through e-mail: sdshkk@gmail.com

Thanks
Syed Shakir Ali

Hello @Tradehull_Imran ,
How can I get Options OI data from Dhanhq?
Is there any function your Tradehull support library V2 which can be used to get OI data.

Thanks for your support

Hi @IMRANUL_HAQUE_NOOR

use this file : Dhan_Tradehull_V2.py - Google Drive

and below code

import pdb
from Dhan_Tradehull_V2 import Tradehull
import pandas as pd
from pprint import pprint
import talib
import warnings


# ---------------for dhan login ----------------
client_code = "client_code"
token_id    = "token_id"
tsl = Tradehull(client_code,token_id)




all_data_including_oi = tsl.get_quote_data(names = ['NIFTY DEC FUT'])


1 Like

Hi @IMRANUL_HAQUE_NOOR
Also do post all question on below link, it becomes easier for me to track questtions.

Thanks @Tradehull_Imran for an excellent work that you have done. Specially by providing your own Tradehull Support library, you have drastically simplified everything.
Really appreciate your work.

1 Like

Its giving error “tsl.place_order is not available in tradehull, Please rectify the error
tsl.place_order(
tradingsymbol=trade_info[“options_name”],
quantity=trade_info[“qty”],
order_type=“MARKET”,
price=index_ltp,
exchange=“NFO”
)
traded = “yes”
pprint(f"Trade placed: {trade_info}”)

Hi @Sdshkali_Ali

use below code
tsl.order_placement(ce_name,'NFO', lot_size, 0, 0, 'MARKET', 'BUY', 'MIS')

Show we can really backtest
option chain
Build up, unwinding, covering with chart

Request for point number 10

@Tradehull_Imran sir