I want to take future spot price and next expiry future price, what chang i do in this code

import datetime
import time
import pandas as pd
import requests

####################INPUT#####################
#TIME TO FIND THE STRIKE
entryHour = 9
entryMinute = 20
entrySecond = 0
startTime = datetime.time(entryHour, entryMinute, entrySecond)

stock=“NIFTY” # BANKNIFTY OR NIFTY OR FINNIFTY
otm = 200 #If you put -100, that means its 100 points ITM.
SL_point = 10
target_point = 20
SL_percentage = 5
target_percentage = 10
for_every_x_point = 1
trail_by_y_point = 1
PnL = 0
premium = 85
trade_based_on = “atm” #“premium” or “atm”
sl_based_on = “point” #“point” or “percent”
producttpye = “intraday_fno” #“intraday_eq”,“positional_eq”,“intraday_fno”,“positional_fno”
df = pd.DataFrame(columns=[‘Date’,‘CE_Entry_Price’,‘CE_Exit_Price’,‘PE_Entry_Price’,‘PE_Exit_Price’,‘PnL’])
df[“Date”] = [datetime.date.today()]
qty = 75
papertrading = 0 #If paper trading is 0, then paper trading will be done. If paper trading is 1, then live trade

#If you have any below brokers, then make it 1
shoonya_broker = 0
nuvama_broker = 0
icici_broker = 0
angel_broker = 0
alice_broker = 0
fyers_broker = 0
zerodha_broker = 0
upstox_broker = 0
iifl_broker = 0
dhan_broker = 1
groww_broker = 0

if dhan_broker == 1:
from dhanhq import dhanhq
import helper_dhan as helper
client_id = open(“dhan_client_id.txt”,‘r’).read()
access_token = open(“dhan_access_token.txt”,‘r’).read()
dhan = dhanhq(client_id,access_token)

if groww_broker == 1:
from growwapi import GrowwAPI
import helper_groww as helper
token = open(“groww_token.txt”,‘r’).read()
groww = GrowwAPI(token)

if nuvama_broker == 1:
import nuvama_login
import helper_nuvama as helper
api_connect = nuvama_login.api_connect

if icici_broker == 1:
import icici_login
import helper_icici as helper
breeze = icici_login.breeze

if angel_broker == 1:
import helper_angel as helper
helper.login_trading()
time.sleep(15)
helper.login_historical()

if alice_broker == 1:
import alice_login
import helper_alice as helper
alice = alice_login.alice

if fyers_broker == 1:
from fyers_apiv3 import fyersModel
import helper_fyers as helper
app_id = open(“fyers_client_id.txt”,‘r’).read()
access_token = open(“fyers_access_token.txt”,‘r’).read()
fyers = fyersModel.FyersModel(token=access_token,is_async=False,client_id=app_id)

if shoonya_broker == 1:
from NorenApi import NorenApi
import helper_shoonya as helper
api = NorenApi()
api.token_setter()

if zerodha_broker == 1:
from kiteconnect import KiteTicker
from kiteconnect import KiteConnect
import helper_zerodha as helper
apiKey = open(“zerodha_api_key.txt”,‘r’).read()
accessToken = open(“zerodha_access_token.txt”,‘r’).read()
kc = KiteConnect(api_key=apiKey)
kc.set_access_token(accessToken)

if upstox_broker == 1:
import helper_upstox as helper

if iifl_broker == 1:
from Connect import XTSConnect
import helper_iifl as helper
“”“Dealer credentials”“”
with open(‘iifl_api_key.txt’,‘r’) as f:
API_KEY = f.read()
with open(‘iifl_secret_key.txt’,‘r’) as f:
API_SECRET = f.read()
with open(‘user_id.txt’,‘r’) as f:
userID = f.read()
XTS_API_BASE_URL =
source = “WEBAPI”

"""Make XTSConnect object by passing your interactive API appKey, secretKey and source"""
xt = XTSConnect(API_KEY, API_SECRET, source)

"""Using the xt object we created call the interactive login Request"""
response = xt.interactive_login()
print("Login: ", response)

##################################################

def findStrikePriceATM():
name = helper.getIndexSpot(stock)

if stock == "NIFTY":
    intExpiry=helper.getNiftyExpiryDate()
else:
    intExpiry=helper.getStockExpiryDate()


######################################################
#FINDING ATM
ltp = helper.getQuotes(name)
print(ltp)

if stock == "BANKNIFTY":
    closest_Strike = int(round((ltp / 100),0) * 100)
    print(closest_Strike)

elif stock == "NIFTY" or stock == "FINNIFTY":
    closest_Strike = int(round((ltp / 50),0) * 50)  #  22104.05 / 50 = 442*50 = 22100
    print(closest_Strike)

print("closest",closest_Strike)
closest_Strike_CE = closest_Strike+otm
closest_Strike_PE = closest_Strike-otm

atmCE = helper.getOptionFormat(stock, intExpiry, closest_Strike_CE, "CE")
atmPE = helper.getOptionFormat(stock, intExpiry, closest_Strike_PE, "PE")

print(atmCE)
print(atmPE)

takeEntry(closest_Strike_CE, closest_Strike_PE, atmCE, atmPE)

def findStrikePricePremium():
name = helper.getIndexSpot(stock)

strikeList=[]
prev_diff = 10000
closest_Strike=10000

if stock == "NIFTY":
    intExpiry=helper.getNiftyExpiryDate()
else:
    intExpiry=helper.getStockExpiryDate()

######################################################
#FINDING ATM
ltp =  helper.getQuotes(name)

#premium = 85 CE
if stock == "BANKNIFTY":
    for i in range(-8, 8):
        strike = (int(ltp / 100) + i) * 100
        strikeList.append(strike)
    print(strikeList)
elif stock == "NIFTY" or stock == "FINNIFTY":
    for i in range(-5, 6):
        strike = (int(ltp / 100) + i) * 100   #221 - 4 = 21700
        strikeList.append(strike)
        strikeList.append(strike+50)
    print(strikeList)

#FOR CE
prev_diff = 10000
for strike in strikeList:
    ltp_option = findManualPrice(helper.getOptionFormat(stock,intExpiry,strike,"CE"))
    print(ltp_option)
    diff = abs(ltp_option - premium)
    print("diff==>", diff)
    if (diff < prev_diff):
        closest_Strike_CE = strike
        prev_diff = diff
    time.sleep(0.5)

#FOR PE
prev_diff = 10000
for strike in strikeList:
    ltp_option = findManualPrice(helper.getOptionFormat(stock,intExpiry,strike,"PE"))
    diff = abs(ltp_option - premium)
    print("diff==>", diff)
    if (diff < prev_diff):
        closest_Strike_PE = strike
        prev_diff = diff
    time.sleep(0.5)

print("closest CE",closest_Strike_CE)
print("closest PE",closest_Strike_PE)

atmCE = helper.getOptionFormat(stock, intExpiry, closest_Strike_CE, "CE")
atmPE = helper.getOptionFormat(stock, intExpiry, closest_Strike_PE, "PE")

print(atmCE)
print(atmPE)

takeEntry(closest_Strike_CE, closest_Strike_PE, atmCE, atmPE)

def takeEntry(closest_Strike_CE, closest_Strike_PE, atmCE, atmPE):
global PnL
ce_entry_price = findManualPrice(atmCE)
pe_entry_price = findManualPrice(atmPE)
PnL = -ce_entry_price - pe_entry_price
print("Current PnL is: ", PnL)
df[‘CE_Entry_Price’] = [ce_entry_price]
df[‘PE_Entry_Price’] = [pe_entry_price]

print(" closest_CE ATM ", closest_Strike_CE, " CE Entry Price = ", ce_entry_price)
print(" closest_PE ATM", closest_Strike_PE, " PE Entry Price = ", pe_entry_price)

if sl_based_on == "point":
    ceSL = round(ce_entry_price - SL_point, 1)
    peSL = round(pe_entry_price - SL_point, 1)
    ceTarget = round(ce_entry_price + target_point, 1)
    peTarget = round(pe_entry_price + target_point, 1)
else:
    ceSL = round(ce_entry_price * (1 - SL_percentage / 100), 1)
    peSL = round(pe_entry_price * (1 - SL_percentage / 100), 1)
    ceTarget = round(ce_entry_price * (1 + target_percentage / 100), 1)
    peTarget = round(pe_entry_price * (1 + target_percentage / 100), 1)

print("Placing Order CE Entry Price = ", ce_entry_price, "|  CE SL => ", ceSL, "| CE Target => ", ceTarget)
print("Placing Order PE Entry Price = ", pe_entry_price, "|  PE SL => ", peSL, "| PE Target => ", peTarget)

#SELL AT MARKET PRICE
oidentryCE = placeOrder1( atmCE, "BUY", qty, "MARKET", ce_entry_price, "regular",papertrading,producttpye)
oidentryPE = placeOrder1( atmPE, "BUY", qty, "MARKET", pe_entry_price, "regular",papertrading,producttpye)

print("The OID of Entry CE is: ", oidentryCE)
print("The OID of Entry PE is: ", oidentryPE)

exitPosition(atmCE, ceSL, ceTarget, ce_entry_price, atmPE, peSL, peTarget, pe_entry_price, qty)

def exitPosition(atmCE, ceSL, ceTarget, ce_entry_price, atmPE, peSL, peTarget, pe_entry_price, qty):
global PnL
traded = “No”
originalEntryCE = ce_entry_price
originalEntryPE = pe_entry_price
ce_exit_done = False
pe_exit_done = False
while traded == “No”:
dt = datetime.datetime.now()
try:
ltp = helper.getQuotes(atmCE)
ltp1 = helper.getQuotes(atmPE)

        print("CE LTP: ", ltp, " CE Exit: ", ce_exit_done, "PE LTP: ", ltp1, " PE Exit: ", pe_exit_done)

        #This is for call
        if ((ltp < ceSL) or (ltp > ceTarget) or (dt.hour >= 15 and dt.minute >= 10)) and ce_exit_done == False and ltp != -1:
            oidexitCE = placeOrder1( atmCE, "SELL", qty, "MARKET", ceSL, "regular",papertrading,producttpye)
            PnL = PnL + ltp
            print("Current PnL is: ", PnL)
            df["CE_Exit_Price"] = [ltp]
            print("The OID of Exit CE is: ", oidexitCE)
            ce_exit_done = True

        #THis is for put
        if ((ltp1 < peSL) or (ltp1 > peTarget) or (dt.hour >= 15 and dt.minute >= 10)) and pe_exit_done == False and ltp1 != -1:
            oidexitPE = placeOrder1( atmPE, "SELL", qty, "MARKET", peSL, "regular",papertrading,producttpye)
            PnL = PnL + ltp1
            print("Current PnL is: ", PnL)
            df["PE_Exit_Price"] = [ltp1]
            print("The OID of Exit PE is: ", oidexitPE)
            pe_exit_done = True

        #trail SL CE
        if ltp > originalEntryCE + for_every_x_point:
            originalEntryCE = originalEntryCE + for_every_x_point
            ceSL = ceSL + trail_by_y_point

        #trail SL PE
        if ltp1 > originalEntryPE + for_every_x_point:
            originalEntryPE = originalEntryPE + for_every_x_point
            peSL = peSL + trail_by_y_point

        #Exit this function
        if ce_exit_done == True and pe_exit_done == True:
            print("Both Exits are done")
            break

        time.sleep(5)

    except:
        print(" ")
        time.sleep(1)

def placeOrder1(inst ,t_type,qty,order_type,price,variety, papertrading=0, producttype=“intraday_eq”):
#t_type = “BUY”, “SELL”
#order_type = “MARKET”, “LIMIT”
#variety = “regular”, “amo”,
#producttype = “intraday_eq”,“positional_eq”,“intraday_fno”,“positional_fno”
global api_connect
global breeze
global fyers
global api
global kc
global alice
global xt
global dhan
global groww
if papertrading == 0:
return 0
elif (nuvama_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety, api_connect,papertrading,producttype)
elif (icici_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety, breeze,papertrading,producttype)
elif (alice_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety, alice,papertrading,producttype)
elif (fyers_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,fyers, papertrading,producttype)
elif (shoonya_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,api, papertrading,producttype)
elif (zerodha_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,kc, papertrading,producttype)
elif (iifl_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,xt, papertrading,producttype)
elif (dhan_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,dhan, papertrading,producttype)
elif (groww_broker == 1):
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety,groww, papertrading,producttype)
else:
return helper.placeOrder (inst ,t_type,qty,order_type,price,variety, papertrading,producttype)

def findManualPrice(symbol):
global api_connect
global breeze
global fyers
global api
global kc
global alice
global xt
global dhan
global groww
if (zerodha_broker == 1):
return helper.manualLTP(symbol,kc)
elif (shoonya_broker == 1):
return helper.manualLTP(symbol,api)
elif (icici_broker == 1):
return helper.manualLTP(symbol,breeze)
elif (fyers_broker == 1):
return helper.manualLTP(symbol,fyers)
elif (alice_broker == 1):
return helper.manualLTP(symbol,alice)
elif (angel_broker == 1):
return helper.manualLTP(symbol)
elif (nuvama_broker == 1):
return helper.getLTP(symbol)
elif (iifl_broker == 1):
return helper.manualLTP(symbol,xt)
elif (dhan_broker == 1):
return helper.manualLTP(symbol,dhan)
elif (groww_broker == 1):
return helper.manualLTP(symbol,groww)
else:
return helper.manualLTP(symbol)

def checkTime_tofindStrike():
x = 1
while x == 1:
dt = datetime.datetime.now()
#if( dt.hour >= entryHour and dt.minute >= entryMinute and dt.second >= entrySecond ):
if (dt.time() >= startTime):
print(“time reached”)
x = 2
if trade_based_on == “premium”:
findStrikePricePremium()
else:
findStrikePriceATM()
else:
time.sleep(1)
print(dt , " Waiting for Time to check new ATM ")

checkTime_tofindStrike()
df[“PnL”] = [PnL]

df.to_csv(‘template_options.csv’,mode=‘a’,index=True,header=True)