from upstox_api.api import *
import schedule
import time
---------------------------
API credentials
---------------------------
API_KEY = ‘YOUR_API_KEY’
API_SECRET = ‘YOUR_API_SECRET’
REDIRECT_URI = ‘YOUR_REDIRECT_URI’
ACCESS_TOKEN = ‘YOUR_ACCESS_TOKEN’ # Access token generate karke yahan daalein
---------------------------
Initialize Upstox session
---------------------------
u = Upstox(API_KEY, API_SECRET)
u.set_access_token(ACCESS_TOKEN)
---------------------------
Define option contract
---------------------------
EXCHANGE = ‘NFO_OPT’ # NSE Options segment
SYMBOL = ‘BANKNIFTY’ # Example: BANKNIFTY, NIFTY
EXPIRY_DATE = ‘2026-02-15’ # Format: YYYY-MM-DD
STRIKE_PRICE = 52000 # Strike price
OPTION_TYPE = ‘CE’ # ‘CE’ for Call, ‘PE’ for Put
QUANTITY = 25 # Lot size
---------------------------
Trading logic
---------------------------
def trade_logic():
Example condition: Market order to buy if certain condition met
Replace this with your real strategy (SMA, EMA, price trigger etc.)
try:
print(“Placing order for”, SYMBOL, STRIKE_PRICE, OPTION_TYPE)
u.place_order(
TransactionType.Buy,
EXCHANGE,
f"{SYMBOL}{EXPIRY_DATE.replace(‘-’,‘’)}{STRIKE_PRICE}{OPTION_TYPE}",
QUANTITY,
OrderType.Market,
ProductType.Intraday
)
print(“Order placed successfully!”)
except Exception as e:
print(“Error placing order:”, e)
---------------------------
Schedule algo (example: run every 1 min)
---------------------------
schedule.every(1).minutes.do(trade_logic)
print(“Algo running… Press Ctrl+C to stop.”)
while True:
schedule.run_pending()
time.sleep(1)