{"id":243,"date":"2021-06-26T03:11:54","date_gmt":"2021-06-26T03:11:54","guid":{"rendered":"https:\/\/algomojo.com\/blog\/?p=243"},"modified":"2023-09-13T04:39:39","modified_gmt":"2023-09-13T04:39:39","slug":"algomojo-sending-simultaneous-orders-to-multi-clients-excelsheet-module-and-vba-code","status":"publish","type":"post","link":"https:\/\/algomojo.com\/blog\/algomojo-sending-simultaneous-orders-to-multi-clients-excelsheet-module-and-vba-code\/","title":{"rendered":"Algomojo \u2013 Sending Simultaneous Orders to Multi Clients \u2013 ExcelSheet Module and VBA Code"},"content":{"rendered":"\n<p>Got frequent requirements from a couple of traders to automate Excel based button trading where with a click of a button one could punch orders in multiple accounts (friends &amp; family).<\/p>\n\n\n\n<p>Designed a simple interface in excel on sending simultaneous orders from the excel application to multiple trading accounts. Code uses algomojo API to transmit multiple orders using the PlaceMultiOrder function.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1831\" height=\"416\" src=\"https:\/\/algomojo.com\/blog\/wp-content\/uploads\/2021\/06\/Data.jpg\" alt=\"\" class=\"wp-image-245\"\/><\/figure>\n\n\n\n<p><strong>Supported Broker<\/strong>: Angel Angel Broking, AliceBlue, Firstock, Tradejini, Mastertrust, Zebu<br><strong>Requirements:<\/strong> Algomojo Login<\/p>\n\n\n\n<p><a href=\"https:\/\/www.marketcalls.in\/wp-content\/uploads\/2021\/06\/MultiOrderExcel.zip\">Download the Excel File<\/a><\/p>\n\n\n\n<p><strong>Steps to follow after downloading the Excel File<\/strong><br>1)Download the File and Unzip it to the local folder<br>2)Press Enable Content button as the Security Warning display that Macros have been disabled<br>3)Sheet&nbsp;<strong>Place Order<\/strong>&nbsp;is used to Send MultiOrders<br>4)Sheet&nbsp;<strong>Clients&nbsp;<\/strong>is used to manage multiple clients, API Keys , API Secret Keys<\/p>\n\n\n\n<p>Here are the Angel Broking supported order parameters in the excel sheets<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Param<\/th><th>Value<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>variety<\/td><td>NORMAL<br>STOPLOSS<br>AMO<br>ROBO<\/td><td>Normal Order (Regular)<br>Stop-loss order,<br>After Market Order,<br>ROBO (Bracket Order)<\/td><\/tr><tr><td>transactiontype<\/td><td>BUY<br>SELL<\/td><td>Buy<br>Sell<\/td><\/tr><tr><td>ordertype<\/td><td>MARKET<br>LIMIT<br>STOPLOSS_LIMIT<br>STOPLOSS_MARKET<\/td><td>Market Order(MKT)<br>Limit Order(L)<br>Stop Loss Limit Order(SL)<br>Stop Loss Market Order(SL-M)<\/td><\/tr><tr><td>producttype<\/td><td>DELIVERY<br>CARRYFORWARD<br>MARGIN<br>INTRADAY<br>BO<\/td><td>Cash &amp; Carry for equity (CNC)<br>Normal for futures and options (NRML)<br>Margin Delivery<br>Margin Intraday Square off (MIS)<br>Bracket Order (Only for ROBO)<\/td><\/tr><tr><td>Duration<\/td><td>DAY<br>IOC<\/td><td>Regular Order<br>Immediate or Cancel<\/td><\/tr><tr><td>exchange<\/td><td>BSE<br>NSE<br>NFO<br>MCX<\/td><td>BSE Equity<br>NSE Equity<br>NSE Future and Options<br>MCX Commodity<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2>Order Parameters<\/h2>\n\n\n\n<p>These parameters are common across different order varieties.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Param<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>tradingsymbol<\/td><td>Trading Symbol of the instrument<\/td><\/tr><tr><td>symboltoken<\/td><td>Symbol Token is unique identifier ( can be obtained from Algomojo Watchlist section-&gt;Security Info)<\/td><\/tr><tr><td>Exchange<\/td><td>Name of the exchange (BSE,NSE,NFO,MCX)<\/td><\/tr><tr><td>transactiontype<\/td><td>BUY or SELL<\/td><\/tr><tr><td>ordertype<\/td><td>Order type (MARKET, LIMIT etc.)<\/td><\/tr><tr><td>quantity<\/td><td>Quantity to transact<\/td><\/tr><tr><td>producttype<\/td><td>Product type (CNC,MIS)<\/td><\/tr><tr><td>price<\/td><td>The min or max price to execute the order at (for LIMIT orders)<\/td><\/tr><tr><td>triggerprice<\/td><td>The price at which an order should be triggered (SL, SL-M)<\/td><\/tr><tr><td>squareoff<\/td><td>Only For ROBO (Bracket Order)<\/td><\/tr><tr><td>stoploss<\/td><td>Only For ROBO (Bracket Order)<\/td><\/tr><tr><td>trailingStopLoss<\/td><td>Only For ROBO (Bracket Order)<\/td><\/tr><tr><td>disclosedquantity<\/td><td>Quantity to disclose publicly (for equity trades)<\/td><\/tr><tr><td>duration<\/td><td>Order duration (DAY,IOC)<\/td><\/tr><tr><td><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>VBA Source Code<\/strong> <strong>for Angel Broking<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-visual-basic\">Sub FetchLogin()\n\nDim Broker As String\nDim Version As String\nDim apikey As String\nDim apisecret As String\nDim apidata As String\nDim numofRows As Integer\nDim i As Integer\n\nBroker = &quot;an&quot;\nVersion = &quot;1.0&quot;\n\nnumofRows = Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\napidata = &quot;{}&quot;\n\nFor i = 0 To numofRows - 1\n    apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n    apisecret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n    Limits = AMConnect(apikey, apisecret, Broker, Version, &quot;Limits&quot;, apidata)\n    Profile = AMConnect(apikey, apisecret, Broker, Version, &quot;Profile&quot;, apidata)\n    Set ProfileResponse = JsonConverter.ParseJson(Profile)\n    Set LimitsResponse = JsonConverter.ParseJson(Limits)\n    \n    If StrComp(ProfileResponse(&quot;message&quot;), &quot;SUCCESS&quot;) = 0 Then\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;E&quot;) = ProfileResponse(&quot;data&quot;)(&quot;name&quot;)\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = LimitsResponse(&quot;data&quot;)(&quot;net&quot;)\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = LimitsResponse(&quot;data&quot;)(&quot;availablecash&quot;)\n    Else\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;E&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;F&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = &quot;Login Error&quot;\n    End If\n    \nNext\nEnd Sub\n\n\n\n\nSub AlgomojoMulitOrder()\n\n\nDim Broker As String\nDim Version As String\nDim ClientID As String\nDim user_apikey As String\nDim api_secret As String\nDim masterapikey As String\nDim masterapisecret As String\nDim variety As String\nDim tradingsymbol As String\nDim symboltoken As String\nDim transactiontype As String\nDim exchange As String\nDim ordertype As String\nDim producttype As String\nDim duration As String\nDim price As String\nDim squareoff As String\nDim stoploss As String\nDim quantity As String\nDim triggerprice As String\nDim trailingStopLoss As String\nDim disclosedquantity As String\nDim MultiplierQty As Long\n\n\nDim apidata As String\nDim numofRows As Long\nDim i As Integer\n\nBroker = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;A&quot;).Value\nVersion = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;B&quot;).Value\nmasterapikey = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;D&quot;).Value\nmasterapisecret = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;E&quot;).Value\ntradingsymbol = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;F&quot;).Value\nsymboltoken = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;G&quot;).Value\nquantity = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;H&quot;).Value\ntransactiontype = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;I&quot;).Value\nexchange = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;J&quot;).Value\nvariety = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;K&quot;).Value\nordertype = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;L&quot;).Value\nproducttype = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;M&quot;).Value\nduration = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;N&quot;).Value\nprice = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;O&quot;).Value\ntriggerprice = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;P&quot;).Value\nsquareoff = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;Q&quot;).Value\nstoploss = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;R&quot;).Value\ntrailingStopLoss = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;S&quot;).Value\ndisclosedquantity = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;T&quot;).Value\n\n&#039;clear the table contents of the display output\nWorksheets(&quot;PlaceOrder&quot;).Range(&quot;C16:F200&quot;).Clear\n\nSheets(&quot;Clients&quot;).Activate\nnumofRows = Sheets(&quot;Clients&quot;).Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\napidata = &quot;{&quot;&quot;&quot; &amp; &quot;orders&quot; &amp; &quot;&quot;&quot;:&quot; &amp; &quot;[ &quot;\n\nstgy_name = &quot;Excel&quot;\n\n\n    \nFor i = 0 To numofRows - 1\n    Sheets(&quot;Clients&quot;).Activate\n    ClientID = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;A&quot;).Value\n    user_apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n    api_secret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n    MultiplierQty = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;D&quot;).Value * CInt(quantity)\n    Sheets(&quot;PlaceOrder&quot;).Activate\n    Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;C&quot;) = ClientID\n    apidata = apidata &amp; &quot;{&quot;&quot;&quot; _\n                &amp; &quot;order_refno&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(i + 1) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;user_apikey&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; user_apikey &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;stgy_name&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; stgy_name &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;variety&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; variety &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;tradingsymbol&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; tradingsymbol &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;symboltoken&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; symboltoken &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;transactiontype&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; transactiontype &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;exchange&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; exchange &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;ordertype&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; ordertype &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;producttype&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; producttype &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;duration&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; duration &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;price&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; price &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;squareoff&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; squareoff &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;stoploss&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; stoploss &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;quantity&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(MultiplierQty) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;triggerprice&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; triggerprice &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;trailingStopLoss&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; trailingStopLoss &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;disclosedquantity&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; disclosedquantity\n                \n    If i = numofRows - 1 Then\n        apidata = apidata &amp; &quot;&quot;&quot;}&quot;\n    Else\n        apidata = apidata &amp; &quot;&quot;&quot;},&quot;\n    End If\n       \n                \nNext\n    \napidata = apidata &amp; &quot;]}&quot;\n\n\n\nPlaceOrder = AMConnect(masterapikey, masterapisecret, Broker, Version, &quot;PlaceMultiOrder&quot;, apidata)\nSet PlaceOrderResponse = JsonConverter.ParseJson(PlaceOrder)\n\n\n\nFor i = 0 To numofRows - 1\n     If StrComp(PlaceOrderResponse(i + 1)(&quot;message&quot;), &quot;SUCCESS&quot;) = 0 Then\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;).Value = PlaceOrderResponse(i + 1)(&quot;message&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;).Value = PlaceOrderResponse(i + 1)(&quot;data&quot;)(&quot;script&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).Value = PlaceOrderResponse(i + 1)(&quot;data&quot;)(&quot;orderid&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).NumberFormat = &quot;0&quot;\n    Else\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;) = &quot;Login Error&quot;\n    End If\n    \nNext\n\n&#039;check multiorder response\n&#039;Sheets(&quot;PlaceOrder&quot;).Cells(12, &quot;D&quot;) = PlaceOrder\n\nEnd Sub\n\n\n\n\nPrivate Function AMConnect(api_key As String, api_secret As String, Broker As String, Version As String, api_name As String, InTD As String) As String\n    Dim objHTTP As Object\n    Dim result As String\n    Dim postdate As String\n    Dim BrkPrefix As String\n    Dim BaseURL As String\n    BaseURL = &quot;https:\/\/&quot; &amp; LCase(Broker) &amp; &quot;api.algomojo.com\/&quot; &amp; Version &amp; &quot;\/&quot;\n    postdata = &quot;{&quot;&quot;&quot; &amp; &quot;api_key&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_key &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;data&quot; &amp; &quot;&quot;&quot;:&quot; &amp; InTD &amp; &quot;}&quot;\n    &#039;MsgBox (postdata)\n    Set objHTTP = CreateObject(&quot;MSXML2.ServerXMLHTTP&quot;)\n    Url = BaseURL &amp; api_name\n    objHTTP.Open &quot;POST&quot;, Url, False\n    objHTTP.setRequestHeader &quot;Content-type&quot;, &quot;application\/json&quot;\n    objHTTP.send (postdata)\n    result = objHTTP.responseText\n    Set objHTTP = Nothing\n    AMConnect = result\n    \nEnd Function\n\n\n<\/code><\/pre>\n\n\n\n<p><strong>VBA Source Code for Aliceblue, Zebu, Tradejini, Mastertrust<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-visual-basic\">Sub FetchLogin()\n\nDim Broker As String\nDim Version As String\nDim uid As String\nDim apikey As String\nDim apisecret As String\nDim apidata As String\nDim segment As String\nDim Exchange As String\nDim product As String\nDim numofRows As Integer\nDim i As Integer\n\n\nVersion = &quot;1.0&quot;\nsegment = &quot;ALL&quot;\nExchange = &quot;&quot;\nproduct = &quot;&quot;\n\nnumofRows = Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\n\nFor i = 0 To numofRows - 1\n    Broker = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;A&quot;).Value\n    uid = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n    apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n    apisecret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;D&quot;).Value\n    \n    \n    apidata = &quot;{&quot;&quot;&quot; _\n                &amp; &quot;uid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; uid &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;actid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; uid &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;segment&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; segment &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Exchange&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Exchange &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;product&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; product &amp; &quot;&quot;&quot;&quot; _\n                &amp; &quot;}&quot;\n\n    \n    \n    Limits = AMConnect(apikey, apisecret, Broker, Version, &quot;Limits&quot;, apidata)\n    &#039;MsgBox (Limits)\n    Set LimitsResponse = JsonConverter.ParseJson(Limits)\n    \n    If StrComp(LimitsResponse(&quot;stat&quot;), &quot;Ok&quot;) = 0 Then\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;F&quot;) = LimitsResponse(&quot;OpeningBalance&quot;)\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = LimitsResponse(&quot;Netcashavailable&quot;)\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;H&quot;) = LimitsResponse(&quot;turnover&quot;)\n    Else\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;F&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;H&quot;) = &quot;Login Error&quot;\n    End If\n    \nNext\nEnd Sub\n\n\n\n\nSub AlgomojoMulitOrder()\n\n\nDim Broker As String\nDim Version As String\nDim ClientID As String\nDim user_apikey As String\nDim api_secret As String\nDim masterapikey As String\nDim masterapisecret As String\nDim s_prdt_ali As String\nDim Tsym As String\nDim exch As String\nDim Ttranstype As String\nDim Ret As String\nDim prctyp As String\nDim qty As String\nDim discqty As String\nDim MktPro As String\nDim Price As String\nDim TrigPrice As String\nDim Pcode As String\nDim AMO As String\nDim MultiplierQty As Long\n\n\nDim apidata As String\nDim numofRows As Long\nDim i As Integer\n\ns_prdt_ali = &quot;BO:BO||CNC:CNC||CO:CO||MIS:MIS||NRML:NRML&quot;\nMktPro = &quot;NA&quot;\ndiscqty = &quot;0&quot;\nAMO = &quot;NO&quot;\n\nBroker = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;A&quot;).Value\nVersion = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;B&quot;).Value\nmasterapikey = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;D&quot;).Value\nmasterapisecret = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;E&quot;).Value\nTsym = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;F&quot;).Value\nqty = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;G&quot;).Value\nTtranstype = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;H&quot;).Value\nexch = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;I&quot;).Value\nPcode = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;J&quot;).Value\nprctyp = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;K&quot;).Value\nRet = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;L&quot;).Value\nPrice = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;M&quot;).Value\nTrigPrice = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;N&quot;).Value\ndiscqty = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;O&quot;).Value\n\n\n&#039;clear the table contents of the display output\nWorksheets(&quot;PlaceOrder&quot;).Range(&quot;C16:F200&quot;).Clear\n\nSheets(&quot;Clients&quot;).Activate\nnumofRows = Sheets(&quot;Clients&quot;).Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\napidata = &quot;{&quot;&quot;&quot; &amp; &quot;orders&quot; &amp; &quot;&quot;&quot;:&quot; &amp; &quot;[ &quot;\n\nstgy_name = &quot;Excel&quot;\n\n\n    \nFor i = 0 To numofRows - 1\n    Sheets(&quot;Clients&quot;).Activate\n    ClientID = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n    user_apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n    api_secret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;D&quot;).Value\n    MultiplierQty = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;E&quot;).Value * CInt(qty)\n    Sheets(&quot;PlaceOrder&quot;).Activate\n    Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;C&quot;) = ClientID\n    apidata = apidata &amp; &quot;{&quot;&quot;&quot; _\n                &amp; &quot;order_refno&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(i + 1) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;user_apikey&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; user_apikey &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;stgy_name&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; stgy_name &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;s_prdt_ali&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; s_prdt_ali &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Tsym&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Tsym &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;exch&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; exch &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;exchange&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Exchange &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Ttranstype&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Ttranstype &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Ret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Ret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;prctyp&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; prctyp &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;qty&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(MultiplierQty) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;discqty&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; discqty &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;MktPro&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; MktPro &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Price&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Price &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;TrigPrice&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; TrigPrice &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;Pcode&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; Pcode &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;AMO&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; AMO\n                \n    If i = numofRows - 1 Then\n        apidata = apidata &amp; &quot;&quot;&quot;}&quot;\n    Else\n        apidata = apidata &amp; &quot;&quot;&quot;},&quot;\n    End If\n       \n                \nNext\n    \napidata = apidata &amp; &quot;]}&quot;\n\n\n\nPlaceOrder = AMConnect(masterapikey, masterapisecret, Broker, Version, &quot;PlaceMultiOrder&quot;, apidata)\n\nSet PlaceOrderResponse = JsonConverter.ParseJson(PlaceOrder)\n\n\n\nFor i = 0 To numofRows - 1\n     If StrComp(PlaceOrderResponse(i + 1)(&quot;stat&quot;), &quot;Ok&quot;) = 0 Then\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;).Value = PlaceOrderResponse(i + 1)(&quot;stat&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;).Value = Tsym\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).Value = PlaceOrderResponse(i + 1)(&quot;NOrdNo&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).NumberFormat = &quot;0&quot;\n    Else\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;) = &quot;Login Error&quot;\n    End If\n    \nNext\n\n&#039;check multiorder response\n&#039;Sheets(&quot;PlaceOrder&quot;).Cells(12, &quot;D&quot;) = PlaceOrder\n\nEnd Sub\n\n\n\n\nPrivate Function AMConnect(api_key As String, api_secret As String, Broker As String, Version As String, api_name As String, InTD As String) As String\n    Dim objHTTP As Object\n    Dim result As String\n    Dim postdate As String\n    Dim BrkPrefix As String\n    Dim BaseURL As String\n    BaseURL = &quot;https:\/\/&quot; &amp; LCase(Broker) &amp; &quot;api.algomojo.com\/&quot; &amp; Version &amp; &quot;\/&quot;\n    postdata = &quot;{&quot;&quot;&quot; &amp; &quot;api_key&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_key &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;data&quot; &amp; &quot;&quot;&quot;:&quot; &amp; InTD &amp; &quot;}&quot;\n    &#039;MsgBox (postdata)\n    Set objHTTP = CreateObject(&quot;MSXML2.ServerXMLHTTP&quot;)\n    Url = BaseURL &amp; api_name\n    objHTTP.Open &quot;POST&quot;, Url, False\n    objHTTP.setRequestHeader &quot;Content-type&quot;, &quot;application\/json&quot;\n    objHTTP.send (postdata)\n    result = objHTTP.responseText\n    Set objHTTP = Nothing\n    AMConnect = result\n    \nEnd Function\n\n\n<\/code><\/pre>\n\n\n\n<p><strong>VBA Code for Firstock<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-visual-basic\">Sub FetchLogin()\n\nDim Broker As String\nDim Version As String\nDim uid As String\nDim apikey As String\nDim apisecret As String\nDim apidata As String\nDim segment As String\nDim Exchange As String\nDim product As String\nDim numofRows As Integer\nDim i As Long\nDim Total As Long\n\n\nVersion = &quot;1.0&quot;\n\n\nnumofRows = Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\n\nIf numofRows = 1 Then\n    Total = numofRows\nElse\n    Total = numofRows - 1\nEnd If\n\n\n    For i = 0 To Total\n        Broker = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;A&quot;).Value\n        uid = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n        apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n        apisecret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;D&quot;).Value\n    \n    \n        apidata = &quot;{&quot;&quot;&quot; _\n                &amp; &quot;uid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; uid &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;actid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; uid &amp; &quot;&quot;&quot;&quot; &amp; &quot;}&quot;\n                \n\n    \n        &#039;MsgBox (apidata)\n        Limits = AMConnect(apikey, apisecret, Broker, Version, &quot;Limits&quot;, apidata)\n    \n        Set LimitsResponse = JsonConverter.ParseJson(Limits)\n    \n        If StrComp(LimitsResponse(&quot;stat&quot;), &quot;Ok&quot;) = 0 Then\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;F&quot;) = LimitsResponse(&quot;cash&quot;)\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = LimitsResponse(&quot;daycash&quot;)\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;H&quot;) = LimitsResponse(&quot;brkcollamt&quot;)\n        Else\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;F&quot;) = &quot;Login Error&quot;\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;G&quot;) = &quot;Login Error&quot;\n            Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;H&quot;) = &quot;Login Error&quot;\n        End If\n    \n    Next\n\nEnd Sub\n\n\n\n\nSub AlgomojoMulitOrder()\n\n\nDim Broker As String\nDim Version As String\nDim ClientID As String\nDim user_apikey As String\nDim api_secret As String\nDim masterapikey As String\nDim masterapisecret As String\nDim s_prdt_ali As String\nDim tsym As String\nDim exch As String\nDim trantype As String\nDim ret As String\nDim prctyp As String\nDim qty As String\nDim dscqty As String\nDim MktPro As String\nDim prc As String\nDim trgprc As String\nDim prd As String\nDim AMO As String\nDim ordersource As String\nDim remarks As String\nDim MultiplierQty As Long\n\n\n\n\nDim apidata As String\nDim numofRows As Long\nDim i As Integer\n\ns_prdt_ali = &quot;BO:BO||CNC:CNC||CO:CO||MIS:MIS||NRML:NRML&quot;\nMktPro = &quot;NA&quot;\ndscqty = &quot;0&quot;\nAMO = &quot;NO&quot;\nordersource = &quot;WEB&quot;\nremarks = &quot;EXCEL&quot;\n\nBroker = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;A&quot;).Value\nVersion = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;B&quot;).Value\nmasterapikey = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;D&quot;).Value\nmasterapisecret = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;E&quot;).Value\ntsym = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;F&quot;).Value\nqty = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;G&quot;).Value\ntrantype = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;H&quot;).Value\nexch = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;I&quot;).Value\nprd = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;J&quot;).Value\nprctyp = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;K&quot;).Value\nret = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;L&quot;).Value\nprc = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;M&quot;).Value\ntrgprc = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;N&quot;).Value\ndscqty = Sheets(&quot;PlaceOrder&quot;).Cells(5, &quot;O&quot;).Value\n\n\n&#039;clear the table contents of the display output\nWorksheets(&quot;PlaceOrder&quot;).Range(&quot;C16:F200&quot;).Clear\n\nSheets(&quot;Clients&quot;).Activate\nnumofRows = Sheets(&quot;Clients&quot;).Range(&quot;A5&quot;, Range(&quot;A5&quot;).End(xlDown)).Rows.Count\napidata = &quot;{&quot;&quot;&quot; &amp; &quot;orders&quot; &amp; &quot;&quot;&quot;:&quot; &amp; &quot;[ &quot;\n\nstgy_name = &quot;Excel&quot;\n\n\n    \nFor i = 0 To numofRows - 1\n    Sheets(&quot;Clients&quot;).Activate\n    ClientID = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;B&quot;).Value\n    user_apikey = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;C&quot;).Value\n    api_secret = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;D&quot;).Value\n    MultiplierQty = Sheets(&quot;Clients&quot;).Cells(5 + i, &quot;E&quot;).Value * CInt(qty)\n    Sheets(&quot;PlaceOrder&quot;).Activate\n    Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;C&quot;) = ClientID\n    apidata = apidata &amp; &quot;{&quot;&quot;&quot; _\n                &amp; &quot;order_refno&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(i + 1) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;user_apikey&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; user_apikey &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;stgy_name&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; stgy_name &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;uid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; ClientID &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;actid&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; ClientID &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;tsym&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; tsym &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;exch&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; exch &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;trantype&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; trantype &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;ret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; ret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;prctyp&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; prctyp &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;qty&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; CStr(MultiplierQty) &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;dscqty&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; dscqty &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;MktPro&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; MktPro &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;prc&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; prc &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;prd&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; prd &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;AMO&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; AMO &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;ordersource&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; ordersource &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                &amp; &quot;remarks&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; remarks\n                \n    If i = numofRows - 1 Then\n        apidata = apidata &amp; &quot;&quot;&quot;}&quot;\n    Else\n        apidata = apidata &amp; &quot;&quot;&quot;},&quot;\n    End If\n       \n                \nNext\n    \napidata = apidata &amp; &quot;]}&quot;\n&#039;MsgBox (apidata)\n\nPlaceOrder = AMConnect(masterapikey, masterapisecret, Broker, Version, &quot;PlaceMultiOrder&quot;, apidata)\n\n\nSet PlaceOrderResponse = JsonConverter.ParseJson(PlaceOrder)\n\n\n\nFor i = 0 To numofRows - 1\n     If StrComp(PlaceOrderResponse(i + 1)(&quot;stat&quot;), &quot;Ok&quot;) = 0 Then\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;).Value = PlaceOrderResponse(i + 1)(&quot;stat&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;).Value = tsym\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).Value = PlaceOrderResponse(i + 1)(&quot;norenordno&quot;)\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;).NumberFormat = &quot;0&quot;\n    Else\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;D&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;E&quot;) = &quot;Login Error&quot;\n        Sheets(&quot;PlaceOrder&quot;).Cells(16 + i, &quot;F&quot;) = &quot;Login Error&quot;\n    End If\n    \nNext\n\n&#039;check multiorder response\n&#039;Sheets(&quot;PlaceOrder&quot;).Cells(12, &quot;D&quot;) = PlaceOrder\n\nEnd Sub\n\n\n\n\nPrivate Function AMConnect(api_key As String, api_secret As String, Broker As String, Version As String, api_name As String, InTD As String) As String\n    Dim objHTTP As Object\n    Dim result As String\n    Dim postdate As String\n    Dim BrkPrefix As String\n    Dim BaseURL As String\n    BaseURL = &quot;https:\/\/&quot; &amp; LCase(Broker) &amp; &quot;api.algomojo.com\/&quot; &amp; Version &amp; &quot;\/&quot;\n    postdata = &quot;{&quot;&quot;&quot; &amp; &quot;api_key&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_key &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;api_secret&quot; &amp; &quot;&quot;&quot;:&quot;&quot;&quot; &amp; api_secret &amp; &quot;&quot;&quot;,&quot;&quot;&quot; _\n                    &amp; &quot;data&quot; &amp; &quot;&quot;&quot;:&quot; &amp; InTD &amp; &quot;}&quot;\n    &#039;MsgBox (postdata)\n    Set objHTTP = CreateObject(&quot;MSXML2.ServerXMLHTTP&quot;)\n    Url = BaseURL &amp; api_name\n    objHTTP.Open &quot;POST&quot;, Url, False\n    objHTTP.setRequestHeader &quot;Content-type&quot;, &quot;application\/json&quot;\n    objHTTP.send (postdata)\n    result = objHTTP.responseText\n    Set objHTTP = Nothing\n    AMConnect = result\n    \nEnd Function\n\n\n<\/code><\/pre>\n\n\n\n<p><strong>Credits<\/strong><\/p>\n\n\n\n<p>VBA Code uses <a href=\"https:\/\/github.com\/VBA-tools\/VBA-JSON\">VBA-JSON for Json Processing<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Got frequent requirements from a couple of traders to automate Excel based button trading where with a click of a button one could punch orders in multiple accounts (friends &amp; family). Designed a simple interface in excel on sending simultaneous orders from the excel application to multiple trading accounts. Code uses algomojo API to transmit &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/algomojo.com\/blog\/algomojo-sending-simultaneous-orders-to-multi-clients-excelsheet-module-and-vba-code\/\"> <span class=\"screen-reader-text\">Algomojo \u2013 Sending Simultaneous Orders to Multi Clients \u2013 ExcelSheet Module and VBA Code<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":""},"categories":[2,38],"tags":[117,34,124,57],"_links":{"self":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/243"}],"collection":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":10,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/posts\/243\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/algomojo.com\/blog\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}