Hi @Tradehull_Imran ,
Thank you for the inputs. I will make the changes.
Hi @Tradehull_Imran ,
Thank you for the inputs. I will make the changes.
for some reason only SENSEX orders gets executed on my PC, Nifty orders gets rejection…
error:
'Got exception in place_order as {‘status’: ‘failure’, ‘remarks’: {‘error_code’: ‘DH-905’, ‘error_type’: ‘Input_Exception’, ‘error_message’: ‘Missing required fields, bad values for parameters etc.’}, ‘data’: {‘errorType’: ‘Input_Exception’, ‘errorCode’: ‘DH-905’, ‘errorMessage’: ‘Missing required fields, bad values for parameters etc.’}}
We have upgraded the codebase, this is a old ltp method that you are using
use latest codebase: https://www.youtube.com/watch?v=HLiEpNZSD80&list=PLifIWB1V-ILPfC9OqzAPtAFhhj8e5jAms&index=6
Hi @Qaisar
Do send the code you are using , mostly some value is wrong when NIFTY order is being tried.
file sent to tradehull_mentorship@tradehull.com
Thanks in advance…
Hi @Qaisar
in the new codebase, for atm/itm/otm functions expiry work as below
Expiry (int): The expiry to select.
Also the lot size for Nifty has been increased to 75, for SENSEX its same as of now
thats why SENSEX orders were going and NIFTY orders were not going
use below code
from dhanhq import dhanhq
import pdb
import time
import datetime
import traceback
from Dhan_Tradehull_V2 import Tradehull
import pandas as pd
from pprint import pprint
import talib
import Function_Find_OTM_delta_based_to_test as abc
# import request
# -------------------------------------------------------------------------------------------
# log in to Dhan
# -------------------------------------------------------------------------------------------
client_code =
token_id =
tsl = Tradehull(client_code,token_id)
current_date_time = datetime.datetime.now()
# current_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # datetime.datetime.now().time() #
available_balance = tsl.get_balance()
max_risk_for_the_day = ((available_balance*2)/100*-1) # 2% Risk
max_target_for_the_day = (available_balance*6)/100 # 6% Profit
leveraged_margin = available_balance*4
max_trades = 3
per_trade_margin = (leveraged_margin/max_trades)
# -------------------------------------------------------------------------------------------
# -------------------------------------------------------------------------------------------
# get user input
# -------------------------------------------------------------------------------------------
index = ['NIFTY']
exchange = 'NFO'
expiry = 0
lot_size = 75
# index = ['SENSEX']
# exchange = 'BFO'
# expiry = '27-12-2024'
# lot_size = 10
how_many_lots = 1
trade_qty = (lot_size * how_many_lots)
OTM_delta = 0.2
far_OTM_delta = 0.1
ATM_price_difference_limit = 10
OTM_price_difference_limit = 20
far_OTM_price_difference_limit = 40
ATM_initial_entry = 'no'
far_OTM_initial_entry = 'no'
hedge_buy = 'no'
reentry = 'yes'
reentry_attempt = 0
max_reentry_attempt = 3 # it will be total entrys = initial entry + max reentry attemp
# -------------------------------------------------------------------------------------------
# # for NIFTY
# entry_orderid = tsl.order_placement(tradingsymbol='NIFTY 02 JAN 24900 CALL' , exchange='NFO', quantity=50, price=0, trigger_price=0, order_type='MARKET', transaction_type='BUY', trade_type='MIS')
# # for SENSEX
# entry_orderid = tsl.order_placement(tradingsymbol='SENSEX 27 DEC 78800 CALL' ,exchange='BFO', quantity=10, price=0, trigger_price=0, order_type='MARKET', transaction_type='BUY', trade_type='MIS')
# -------------------------------------------------------------------------------------------
# main program
# -------------------------------------------------------------------------------------------
while True:
time.sleep(0.1)
live_pnl = round(tsl.get_live_pnl())
current_time = datetime.datetime.now().time()
if current_time < datetime.time(9, 30):
print("Wait for market to start", current_time)
continue
if (current_time > datetime.time(15, 15)) or (live_pnl < max_risk_for_the_day) or (live_pnl > max_target_for_the_day):
print("The Market is closed, BYE BYE", current_time)
exit_all = tsl.cancel_all_orders()
# kill_switch = tsl.kill_switch("ON")
break
for index_name in index:
# MAKE INITIAL ENTRY
if ATM_initial_entry == 'no':
# ltp_data = tsl.get_ltp_data(index_name)
# entry_orderid_far_OTM_CE = tsl.order_placement('SENSEX 27 DEC 77100 PUT', exchange, trade_qty, 0, 0, 'MARKET', 'BUY', 'MIS')
# entry_orderid = tsl.order_placement(tradingsymbol='SENSEX 27 DEC 79000 CALL' ,exchange='BFO', quantity=10, price=0, trigger_price=0, order_type='MARKET', transaction_type='BUY', trade_type='MIS')
# ce_strike, pe_strike, ce_OTM_price, pe_OTM_price = tsl.OTM_Strike_Selection(Underlying=index_name, Expiry=expiry, OTM_count=1)
# pdb.set_trace()
if hedge_buy == 'no':
far_OTM_CE_name, far_OTM_CE_strike = abc.find_otm_strikes(index_name, expiry, 'CE', far_OTM_delta)
far_OTM_PE_name, far_OTM_PE_strike = abc.find_otm_strikes(index_name, expiry, 'PE', far_OTM_delta)
I have checked on this, but I think we cannot fetch margin for basket orders.
Raising this as a feature request. Adding @Hardik for same.
Thanks
'Got exception in place_order as {‘status’: ‘failure’, ‘remarks’: {‘error_code’: ‘DH-905’, ‘error_type’: ‘Input_Exception’, ‘error_message’: ‘Missing required fields, bad values for parameters etc.’}, ‘data’: {‘errorType’: ‘Input_Exception’, ‘errorCode’: ‘DH-905’, ‘errorMessage’: ‘Missing required fields, bad values for parameters etc.’}}
Order not being placed. Kindly help.
send the code you are using,
also if NIFTY orders are failing that may be because the lot size has been changed.
@Tradehull_Imran bro i got solution for this , and need to add path variables manually
Sir code is:
tsl = Tradehull(client_code, token_id)
qty, max_trades, live_pnl = 1, 5, tsl.get_live_pnl()
max_loss = tsl.get_balance() * 0.10
traded_watchlist, watchlist = , [‘SENSEX’]
while True:
current_time = datetime.datetime.now().time()
if current_time < datetime.time(9, 15):
print(“\nMarket_OPENS_0900:”, current_time)
time.sleep(60)
continue
if current_time > datetime.time(23, 55):
order_details = tsl.cancel_all_orders()
print(“\nMarket_CLOSES_2355:”, current_time)
break
# if live_pnl < max_loss:
# order_details = tsl.cancel_all_orders()
# print(“Positions_SQUIREDOFF:”, current_time)
# break
print(“\nALGO_started :”, current_time)
for stock_name in watchlist:
time.sleep(0.2)
call_itm, put_itm, call_itm_strike, put_itm_strike = tsl.ITM_Strike_Selection (Underlying='SENSEX', Expiry=0, ITM_count=2)
call_chart = tsl.get_historical_data(call_itm, 'BFO', '1')
call_chart['ma_50'] = talib.WMA(call_chart['close'], timeperiod=50)
call_chart['ma_20'] = talib.WMA(call_chart['close'], timeperiod=20)
call_cc = call_chart.iloc[-2]
call_ma_50, call_ma_20, call_price = round(call_cc['ma_50'],1), round(call_cc['ma_20'],1), round(call_cc['close'],1)
put_chart = tsl.get_historical_data(put_itm, 'BFO', '1')
put_chart['ma_50'] = talib.WMA(put_chart['close'], timeperiod=50)
put_chart['ma_20'] = talib.WMA(put_chart['close'], timeperiod=20)
put_cc = put_chart.iloc[-2]
put_ma_50, put_ma_20, put_price = round(put_cc['ma_50'],1), round(put_cc['ma_20'],1), round(put_cc['close'],1)
call_uptrend = call_price > call_ma_50 # and call_ma_50 > call_ma_20 and ((call_ma_50 - call_ma_20)/call_ma_20) < 0.1
put_uptrend = put_price > put_ma_50 # and put_ma_50 > put_ma_20 and ((put_ma_50 - put_ma_20)/put_ma_20) < 0.1
no_repeat_order = stock_name not in traded_watchlist
max_order_limit = len(traded_watchlist) < max_trades
print(
f"ITM2_option : {call_itm} | {put_itm}\n"
f"ITM2_ma_50 : {call_ma_50} | {put_ma_50}\n"
f"ITM2_ma_20 : {call_ma_20} | {put_ma_20}\n"
f"ITM2_price : {call_price} | {put_price}\n"
f"ITM2_uptrend : {call_uptrend} | {put_uptrend}\n")
if call_uptrend and no_repeat_order and max_order_limit:
call_buy_orderid = tsl.order_placement(tradingsymbol=call_itm, exchange='BFO', quantity=qty, price=call_price, trigger_price=0, order_type='MARKET', transaction_type='BUY', trade_type='MIS')
if call_buy_orderid:
call_buy_price = tsl.get_executed_price(orderid=call_buy_orderid)
call_loss_price, call_profit_price = round((call_buy_price * 0.93), 1), round((call_buy_price * 1.17), 1)
tsl.order_placement(tradingsymbol=call_itm, exchange='BFO', quantity=qty, price=call_loss_price, trigger_price=0, order_type='MARKET', transaction_type='SELL', trade_type='MIS')
tsl.order_placement(tradingsymbol=call_itm, exchange='BFO', quantity=qty, price=call_profit_price, trigger_price=0, order_type='MARKET', transaction_type='SELL', trade_type='MIS')
traded_watchlist.append(stock_name)
if put_uptrend and no_repeat_order and max_order_limit:
put_buy_orderid = tsl.order_placement(tradingsymbol=put_itm, exchange='BFO', quantity=qty, price=put_price, trigger_price=0, order_type='MARKET', transaction_type='BUY', trade_type='MIS')
if put_buy_orderid:
put_buy_price = tsl.get_executed_price(orderid=put_buy_orderid)
put_loss_price, put_profit_price = round((put_buy_price * 0.93), 1), round((put_buy_price * 1.17), 1)
tsl.order_placement(tradingsymbol=put_itm, exchange='BFO', quantity=qty, price=put_loss_price, trigger_price=0, order_type='MARKET', transaction_type='SELL', trade_type='MIS')
tsl.order_placement(tradingsymbol=put_itm, exchange='BFO', quantity=qty, price=put_profit_price, trigger_price=0, order_type='MARKET', transaction_type='SELL', trade_type='MIS')
traded_watchlist.append(stock_name)
you have mentioned qty = 1, if you want buy stock options you must first find out stock’s lot size, and put that quantity in the order
like RELIANCE has lot of 500 qty
HDFCBANK has lot of 550 qty
TCS has lot of 175 qty
use this code to get lot size:
lot_size = tsl.get_lot_size(call_itm)
Thanks Sir,
I will update sensex option qty=10 and re-run it.
margin_available = tsl.get_balance()
leverage_margin = margin_available*5
max_trade_allowed= 5
max_trade_allowed_per_trade = leverage_margin/max_trade_allowed
call_list = [ 'GREAVESCOT', 'PTCIL', 'AKUMS', 'CAPLIPOINT', 'SHARDAMOTR', 'AJANTPHARM', 'GRSE', 'AVALON', 'FINPIPE', 'USHAMART', 'AARTIPHARM', 'DEVYANI', 'PRINCEPIPE', 'IXIGO', 'SPANDANA', 'TARC', 'BANCOINDIA', 'COCHINSHIP', 'DCXINDIA', 'HIKAL', 'GODIGIT', 'CONFIPET', 'JSWINFRA', 'CAMPUS', 'ASHOKA', 'TVSSCS', 'JYOTHYLAB', 'JSFB', 'CEATLTD', 'MANINFRA', 'ESCORTS', 'SAPPHIRE', 'CANFINHOME', 'ETHOSLTD', 'WABAG', 'METROBRAND', 'GLENMARK', 'KARURVYSYA', 'OFSS', 'THOMASCOOK', 'PGEL', 'LAURUSLABS', 'SWANENERGY', 'LATENTVIEW', 'SKFINDIA', 'IPCALAB', 'LANDMARK', 'ECLERX', 'DRREDDY', 'INDIASHLTR', 'ABBOTINDIA', 'CHOICEIN', 'JYOTICNC', 'HATHWAY', 'SANSERA', 'RKFORGE', 'DEN', 'POLYPLEX', 'INDIAGLYCO', 'INFIBEAM', 'INDUSINDBK', 'BATAINDIA', 'AFFLE', 'SYMPHONY', 'POWERINDIA', 'AWL', 'PARAS', 'SBFC', 'M&M', 'LUPIN', 'HEIDELBERG', 'ABSLAMC', 'RATEGAIN', 'CGCL', 'VMART', 'IDEAFORGE', 'JTEKTINDIA', 'EDELWEISS', 'HOMEFIRST', 'ALKEM', 'GRINFRA', 'NATCOPHARM', 'UTIAMC', 'MASTEK', 'INDGN', 'POLYMED', 'JLHL', 'BIOCON', 'IONEXCHANG', 'METROPOLIS', 'TRITURBINE', 'TATAMOTORS', 'POWERMECH', 'ORCHPHARMA', 'KRBL', 'EPIGRAL', 'KTKBANK', 'VINATIORGA', 'RHIM', 'BLS', 'GESHIP', 'LLOYDSENGG', 'KOLTEPATIL', 'ZENSARTECH', 'DMART', 'AIAENG', 'ZYDUSLIFE', 'VOLTAMP', 'JMFINANCIL', 'HERITGFOOD', 'NEULANDLAB', 'MARKSANS', 'NETWORK18', 'FIVESTAR', 'NAVA', 'AEGISLOG', 'SBCL', 'SUNDRMFAST', 'BBL', 'EICHERMOT', 'SURYAROSNI', 'NETWEB', 'FACT', 'SIGNATURE', 'CARBORUNIV', 'SUVENPHAR', 'LICHSGFIN', 'PARADEEP', 'HSCL', 'WIPRO', 'SYRMA', 'ADANIENSOL', 'SUPRIYA', 'EIDPARRY', 'GICRE', 'CLEAN', 'JKIL', 'CAMS', 'EMUDHRA', 'CHEMPLASTS', 'BALKRISIND', 'KSCL', 'KPIL', 'SHYAMMETL', 'MTARTECH', 'MAHLOG', 'BAJAJFINSV', 'SUNPHARMA', 'BAJFINANCE', 'MANYAVAR', 'VIPIND', 'TEGA', 'IDFCFIRSTB', 'GODREJAGRO', 'CIEINDIA', 'APLAPOLLO', 'JISLJALEQS', 'WOCKPHARMA', 'FORTIS', 'FSL', 'INDIAMART', 'SONACOMS', 'FIEMIND', 'PAYTM', 'NAZARA', 'NBCC', 'AUROPHARMA', 'DOMS', 'KAJARIACER', 'RRKABEL', 'ATGL', 'CIPLA', 'PATANJALI', 'BEPL', 'PEL', 'DATAPATTNS', 'CHALET', 'TRIVENI', 'LLOYDSME', 'FUSION', 'MEDPLUS', 'GREENPLY', 'ASTERDM', 'ANANTRAJ', 'SEQUENT', 'GLAXO', 'TTML', 'WELCORP', 'GULFOILLUB', 'BEML', 'PRUDENT', 'BLUESTARCO', 'JINDALSAW', 'GRAPHITE', 'SANDUMA', 'PCBL', 'KIRLPNU', 'ASTRAMICRO', 'ARE&M', 'STARCEMENT', 'TRENT', 'FCL', 'EPL', 'CONCOR', 'LTF', 'FLUOROCHEM', 'BSOFT', 'NRBBEARING', 'BAJAJ-AUTO', 'AHLUCONT', 'UBL', 'ENGINERSIN', 'SENCO', 'BDL', 'ADANIENT', 'TBOTEK', 'JKTYRE', 'APLLTD', 'ICICIBANK', 'CHOLAFIN', 'JINDWORLD', 'SCHAEFFLER', 'VARROC', 'SUPRAJIT', 'INDIANB', 'LMW', 'NESTLEIND', 'JUBLPHARMA', 'ASKAUTOLTD', 'CROMPTON', 'MMTC', 'IIFL', 'CHOLAHLDNG', 'SSWL', 'KIRLOSENG', 'ESAFSFB', 'POLICYBZR', 'UNITDSPR', 'ACI', 'ZFCVINDIA', 'NOCIL', 'KPITTECH', 'AUBANK', 'TATACONSUM', 'TIRUMALCHM', 'ROSSARI', 'HBLENGINE', 'DCMSHRIRAM', 'MIDHANI', 'UJJIVANSFB', 'LTFOODS', 'ENDURANCE', 'SPARC', 'SHILPAMED', 'TECHM', 'MSUMI', 'PAISALO', 'JUBLFOOD', 'SYNGENE', 'ITC', 'HDFCBANK', 'MARUTI', 'VEEDOL', 'ARVINDFASN', 'VENKEYS', 'HGINFRA', 'MAHLIFE', 'HEG', 'BAJAJHLDNG', 'M&MFIN', 'HINDZINC', 'INFY', 'GPPL', 'ASIANPAINT', 'DATAMATICS', 'CMSINFO', 'CREDITACC', 'INGERRAND', 'HINDUNILVR', 'DREAMFOLKS', 'DYNAMATECH', 'RATNAMANI', 'BBTC', 'LTTS', 'ROUTE', 'KSB', 'ELECTCAST', 'RTNINDIA', 'HINDWAREAP', 'KIMS', 'GMDCLTD', 'KOTAKBANK', 'RITES', 'IPL', 'RELIANCE', 'BIKAJI', 'BECTORFOOD', 'GRAVITA', 'GABRIEL', 'SAREGAMA', 'TEXRAIL', 'DEEPAKNTR', 'MOTHERSON', 'JKPAPER', 'BHARTIARTL', 'NTPC', 'RALLIS', 'KIRLOSBROS', 'ISEC', 'EVEREADY', 'STAR', 'EMAMILTD', 'DABUR', 'COLPAL', 'HAL', 'BORORENEW', 'MARICO', 'BERGEPAINT', 'RADICO', 'GRASIM', 'VTL', 'UPL', 'COROMANDEL', 'NESCO', 'NUVOCO', 'GLS', 'GMMPFAUDLR', 'ASHOKLEY', 'CGPOWER', 'AZAD', 'DCAL', 'IMAGICAA', 'HARSHA', 'ELECON', 'VENUSPIPES', 'BHARTIHEXA', 'WELENT', 'BRITANNIA', 'BAJAJCON', 'VBL', 'PVRINOX', 'TEAMLEASE', 'ICIL', 'YESBANK', 'POLYCAB', 'MAITHANALL', 'AXISBANK', 'BAJAJELEC', 'ITDCEM', 'JSL', 'AMIORG', 'REDTAPE', 'JCHAC', 'CESC', 'NIACL', 'DODLA', 'CRISIL', 'MRF', 'ACE', 'SCI', 'MAPMYINDIA', 'JBCHEPHARM', 'KEI', 'IEX', 'ORISSAMINE', 'KANSAINER', 'PRAJIND', 'SANGHIIND', 'LXCHEM', 'SUDARSCHEM', 'GANESHHOUC', 'IFCI', 'SOBHA', 'WESTLIFE', 'SHRIPISTON', 'CHENNPETRO', 'GHCL', 'ENTERO', 'ABREL', 'QUESS', 'IMFA', 'KAYNES', 'JKLAKSHMI', 'ANANDRATHI', 'BHARATFORG', 'LEMONTREE', 'TIPSMUSIC', 'PERSISTENT', 'CIGNITITEC', 'BAJAJHIND', 'DHANUKA', 'TANLA', 'KNRCON', 'INOXINDIA', 'JSWSTEEL', 'GMRAIRPORT', 'SAFARI', 'AMBUJACEM', 'FINCABLES', 'TATATECH', 'MUTHOOTFIN', 'OBEROIRLTY', 'EXIDEIND', 'HCG', 'IGL', 'APTUS', 'RAINBOW', 'NEOGEN', 'DIVISLAB', 'JIOFIN', 'TEJASNET', 'MSTCLTD', 'JPPOWER', 'MINDACORP', 'CYIENTDLM', 'SFL', 'RBA', 'AAVAS', 'TRIDENT', 'BOSCHLTD', 'SOUTHBANK', 'MCX', 'IRCTC', 'TECHNOE', 'BALAMINES', 'IDBI', 'GUJALKALI', 'NUVAMA', 'SUPREMEIND', 'SRF', 'NLCINDIA', 'DCBBANK', 'SUNDARMFIN', 'MOIL', 'APOLLOHOSP', 'LALPATHLAB', 'PIIND', 'TIMETECHNO', 'AADHARHFC', 'HAPPSTMNDS', 'PARKHOTELS', 'MUTHOOTMF', 'IRCON', 'AARTIIND', 'BRIGADE', 'CERA', 'BOMDYEING', 'DALBHARAT', 'ORIENTCEM', 'SUNTV', 'GODREJCP', 'ADANIPOWER', 'PRESTIGE', 'BANKINDIA', 'LODHA', 'TORNTPHARM', 'TCIEXP', 'DIXON', 'BIRLACORPN', 'BALMLAWRIE', 'HDFCAMC', 'CCL', 'JUBLINGREA', 'DELHIVERY', 'ERIS', 'WONDERLA', 'EMCURE', 'SHRIRAMFIN', 'SAMMAANCAP', 'PATELENG', 'PTC', 'CRAFTSMAN', 'POWERGRID', 'MRPL', 'CHAMBLFERT', 'ABFRL', 'TCS', 'MHRIL', 'LUXIND', 'SAMHI', 'MANAPPURAM', 'ARVIND', '360ONE', 'ISGEC', 'INDIACEM', 'HNDFDS', 'POONAWALLA', 'ZEEL', 'SUNTECK', 'CENTURYPLY', 'BASF', 'SULA', 'BANDHANBNK', 'SBICARD', 'JAIBALAJI', 'CYIENT', 'ULTRACEMCO', 'GPIL', 'TATAELXSI', 'WELSPUNLIV', 'RAILTEL', 'HUDCO', 'STYLAMIND', 'FINEORG', 'ANURAS', 'TITAN', 'SANOFI', 'MGL', 'PAGEIND', 'GILLETTE', 'MAHABANK', 'KESORAMIND', 'DHANI', 'CARTRADE', 'SOLARINDS', 'PNB', 'FORCEMOT', 'VGUARD', 'FEDERALBNK', 'IOB', 'INOXGREEN', 'EIHOTEL', 'CANBK', 'GOPAL', 'ASTRAZEN', 'VOLTAS', 'FDC', 'GRINDWELL', 'JUSTDIAL', 'BALRAMCHIN', 'PIDILITIND', 'ASAHIINDIA', 'SANGHVIMOV', 'BAYERCROP', 'WHIRLPOOL', 'JUNIPER', 'GLAND', 'CUB', 'HCLTECH', 'ANGELONE', 'LT', 'MPHASIS', 'DELTACORP', 'AETHER', 'RCF', 'NAUKRI', 'LICI', 'GODREJIND', 'GOKEX', 'BOROLTD', 'IRFC', 'RVNL', 'EQUITASBNK', 'LINDEINDIA', 'NYKAA', 'MOTILALOFS', 'SBILIFE', 'HCC', 'RENUKA', 'NFL', 'GNFC', 'PNBHOUSING', 'ABCAPITAL', 'JAICORPLTD', 'JKCEMENT', 'CASTROLIND', 'OIL', 'PNCINFRA', 'TVSMOTOR', 'ZOMATO', 'AARTIDRUGS', 'BLUEJET', 'DLF', 'GATEWAY', 'ATUL', 'EMBDL', 'COFORGE', 'KALYANKJIL', 'BPCL', 'RAIN', 'APARINDS', 'RAMKY', 'UCOBANK', 'SCHNEIDER', 'INDUSTOWER', 'NAVINFLUOR', 'DBREALTY', 'VSTIND', 'ZYDUSWELL', 'HEROMOTOCO', 'BANKBARODA', 'RAMCOCEM', 'GODREJPROP', 'RAYMOND', 'ROLEXRINGS', 'WSTCSTPAPR', 'INDHOTEL', 'RAJESHEXPO', 'RBLBANK', 'ASTRAL', 'HAPPYFORGE', 'CELLO', 'HDFCLIFE', 'PPLPHARMA', 'ADANIPORTS', 'IDEA', 'INDIGOPNTS', 'JWL', 'UNOMINDA', 'ALOKINDS', 'TATASTEEL', 'GOCOLORS', 'UNIONBANK', 'PETRONET', 'BEL', 'ADVENZYMES', 'CSBBANK', 'ACC', 'SHREECEM', 'JSWENERGY', 'IOC', 'APOLLOTYRE', 'SUBROS', 'MFSL', 'INDIGO', 'IRB', 'TIINDIA', 'NH', 'ADANIGREEN', 'STLTECH', 'GRANULES', 'GSFC', 'ALKYLAMINE', 'OLECTRA', 'TATACHEM', 'TATAPOWER', 'UTKARSHBNK', 'IREDA', 'TORNTPOWER', 'RELINFRA', 'JAMNAAUTO', 'J&KBANK', 'NAM-INDIA', 'LTIM', 'ONGC', 'CONCORDBIO', 'PFIZER', 'TATACOMM', 'SJVN', 'CENTRALBK', 'ABB', 'GREENPANEL', 'GUJGASLTD', 'HONASA', 'COALINDIA', 'SBIN', 'SWSOLAR', 'SUMICHEM', 'OPTIEMUS', 'HFCL', 'HINDOILEXP', 'RESPONIND', 'CDSL', 'TATAINVEST', '3MINDIA', 'MAHSEAMLES', 'HAVELLS', 'NATIONALUM', 'MEDANTA', 'MANKIND', 'INOXWIND', 'VAIBHAVGBL', 'SUZLON', 'IIFLCAPS', 'TIMKEN', 'GRWRHITECH', 'JINDALSTEL', 'ELGIEQUIP', 'SAIL', 'HINDALCO', 'PGHH', 'PURVA', 'CUMMINSIND', 'NCC', 'JBMA', 'EMIL', 'YATHARTH', 'ICICIGI', 'PHOENIXLTD', 'NIITMTS', 'ALLCARGO', 'TI', 'DISHTV', 'NSLNISP', 'ICICIPRULI', 'ITI', 'THERMAX', 'KPRMILL', 'STARHEALTH', 'VEDL', 'PRICOLLTD', 'KEC', 'RECLTD', 'NHPC', 'PFC', 'GSPL', 'KALAMANDIR', 'JTLIND', 'REDINGTON', 'SIEMENS', 'HEMIPROP', 'TITAGARH', 'MAZDOCK', 'HINDPETRO', 'DEEPAKFERT', 'SARDAEN', 'AVANTIFEED', 'MAXHEALTH', 'BHEL', 'EASEMYTRIP', 'SONATSOFTW', 'GAIL', 'VESUVIUS', 'IFBIND', 'ZENTEC', 'HONAUT', 'VIJAYA', 'TDPOWERSYS', 'KSL', 'GVT&D', 'DBL', 'NMDC', 'GAEL', 'SINDHUTRAD', 'ORIENTELEC', 'HINDCOPPER', 'BSE', 'TIIL', 'PGHL', 'SHAREINDIA', 'SPLPETRO', 'AGI', 'SUNFLAG', 'NEWGEN', 'INTELLECT', 'KFINTECH', 'GODFRYPHLP', 'BLUEDART', 'AMBER', 'RELIGARE', 'ODIGMA']
for symbol in call_list:
data_day = tsl.get_intraday_data(tradingsymbol=symbol.upper() ,exchange ='NSE',timeframe= '5')
print(data_day)
pdb.set_trace()
Can you please tell how to fix the error in code
Codebase Version 2.4 : Solved - Option Chain
-----Logged into Dhan-----
reading existing file all_instrument 2024-12-27.csv
Got the instrument file
'5'
Traceback (most recent call last):
File "E:\MAIN_ALGO_TRADING\1. Api Upgrade\1. Api Upgrade\Dhan_Tradehull_V2.py", line 515, in get_intraday_data
df = self.resample_timeframe(df,available_frames[timeframe])
KeyError: '5'
None
[0] > e:\main_algo_trading\1. api upgrade\1. api upgrade\backtestcode.py(23)<module>()
-> for symbol in call_list:
(Pdb++)
use this code below
call_list = [ 'GREAVESCOT', 'PTCIL', 'AKUMS', 'CAPLIPOINT', 'SHARDAMOTR', 'AJANTPHARM', 'GRSE', 'AVALON', 'FINPIPE', 'USHAMART', 'AARTIPHARM', 'DEVYANI', 'PRINCEPIPE', 'IXIGO', 'SPANDANA', 'TARC', 'BANCOINDIA', 'COCHINSHIP', 'DCXINDIA', 'HIKAL', 'GODIGIT', 'CONFIPET', 'JSWINFRA', 'CAMPUS', 'ASHOKA', 'TVSSCS', 'JYOTHYLAB', 'JSFB', 'CEATLTD', 'MANINFRA', 'ESCORTS', 'SAPPHIRE', 'CANFINHOME', 'ETHOSLTD', 'WABAG', 'METROBRAND', 'GLENMARK', 'KARURVYSYA', 'OFSS', 'THOMASCOOK', 'PGEL', 'LAURUSLABS', 'SWANENERGY', 'LATENTVIEW', 'SKFINDIA', 'IPCALAB', 'LANDMARK', 'ECLERX', 'DRREDDY', 'INDIASHLTR', 'ABBOTINDIA', 'CHOICEIN', 'JYOTICNC', 'HATHWAY', 'SANSERA', 'RKFORGE', 'DEN', 'POLYPLEX', 'INDIAGLYCO', 'INFIBEAM', 'INDUSINDBK', 'BATAINDIA', 'AFFLE', 'SYMPHONY', 'POWERINDIA', 'AWL', 'PARAS', 'SBFC', 'M&M', 'LUPIN', 'HEIDELBERG', 'ABSLAMC', 'RATEGAIN', 'CGCL', 'VMART', 'IDEAFORGE', 'JTEKTINDIA', 'EDELWEISS', 'HOMEFIRST', 'ALKEM', 'GRINFRA', 'NATCOPHARM', 'UTIAMC', 'MASTEK', 'INDGN', 'POLYMED', 'JLHL', 'BIOCON', 'IONEXCHANG', 'METROPOLIS', 'TRITURBINE', 'TATAMOTORS', 'POWERMECH', 'ORCHPHARMA', 'KRBL', 'EPIGRAL', 'KTKBANK', 'VINATIORGA', 'RHIM', 'BLS', 'GESHIP', 'LLOYDSENGG', 'KOLTEPATIL', 'ZENSARTECH', 'DMART', 'AIAENG', 'ZYDUSLIFE', 'VOLTAMP', 'JMFINANCIL', 'HERITGFOOD', 'NEULANDLAB', 'MARKSANS', 'NETWORK18', 'FIVESTAR', 'NAVA', 'AEGISLOG', 'SBCL', 'SUNDRMFAST', 'BBL', 'EICHERMOT', 'SURYAROSNI', 'NETWEB', 'FACT', 'SIGNATURE', 'CARBORUNIV', 'SUVENPHAR', 'LICHSGFIN', 'PARADEEP', 'HSCL', 'WIPRO', 'SYRMA', 'ADANIENSOL', 'SUPRIYA', 'EIDPARRY', 'GICRE', 'CLEAN', 'JKIL', 'CAMS', 'EMUDHRA', 'CHEMPLASTS', 'BALKRISIND', 'KSCL', 'KPIL', 'SHYAMMETL', 'MTARTECH', 'MAHLOG', 'BAJAJFINSV', 'SUNPHARMA', 'BAJFINANCE', 'MANYAVAR', 'VIPIND', 'TEGA', 'IDFCFIRSTB', 'GODREJAGRO', 'CIEINDIA', 'APLAPOLLO', 'JISLJALEQS', 'WOCKPHARMA', 'FORTIS', 'FSL', 'INDIAMART', 'SONACOMS', 'FIEMIND', 'PAYTM', 'NAZARA', 'NBCC', 'AUROPHARMA', 'DOMS', 'KAJARIACER', 'RRKABEL', 'ATGL', 'CIPLA', 'PATANJALI', 'BEPL', 'PEL', 'DATAPATTNS', 'CHALET', 'TRIVENI', 'LLOYDSME', 'FUSION', 'MEDPLUS', 'GREENPLY', 'ASTERDM', 'ANANTRAJ', 'SEQUENT', 'GLAXO', 'TTML', 'WELCORP', 'GULFOILLUB', 'BEML', 'PRUDENT', 'BLUESTARCO', 'JINDALSAW', 'GRAPHITE', 'SANDUMA', 'PCBL', 'KIRLPNU', 'ASTRAMICRO', 'ARE&M', 'STARCEMENT', 'TRENT', 'FCL', 'EPL', 'CONCOR', 'LTF', 'FLUOROCHEM', 'BSOFT', 'NRBBEARING', 'BAJAJ-AUTO', 'AHLUCONT', 'UBL', 'ENGINERSIN', 'SENCO', 'BDL', 'ADANIENT', 'TBOTEK', 'JKTYRE', 'APLLTD', 'ICICIBANK', 'CHOLAFIN', 'JINDWORLD', 'SCHAEFFLER', 'VARROC', 'SUPRAJIT', 'INDIANB', 'LMW', 'NESTLEIND', 'JUBLPHARMA', 'ASKAUTOLTD', 'CROMPTON', 'MMTC', 'IIFL', 'CHOLAHLDNG', 'SSWL', 'KIRLOSENG', 'ESAFSFB', 'POLICYBZR', 'UNITDSPR', 'ACI', 'ZFCVINDIA', 'NOCIL', 'KPITTECH', 'AUBANK', 'TATACONSUM', 'TIRUMALCHM', 'ROSSARI', 'HBLENGINE', 'DCMSHRIRAM', 'MIDHANI', 'UJJIVANSFB', 'LTFOODS', 'ENDURANCE', 'SPARC', 'SHILPAMED', 'TECHM', 'MSUMI', 'PAISALO', 'JUBLFOOD', 'SYNGENE', 'ITC', 'HDFCBANK', 'MARUTI', 'VEEDOL', 'ARVINDFASN', 'VENKEYS', 'HGINFRA', 'MAHLIFE', 'HEG', 'BAJAJHLDNG', 'M&MFIN', 'HINDZINC', 'INFY', 'GPPL', 'ASIANPAINT', 'DATAMATICS', 'CMSINFO', 'CREDITACC', 'INGERRAND', 'HINDUNILVR', 'DREAMFOLKS', 'DYNAMATECH', 'RATNAMANI', 'BBTC', 'LTTS', 'ROUTE', 'KSB', 'ELECTCAST', 'RTNINDIA', 'HINDWAREAP', 'KIMS', 'GMDCLTD', 'KOTAKBANK', 'RITES', 'IPL', 'RELIANCE', 'BIKAJI', 'BECTORFOOD', 'GRAVITA', 'GABRIEL', 'SAREGAMA', 'TEXRAIL', 'DEEPAKNTR', 'MOTHERSON', 'JKPAPER', 'BHARTIARTL', 'NTPC', 'RALLIS', 'KIRLOSBROS', 'ISEC', 'EVEREADY', 'STAR', 'EMAMILTD', 'DABUR', 'COLPAL', 'HAL', 'BORORENEW', 'MARICO', 'BERGEPAINT', 'RADICO', 'GRASIM', 'VTL', 'UPL', 'COROMANDEL', 'NESCO', 'NUVOCO', 'GLS', 'GMMPFAUDLR', 'ASHOKLEY', 'CGPOWER', 'AZAD', 'DCAL', 'IMAGICAA', 'HARSHA', 'ELECON', 'VENUSPIPES', 'BHARTIHEXA', 'WELENT', 'BRITANNIA', 'BAJAJCON', 'VBL', 'PVRINOX', 'TEAMLEASE', 'ICIL', 'YESBANK', 'POLYCAB', 'MAITHANALL', 'AXISBANK', 'BAJAJELEC', 'ITDCEM', 'JSL', 'AMIORG', 'REDTAPE', 'JCHAC', 'CESC', 'NIACL', 'DODLA', 'CRISIL', 'MRF', 'ACE', 'SCI', 'MAPMYINDIA', 'JBCHEPHARM', 'KEI', 'IEX', 'ORISSAMINE', 'KANSAINER', 'PRAJIND', 'SANGHIIND', 'LXCHEM', 'SUDARSCHEM', 'GANESHHOUC', 'IFCI', 'SOBHA', 'WESTLIFE', 'SHRIPISTON', 'CHENNPETRO', 'GHCL', 'ENTERO', 'ABREL', 'QUESS', 'IMFA', 'KAYNES', 'JKLAKSHMI', 'ANANDRATHI', 'BHARATFORG', 'LEMONTREE', 'TIPSMUSIC', 'PERSISTENT', 'CIGNITITEC', 'BAJAJHIND', 'DHANUKA', 'TANLA', 'KNRCON', 'INOXINDIA', 'JSWSTEEL', 'GMRAIRPORT', 'SAFARI', 'AMBUJACEM', 'FINCABLES', 'TATATECH', 'MUTHOOTFIN', 'OBEROIRLTY', 'EXIDEIND', 'HCG', 'IGL', 'APTUS', 'RAINBOW', 'NEOGEN', 'DIVISLAB', 'JIOFIN', 'TEJASNET', 'MSTCLTD', 'JPPOWER', 'MINDACORP', 'CYIENTDLM', 'SFL', 'RBA', 'AAVAS', 'TRIDENT', 'BOSCHLTD', 'SOUTHBANK', 'MCX', 'IRCTC', 'TECHNOE', 'BALAMINES', 'IDBI', 'GUJALKALI', 'NUVAMA', 'SUPREMEIND', 'SRF', 'NLCINDIA', 'DCBBANK', 'SUNDARMFIN', 'MOIL', 'APOLLOHOSP', 'LALPATHLAB', 'PIIND', 'TIMETECHNO', 'AADHARHFC', 'HAPPSTMNDS', 'PARKHOTELS', 'MUTHOOTMF', 'IRCON', 'AARTIIND', 'BRIGADE', 'CERA', 'BOMDYEING', 'DALBHARAT', 'ORIENTCEM', 'SUNTV', 'GODREJCP', 'ADANIPOWER', 'PRESTIGE', 'BANKINDIA', 'LODHA', 'TORNTPHARM', 'TCIEXP', 'DIXON', 'BIRLACORPN', 'BALMLAWRIE', 'HDFCAMC', 'CCL', 'JUBLINGREA', 'DELHIVERY', 'ERIS', 'WONDERLA', 'EMCURE', 'SHRIRAMFIN', 'SAMMAANCAP', 'PATELENG', 'PTC', 'CRAFTSMAN', 'POWERGRID', 'MRPL', 'CHAMBLFERT', 'ABFRL', 'TCS', 'MHRIL', 'LUXIND', 'SAMHI', 'MANAPPURAM', 'ARVIND', '360ONE', 'ISGEC', 'INDIACEM', 'HNDFDS', 'POONAWALLA', 'ZEEL', 'SUNTECK', 'CENTURYPLY', 'BASF', 'SULA', 'BANDHANBNK', 'SBICARD', 'JAIBALAJI', 'CYIENT', 'ULTRACEMCO', 'GPIL', 'TATAELXSI', 'WELSPUNLIV', 'RAILTEL', 'HUDCO', 'STYLAMIND', 'FINEORG', 'ANURAS', 'TITAN', 'SANOFI', 'MGL', 'PAGEIND', 'GILLETTE', 'MAHABANK', 'KESORAMIND', 'DHANI', 'CARTRADE', 'SOLARINDS', 'PNB', 'FORCEMOT', 'VGUARD', 'FEDERALBNK', 'IOB', 'INOXGREEN', 'EIHOTEL', 'CANBK', 'GOPAL', 'ASTRAZEN', 'VOLTAS', 'FDC', 'GRINDWELL', 'JUSTDIAL', 'BALRAMCHIN', 'PIDILITIND', 'ASAHIINDIA', 'SANGHVIMOV', 'BAYERCROP', 'WHIRLPOOL', 'JUNIPER', 'GLAND', 'CUB', 'HCLTECH', 'ANGELONE', 'LT', 'MPHASIS', 'DELTACORP', 'AETHER', 'RCF', 'NAUKRI', 'LICI', 'GODREJIND', 'GOKEX', 'BOROLTD', 'IRFC', 'RVNL', 'EQUITASBNK', 'LINDEINDIA', 'NYKAA', 'MOTILALOFS', 'SBILIFE', 'HCC', 'RENUKA', 'NFL', 'GNFC', 'PNBHOUSING', 'ABCAPITAL', 'JAICORPLTD', 'JKCEMENT', 'CASTROLIND', 'OIL', 'PNCINFRA', 'TVSMOTOR', 'ZOMATO', 'AARTIDRUGS', 'BLUEJET', 'DLF', 'GATEWAY', 'ATUL', 'EMBDL', 'COFORGE', 'KALYANKJIL', 'BPCL', 'RAIN', 'APARINDS', 'RAMKY', 'UCOBANK', 'SCHNEIDER', 'INDUSTOWER', 'NAVINFLUOR', 'DBREALTY', 'VSTIND', 'ZYDUSWELL', 'HEROMOTOCO', 'BANKBARODA', 'RAMCOCEM', 'GODREJPROP', 'RAYMOND', 'ROLEXRINGS', 'WSTCSTPAPR', 'INDHOTEL', 'RAJESHEXPO', 'RBLBANK', 'ASTRAL', 'HAPPYFORGE', 'CELLO', 'HDFCLIFE', 'PPLPHARMA', 'ADANIPORTS', 'IDEA', 'INDIGOPNTS', 'JWL', 'UNOMINDA', 'ALOKINDS', 'TATASTEEL', 'GOCOLORS', 'UNIONBANK', 'PETRONET', 'BEL', 'ADVENZYMES', 'CSBBANK', 'ACC', 'SHREECEM', 'JSWENERGY', 'IOC', 'APOLLOTYRE', 'SUBROS', 'MFSL', 'INDIGO', 'IRB', 'TIINDIA', 'NH', 'ADANIGREEN', 'STLTECH', 'GRANULES', 'GSFC', 'ALKYLAMINE', 'OLECTRA', 'TATACHEM', 'TATAPOWER', 'UTKARSHBNK', 'IREDA', 'TORNTPOWER', 'RELINFRA', 'JAMNAAUTO', 'J&KBANK', 'NAM-INDIA', 'LTIM', 'ONGC', 'CONCORDBIO', 'PFIZER', 'TATACOMM', 'SJVN', 'CENTRALBK', 'ABB', 'GREENPANEL', 'GUJGASLTD', 'HONASA', 'COALINDIA', 'SBIN', 'SWSOLAR', 'SUMICHEM', 'OPTIEMUS', 'HFCL', 'HINDOILEXP', 'RESPONIND', 'CDSL', 'TATAINVEST', '3MINDIA', 'MAHSEAMLES', 'HAVELLS', 'NATIONALUM', 'MEDANTA', 'MANKIND', 'INOXWIND', 'VAIBHAVGBL', 'SUZLON', 'IIFLCAPS', 'TIMKEN', 'GRWRHITECH', 'JINDALSTEL', 'ELGIEQUIP', 'SAIL', 'HINDALCO', 'PGHH', 'PURVA', 'CUMMINSIND', 'NCC', 'JBMA', 'EMIL', 'YATHARTH', 'ICICIGI', 'PHOENIXLTD', 'NIITMTS', 'ALLCARGO', 'TI', 'DISHTV', 'NSLNISP', 'ICICIPRULI', 'ITI', 'THERMAX', 'KPRMILL', 'STARHEALTH', 'VEDL', 'PRICOLLTD', 'KEC', 'RECLTD', 'NHPC', 'PFC', 'GSPL', 'KALAMANDIR', 'JTLIND', 'REDINGTON', 'SIEMENS', 'HEMIPROP', 'TITAGARH', 'MAZDOCK', 'HINDPETRO', 'DEEPAKFERT', 'SARDAEN', 'AVANTIFEED', 'MAXHEALTH', 'BHEL', 'EASEMYTRIP', 'SONATSOFTW', 'GAIL', 'VESUVIUS', 'IFBIND', 'ZENTEC', 'HONAUT', 'VIJAYA', 'TDPOWERSYS', 'KSL', 'GVT&D', 'DBL', 'NMDC', 'GAEL', 'SINDHUTRAD', 'ORIENTELEC', 'HINDCOPPER', 'BSE', 'TIIL', 'PGHL', 'SHAREINDIA', 'SPLPETRO', 'AGI', 'SUNFLAG', 'NEWGEN', 'INTELLECT', 'KFINTECH', 'GODFRYPHLP', 'BLUEDART', 'AMBER', 'RELIGARE', 'ODIGMA']
for symbol in call_list:
data_day = tsl.get_historical_data(tradingsymbol = symbol.upper(),exchange = 'NSE',timeframe="5")
print(data_day)
We are now using easier method to get LTP,
do check : Learn Algo Trading with Python | Codes | Youtube Series - #952 by Tradehull_Imran
problem solved about import talib error i resolved. thank you sir
PS C:\Users\azure> & C:/Users/azure/AppData/Local/Programs/Python/Python38/python.exe "c:/Users/azure/OneDrive/Desktop/Desktop Kiran/TRADEHULL/Session 1-20241223T071559Z-001/Session 1/Session 1/Session 1 - My Dhan.py"
Codebase Version 3
-----Logged into Dhan-----
reading existing file all_instrument 2024-12-24.csv
Got the instrument file
buy
buy
PS C:\Users\azure>
* History restored
PS C:\Users\azure>