نیازهای مکرر از یک زن و شوهر از معامله گران برای خودکارسازی معاملات دکمه مبتنی بر اکسل ، جایی که با کلیک بر روی یک دکمه می توان سفارشات را در چندین حساب (دوستان و خانواده) مشت کرد.
یک رابط کاربری ساده در اکسل در ارسال سفارشات همزمان از برنامه اکسل به چندین حساب معاملاتی طراحی کرد. کد از ALGOMOJO API برای انتقال چندین سفارش با استفاده از عملکرد PlaceMultiorder استفاده می کند.

کارگزار پشتیبانی شده: کارگزار فرشته فرشته ، آلیسبلو ، Firstock ، TradeJini ، MasterTrust ، Zebu الزامات: ورود به سیستم Algomojo
مراحل دنبال کردن پس از بارگیری فایل اکسل 1) پرونده را بارگیری کنید و آن را از بین برده در پوشه محلی 2) دکمه فعال کردن محتوا را فشار دهید زیرا نمایشگر هشدار دهنده امنیتی که ماکروها غیرفعال شده اند 3) سفارش ورق برای ارسال چند منبع 4) ورق مشتریبرای مدیریت چندین مشتری ، کلیدهای API ، کلیدهای مخفی API استفاده می شود
در اینجا پارامترهای سفارش پشتیبانی شده فرشته در برگه های اکسل آورده شده است
| پارتی | ارزش | شرح |
| تنوع | stoploss amo amo amo طبیعی | سفارش عادی (منظم) سفارش از دست دادن ، پس از سفارش بازار ، Robo (سفارش براکت) |
| نوع معامله | خرید فروش | خرید فروش |
| نوع سفارش | محدودیت بازار stoploss_limit stoploss_market | سفارش بازار (MKT) سفارش محدود (L) توقف از دست دادن سفارش (SL) توقف سفارش از دست دادن سفارش بازار (SL-M) |
| نوع محصول | تحویل حاشیه حمل و نقل در داخل intraday bo | Cash & Carry For Equity (CNC) برای معاملات آتی و گزینه ها (NRML) حاشیه تحویل حاشیه مربع داخلی (MIS) سفارش براکت (فقط برای Robo) |
| مدت زمان | روز IOC | سفارش منظم فوری یا لغو |
| تبادل | BSE NSE NFO MCX | BSE Equity NSE Equity NSE آینده و گزینه های MCX کالا |
پارامترهای سفارش
این پارامترها در انواع مختلف سفارش متداول است.
| پارتی | شرح |
| تجارت | نماد تجارت ساز |
| نمادین | Symbol Token is unique identifier ( can be obtained from Algomojo Watchlist section>اطلاعات امنیتی) |
| تبادل | نام مبادله (BSE ، NSE ، NFO ، MCX) |
| نوع معامله | خرید یا فروش |
| نوع سفارش | نوع سفارش (بازار ، حد و غیره) |
| تعداد | مقدار برای معامله |
| نوع محصول | نوع محصول (CNC ، MIS) |
| قیمت | قیمت حداقل یا حداکثر برای اجرای سفارش در (برای سفارشات محدود) |
| قیمت | قیمتی که در آن یک سفارش باید ایجاد شود (SL ، SL-M) |
| مربع خاموش | فقط برای Robo (سفارش براکت) |
| کله پاچه | فقط برای Robo (سفارش براکت) |
| TrailingStoploss | فقط برای Robo (سفارش براکت) |
| فاش بودن | مقدار برای افشای عمومی (برای معاملات سهام) |
| مدت زمان | مدت زمان سفارش (روز ، IOC) |
کد منبع VBA برای کارگزاری فرشته
Sub Fetchlogin () Dim Broker به عنوان نسخه DIM DIM به عنوان رشته dim apikey به عنوان رشته dim apisecret به عنوان رشته dim dim apidata به عنوان رشته dim numofrows به عنوان Integer dim i به عنوان integer broker = "an" نسخه = "1. 0" numofrows = دامنه ("A5" ،دامنه ("A5"). پایان (xldown)). rows. count apidata = "<>" For i = 0 To numofRows - 1 apikey = Sheets("Clients").Cells(5 + i, "B").Value apisecret = Sheets("Clients").Cells(5 + i, "C").Value Limits = AMCoect(apikey, apisecret, Broker, Version, "Limits", apidata) Profile = AMCoect(apikey, apisecret, Broker, Version, "Profile", apidata) Set ProfileResponse = JsonConverter.ParseJson(Profile) Set LimitsResponse = JsonConverter.ParseJson(Limits) If StrComp(ProfileResponse("message"), "SUCCESS") = 0 Then Sheets("Clients").Cells(5 + i, "E") = ProfileResponse("data")("name") Sheets("Clients").Cells(5 + i, "G") = LimitsResponse("data")("net") Sheets("Clients").Cells(5 + i, "G") = LimitsResponse("data")("availablecash") Else Sheets("Clients").Cells(5 + i, "E") = "Login Error" Sheets("Clients").Cells(5 + i, "F") = "Login Error" Sheets("Clients").Cells(5 + i, "G") = "Login Error" End If Next End Sub Sub AlgomojoMulitOrder() Dim Broker As String Dim Version As String Dim ClientID As String Dim user_apikey As String Dim api_secret As String Dim masterapikey As String Dim masterapisecret As String Dim variety As String Dim tradingsymbol As String Dim symboltoken As String Dim transactiontype As String Dim exchange As String Dim ordertype As String Dim producttype As String Dim duration As String Dim price As String Dim squareoff As String Dim stoploss As String Dim quantity As String Dim triggerprice As String Dim trailingStopLoss As String Dim disclosedquantity As String Dim MultiplierQty As Long Dim apidata As String Dim numofRows As Long Dim i As Integer Broker = Sheets("PlaceOrder").Cells(5, "A").Value Version = Sheets("PlaceOrder").Cells(5, "B").Value masterapikey = Sheets("PlaceOrder").Cells(5, "D").Value masterapisecret = Sheets("PlaceOrder").Cells(5, "E").Value tradingsymbol = Sheets("PlaceOrder").Cells(5, "F").Value symboltoken = Sheets("PlaceOrder").Cells(5, "G").Value quantity = Sheets("PlaceOrder").Cells(5, "H").Value transactiontype = Sheets("PlaceOrder").Cells(5, "I").Value exchange = Sheets("PlaceOrder").Cells(5, "J").Value variety = Sheets("PlaceOrder").Cells(5, "K").Value ordertype = Sheets("PlaceOrder").Cells(5, "L").Value producttype = Sheets("PlaceOrder").Cells(5, "M").Value duration = Sheets("PlaceOrder").Cells(5, "N").Value price = Sheets("PlaceOrder").Cells(5, "O").Value triggerprice = Sheets("PlaceOrder").Cells(5, "P").Value squareoff = Sheets("PlaceOrder").Cells(5, "Q").Value stoploss = Sheets("PlaceOrder").Cells(5, "R").Value trailingStopLoss = Sheets("PlaceOrder").Cells(5, "S").Value disclosedquantity = Sheets("PlaceOrder").Cells(5, "T").Value 'clear the table contents of the display output Worksheets("PlaceOrder").Range("C16:F200").Clear Sheets("Clients").Activate numofRows = Sheets("Clients").Range("A5", Range("A5").End(xlDown)).Rows.Count apidata = "" Else apidata = apidata & """>," End If Next apidata = apidata & "]>"PlaceOrder = amCoect (MasterApikey ، MasterApisecret ، کارگزار ، نسخه ،" PlaceMultiorder "، Apidata) Set PlaceOrderResponse = jsonConverter. parsejson (PlaceOrder) برای i = 0 به numofrows - 1 if strcomp (placeorderResponse (i + 1) (" پیام ")، "موفقیت") = 0 و سپس برگه ها ("PlaceOrder"). سلول ها (16 + I ، "D"). مقدار = ورق های PlaceOrderResponse (I + 1) ("پیام") ("PlaceOrder"). سلول ها (16 +من ، "E"). مقدار = PlaceOrderResponse (I + 1) ("Data") ("Script") برگه ("PlaceOrder"). سلول ها (16 + I ، "F"). مقدار = PlaceOrderResponse (I + 1) ("داده") ("OrderID") برگه ها ("PlaceOrder"). سلول ها (16 + I ، "F"). NumberFormat = "0" ورق های دیگر ("PlaceOrder"). سلول ها (16 + I ، "D") =" خطای ورود به سیستم "(" PlaceOrder "). سلول ها (16 + I ،" E ") =" خطای ورود به سیستم "(" PlaceOrder "). سلول ها (16 + I ،" F ") =" خطای ورود به سیستم"پایان اگر بعدی" برگه های پاسخ چندر را بررسی کنید ("PlaceOrder"). سلولها (12 ، "D") = PlaceOrder End Sub Private Function AMCoect (API_KEY به عنوان رشته ، api_secret به عنوان رشته ، کارگزار به عنوان رشته ، نسخه به عنوان رشته ، api_name به عنوانرشته ، intd as string) به عنوان رشته dim objhttp به عنوان نتیجه DIM نتیجه به عنوان رشته dim postdate به عنوان رشته dim brkprefix به عنوان رشته dim dim baseurl به عنوان رشته baseurl = "https: //" & lcase (کارگزار) و "api. algomojo. com/" "و نسخه و "/" postdata = "" "msgbox (postdata) objhttp = createObject (" msxml2. serverxmlhttp ") url = baseurl & api_name objhttp. open" post "، url ، false false objhttp. settp. seteSteesteStrehesteSheader""Application/JSON" OBJHTTP. SEND (POSTDATA) نتیجه = OBJHTTP. RESPONSETEX
کد منبع VBA برای AliceBlue ، Zebu ، Tradejini ، MasterTrust
Sub FetchLogin() Dim Broker As String Dim Version As String Dim uid As String Dim apikey As String Dim apisecret As String Dim apidata As String Dim segment As String Dim Exchange As String Dim product As String Dim numofRows As Integer Dim i As Integer Version = "1.0" segment = "ALL" Exchange = "" product = "" numofRows = Range("A5", Range("A5").End(xlDown)).Rows.Count For i = 0 To numofRows - 1 Broker = Sheets("Clients").Cells(5 + i, "A").Value uid = Sheets("Clients").Cells(5 + i, "B").Value apikey = Sheets("Clients").Cells(5 + i, "C").Value apisecret = Sheets("Clients").Cells(5 + i, "D").Value apidata = "" Limits = AMCoect(apikey, apisecret, Broker, Version, "Limits", apidata) 'MsgBox (Limits) Set LimitsResponse = JsonConverter.ParseJson(Limits) If StrComp(LimitsResponse("stat"), "Ok") = 0 Then Sheets("Clients").Cells(5 + i, "F") = LimitsResponse("OpeningBalance") Sheets("Clients").Cells(5 + i, "G") = LimitsResponse("Netcashavailable") Sheets("Clients").Cells(5 + i, "H") = LimitsResponse("tuover") Else Sheets("Clients").Cells(5 + i, "F") = "Login Error" Sheets("Clients").Cells(5 + i, "G") = "Login Error" Sheets("Clients").Cells(5 + i, "H") = "Login Error" End If Next End Sub Sub AlgomojoMulitOrder() Dim Broker As String Dim Version As String Dim ClientID As String Dim user_apikey As String Dim api_secret As String Dim masterapikey As String Dim masterapisecret As String Dim s_prdt_ali As String Dim Tsym As String Dim exch As String Dim Ttranstype As String Dim Ret As String Dim prctyp As String Dim qty As String Dim discqty As String Dim MktPro As String Dim Price As String Dim TrigPrice As String Dim Pcode As String Dim AMO As String Dim MultiplierQty As Long Dim apidata As String Dim numofRows As Long Dim i As Integer s_prdt_ali = "BO:BO||CNC:CNC||CO:CO||MIS:MIS||NRML:NRML" MktPro = "NA" discqty = "0" AMO = "NO" Broker = Sheets("PlaceOrder").Cells(5, "A").Value Version = Sheets("PlaceOrder").Cells(5, "B").Value masterapikey = Sheets("PlaceOrder").Cells(5, "D").Value masterapisecret = Sheets("PlaceOrder").Cells(5, "E").Value Tsym = Sheets("PlaceOrder").Cells(5, "F").Value qty = Sheets("PlaceOrder").Cells(5, "G").Value Ttranstype = Sheets("PlaceOrder").Cells(5, "H").Value exch = Sheets("PlaceOrder").Cells(5, "I").Value Pcode = Sheets("PlaceOrder").Cells(5, "J").Value prctyp = Sheets("PlaceOrder").Cells(5, "K").Value Ret = Sheets("PlaceOrder").Cells(5, "L").Value Price = Sheets("PlaceOrder").Cells(5, "M").Value TrigPrice = Sheets("PlaceOrder").Cells(5, "N").Value discqty = Sheets("PlaceOrder").Cells(5, "O").Value 'clear the table contents of the display output Worksheets("PlaceOrder").Range("C16:F200").Clear Sheets("Clients").Activate numofRows = Sheets("Clients").Range("A5", Range("A5").End(xlDown)).Rows.Count apidata = "" Else apidata = apidata & """>," End If Next apidata = apidata & "]>"PlaceOrder = amCoect (MasterApikey ، MasterApisecret ، کارگزار ، نسخه ،" PlaceMultiorder "، Apidata) Set PlaceOrderResponse = jsonConverter. parsejson (PlaceOrder) برای i = 0 به numofrows - 1 if strcomp (placeorderResponse (i + 1) (" stat ")، "خوب") = 0 و سپس برگه ها ("PlaceOrder"). سلول ها (16 + I ، "D"). مقدار = ورق های PlaceOrderResponse (I + 1) ("Stat") ("PlaceOrder") سلول ها (16 +من ، "e"). مقدار = برگه های tsym ("placeorder"). سلول ها (16 + i ، "f")16 + i ، "f"). numberformat = "0" ورق های دیگر ("PlaceOrder"). سلول ها (16 + i ، "d") = "خطای ورود به سیستم" ("PlaceOrder") سلول ها (16 + i ،"E") = "خطای ورود به سیستم" ("PlaceOrder"). سلول ها (16 + I ، "F") = "خطای ورود به سیستم" پایان اگر بعدی ورق های پاسخ چندرسانه ای را بررسی کنید ("PlaceOrder")."D") = PlaceOrder End Sub Private Function AmCoect (api_key به عنوان رشته ، api_secret به عنوان رشته ، کارگزار به عنوان رشته ، نسخه به عنوان رشته ، api_name به عنوان رشته ، intd as string) به عنوان رشته dim objhttp به عنوان نتیجه دیم شیء به عنوان رشته کم رنگ به عنوان رشته به عنوان رشته رشتهDIM BRKPREFIX به عنوان رشته dim baseurl به عنوان رشته baseurl = "https: //" & lcase (کارگزار) و "api. algomojo. com/" & نسخه و "/" postdata = "" msgbox (postdata) set objhttp = createObject ("msxml2. serverxmlhttp") url = baseurl & api_name objhttp. open "پست" ، url ، false objhtp. setrequestheader "نوع محتوا" ، "برنامه/json" objhttp. send (postdata) نتیجه = objhhttp. responsettpamcoect = عملکرد پایان نتیجه
کد VBA برای Firstock
Sub FetchLogin() Dim Broker As String Dim Version As String Dim uid As String Dim apikey As String Dim apisecret As String Dim apidata As String Dim segment As String Dim Exchange As String Dim product As String Dim numofRows As Integer Dim i As Long Dim Total As Long Version = "1.0" numofRows = Range("A5", Range("A5").End(xlDown)).Rows.Count If numofRows = 1 Then Total = numofRows Else Total = numofRows - 1 End If For i = 0 To Total Broker = Sheets("Clients").Cells(5 + i, "A").Value uid = Sheets("Clients").Cells(5 + i, "B").Value apikey = Sheets("Clients").Cells(5 + i, "C").Value apisecret = Sheets("Clients").Cells(5 + i, "D").Value apidata = "" 'MsgBox (apidata) Limits = AMCoect(apikey, apisecret, Broker, Version, "Limits", apidata) Set LimitsResponse = JsonConverter.ParseJson(Limits) If StrComp(LimitsResponse("stat"), "Ok") = 0 Then Sheets("Clients").Cells(5 + i, "F") = LimitsResponse("cash") Sheets("Clients").Cells(5 + i, "G") = LimitsResponse("daycash") Sheets("Clients").Cells(5 + i, "H") = LimitsResponse("brkcollamt") Else Sheets("Clients").Cells(5 + i, "F") = "Login Error" Sheets("Clients").Cells(5 + i, "G") = "Login Error" Sheets("Clients").Cells(5 + i, "H") = "Login Error" End If Next End Sub Sub AlgomojoMulitOrder() Dim Broker As String Dim Version As String Dim ClientID As String Dim user_apikey As String Dim api_secret As String Dim masterapikey As String Dim masterapisecret As String Dim s_prdt_ali As String Dim tsym As String Dim exch As String Dim trantype As String Dim ret As String Dim prctyp As String Dim qty As String Dim dscqty As String Dim MktPro As String Dim prc As String Dim trgprc As String Dim prd As String Dim AMO As String Dim ordersource As String Dim remarks As String Dim MultiplierQty As Long Dim apidata As String Dim numofRows As Long Dim i As Integer s_prdt_ali = "BO:BO||CNC:CNC||CO:CO||MIS:MIS||NRML:NRML" MktPro = "NA" dscqty = "0" AMO = "NO" ordersource = "WEB" remarks = "EXCEL" Broker = Sheets("PlaceOrder").Cells(5, "A").Value Version = Sheets("PlaceOrder").Cells(5, "B").Value masterapikey = Sheets("PlaceOrder").Cells(5, "D").Value masterapisecret = Sheets("PlaceOrder").Cells(5, "E").Value tsym = Sheets("PlaceOrder").Cells(5, "F").Value qty = Sheets("PlaceOrder").Cells(5, "G").Value trantype = Sheets("PlaceOrder").Cells(5, "H").Value exch = Sheets("PlaceOrder").Cells(5, "I").Value prd = Sheets("PlaceOrder").Cells(5, "J").Value prctyp = Sheets("PlaceOrder").Cells(5, "K").Value ret = Sheets("PlaceOrder").Cells(5, "L").Value prc = Sheets("PlaceOrder").Cells(5, "M").Value trgprc = Sheets("PlaceOrder").Cells(5, "N").Value dscqty = Sheets("PlaceOrder").Cells(5, "O").Value 'clear the table contents of the display output Worksheets("PlaceOrder").Range("C16:F200").Clear Sheets("Clients").Activate numofRows = Sheets("Clients").Range("A5", Range("A5").End(xlDown)).Rows.Count apidata = "" Else apidata = apidata & """>," End If Next apidata = apidata & "]>"'Msgbox (Apidata) PlaceOrder = amcoect (masterapikey ، masterapisecret ، کارگزار ، نسخه ،" placeMultiorder "، apidata) set placeorderresponse = jsonconverter. parsejson (placeorder) برای i = 0 to numofrows - 1 if strcomp (placeorderresponse (i + 1))("stat") ، "خوب") = 0 سپس برگه ها ("PlaceOrder"). سلول ها (16 + i ، "D"). سلول (16 + i ، "E"). مقدار = برگه TSym ("PlaceOrder"). سلول ها (16 + I ، "F")") . cells (16 + i ،" f "). numberFormat =" 0 "ورق های دیگر (" PlaceOrder "). سلول ها (16 + I ،" D ") =" خطای خطای "(" PlaceOrder ") سلول ها(16 + i ، "e") = "خطای ورود به سیستم" ("PlaceOrder"). سلول ها (16 + i ، "f") = "خطای ورود به سیستم" پایان اگر بعدی برگه های پاسخ چندر را بررسی کنید ("PlaceOrder"). Cells (12 ، "D") = PlaceOrder End Sub Private Function AmCoect (api_key به عنوان رشته ، api_secret به عنوان رشته ، کارگزار به عنوان رشته ، نسخه به عنوان رشته ، api_name به عنوان رشته ، intd به عنوان رشته) به عنوان رشته dim objhttp به عنوان نتیجه کم نوررشته کم نور به عنوان رشته dim brkprefix به عنوان رشته dim dim baseurl به عنوان رشته baseurl = "https: //" & lcase (کارگزار) و "api. algomojo. com/" و نسخه و "/" postdata = "" "msgbox (postData)set objhttp = createObject ("msxml2. serverxmlhtp") url = baseurl & api_name objhttp. open "پست" ، url ، objhttp. setrequestheader "از نوع محتوا" ، "برنامه/json" objhttp. send (pestdata)تنظیم پاسخ outext objhttp = هیچ چیز AmCoect = عملکرد پایان نتیجه
وام
اخبار رمز ارزها...
ما را در سایت اخبار رمز ارزها دنبال می کنید
برچسب :
نویسنده : منیژه سلیمی
بازدید : <-PostHit->
تاريخ : چهارشنبه
15 شهريور
1402 ساعت: 17:04