Type/to search
8
Follow
1364
Followers
উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্ম API আপগ্রেডের বিশদ ব্যাখ্যা: কৌশল ডিজাইনের অভিজ্ঞতা উন্নত করা
Original
Created 2024-06-28 09:08:29  Updated 2024-11-01 10:08:12
 12
 2568

img

ভূমিকা

নয় বছরের প্রযুক্তিগত পুনরাবৃত্তির পর, উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্মটি বহুবার পুনর্গঠিত হয়েছে, যদিও ব্যবহারকারী হিসাবে আমরা এটি লক্ষ্য করিনি। বিগত দুই বছরে, প্ল্যাটফর্মটি ব্যবহারকারীর অভিজ্ঞতার পরিপ্রেক্ষিতে প্রচুর অপ্টিমাইজেশন এবং আপগ্রেড করেছে, যার মধ্যে UI ইন্টারফেসের ব্যাপক আপগ্রেড, সাধারণত ব্যবহৃত পরিমাণগত ট্রেডিং সরঞ্জামগুলিকে সমৃদ্ধ করা এবং আরও ব্যাকটেস্ট ডেটা সমর্থন যোগ করা।

কৌশল ডিজাইনকে আরও সুবিধাজনক, লেনদেনের যুক্তি পরিষ্কার এবং নতুনদের জন্য শুরু করা সহজ করার জন্য, প্ল্যাটফর্মটি কৌশল দ্বারা ব্যবহৃত API ইন্টারফেস আপগ্রেড করেছে। এই নতুন বৈশিষ্ট্যগুলি সক্ষম করতে হোস্টের সর্বশেষ সংস্করণ ব্যবহার করুন৷ প্ল্যাটফর্মটি এখনও সর্বাধিক পরিমাণে পুরানো ইন্টারফেস কলগুলির সাথে সামঞ্জস্যপূর্ণ। এপিআই ইন্টারফেসের নতুন ফাংশন সম্পর্কে তথ্য একই সাথে উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্মের API ডকুমেন্টেশনে আপডেট করা হয়েছে:

সুতরাং এই নিবন্ধটির মাধ্যমে, আসুন আমরা একটি দ্রুত নজর দিই যে ইন্টারফেস আপগ্রেড এবং আপডেটগুলি উপলব্ধ এবং বর্তমান API-এর সাথে সামঞ্জস্যপূর্ণ হওয়ার জন্য পুরানো কৌশলগুলি ব্যবহার করার জন্য কী পরিবর্তন প্রয়োজন।

1. নতুন API ইন্টারফেস

exchange.GetTickers ফাংশন

বহু-বৈচিত্র্যের কৌশল এবং পূর্ণ-বাজার পর্যবেক্ষণ কৌশলগুলি ডিজাইন করার জন্য। এই সমষ্টিগত বাজার ইন্টারফেসটি কৌশলগুলিকে বিকাশ করা সহজ করতে এবং চাকাটিকে পুনরায় উদ্ভাবন এড়াতে অপরিহার্য। উদ্ভাবকের পরিমাণগত ট্রেডিং প্ল্যাটফর্ম APIs যেমন এক্সচেঞ্জগুলিকে এনক্যাপসুলেট করে।

যদি এক্সচেঞ্জের এমন একটি ইন্টারফেস না থাকে (স্বতন্ত্র বিনিময়), কল করুনexchange.GetTickers()একটি ত্রুটি রিপোর্ট করা হবে: সমর্থিত নয়।

এই ফাংশনের কোনো পরামিতি নেই এবং এক্সচেঞ্জের সামগ্রিক বাজার ইন্টারফেসে সমস্ত প্রকারের রিয়েল-টাইম মার্কেট ডেটা ফেরত দেবে। এটি সহজভাবে বোঝা যায়:

exchange.GetTickers()ফাংশন হলexchange.GetTicker()ফাংশনের সম্পূর্ণ সংস্করণের জন্য অনুরোধ করুন (সাবধানে দেখুন, এই দুটি ফাংশনের নামের মধ্যে পার্থক্য হল একবচন এবং বহুবচন)।

আমরা OKX স্পট সিমুলেশন ডিস্ক পরিবেশ পরীক্ষা ব্যবহার করি:

javascript
function main() { exchange.IO("simulate", true) var tickers = exchange.GetTickers() if (!tickers) { throw "tickers error" } var tbl = {type: "table", title: "test tickers", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []} for (var i in tickers) { var ticker = tickers[i] tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume]) } LogStatus("`" + JSON.stringify(tbl) + "`") return tickers.length }

img

exchange.CreateOrder ফাংশন

নতুনexchange.CreateOrder()ফাংশন এই আপগ্রেড ফোকাস বলা যেতে পারে.exchange.CreateOrder()ফাংশনের সবচেয়ে বড় ফাংশন হল ফাংশনের প্যারামিটারে সরাসরি অর্ডারের ধরন এবং দিক নির্দেশ করা। এইভাবে, আপনি আর সিস্টেম দ্বারা সেট করা বর্তমান ট্রেডিং পেয়ার, চুক্তি কোড, ট্রেডিং নির্দেশাবলী ইত্যাদির উপর নির্ভর করবেন না।

বহু-বৈচিত্র্যের ট্রেডিং অর্ডার পরিস্থিতি এবং সমসাময়িক পরিস্থিতিতে, ডিজাইনের জটিলতা অনেক কমে যায়।exchange.CreateOrder()ফাংশনের চারটি প্যারামিটার হলsymbolsidepriceamount

OKX ফিউচার সিমুলেটেড ডিস্ক পরিবেশ পরীক্ষা ব্যবহার করুন:

javascript
function main() { exchange.IO("simulate", true) var id1 = exchange.CreateOrder("ETH_USDT.swap", "buy", 3300, 1) var id2 = exchange.CreateOrder("BTC_USDC.swap", "closebuy", 70000, 1) var id3 = exchange.CreateOrder("LTC_USDT.swap", "sell", 110, 1) Log("id1:", id1, ", id2:", id2, ", id3:", id3) }

img

এটি শুধুমাত্র 3 বার ব্যবহার করা হয়েছেexchange.CreateOrder()ফাংশন কলটি বিভিন্ন ধরণের এবং দিকনির্দেশের তিনটি ফিউচার অর্ডার দিয়েছে।

exchange.GetHistoryOrders ফাংশন

নতুনexchange.GetHistoryOrders()ফাংশনটি একটি নির্দিষ্ট বৈচিত্র্যের ঐতিহাসিক লেনদেনের আদেশ পেতে ব্যবহার করা হয় এই ফাংশনের জন্য এক্সচেঞ্জ ইন্টারফেস থেকেও সমর্থন প্রয়োজন৷

ঐতিহাসিক অর্ডার অনুসন্ধানের জন্য, বিভিন্ন এক্সচেঞ্জ দ্বারা বাস্তবায়িত ইন্টারফেসগুলি ব্যাপকভাবে পরিবর্তিত হয়:

  • কিছু সমর্থন পেজিং প্রশ্ন, অন্যরা না;
  • কিছু এক্সচেঞ্জের একটি ক্যোয়ারী উইন্ডো পিরিয়ড থাকে, অর্থাৎ, যে অর্ডারগুলি N দিনের বেশি সেগুলি জিজ্ঞাসা করা যায় না;
  • বেশিরভাগ এক্সচেঞ্জ একটি নির্দিষ্ট সময়ে অনুসন্ধান সমর্থন করে, কিন্তু কিছু করে না;

এই ধরণের ইন্টারফেসটি সর্বাধিক মাত্রার সামঞ্জস্যের সাথে আবদ্ধ হয়, এটি নীতির চাহিদা এবং প্রত্যাশা পূরণ করে কিনা সেদিকে মনোযোগ দিতে হবে৷

বিস্তারিত ফাংশন বিবরণ এখানে পুনরাবৃত্তি করা হবে না আপনি API ডকুমেন্টেশনে সিনট্যাক্স ম্যানুয়াল উল্লেখ করতে পারেন:

https://www.fmz.com/syntax-guide#fun_exchange.gethistoryorders

Binance স্পট বাস্তব পরিবেশ ব্যবহার করে পরীক্ষা করুন:

javascript
function main() { var orders = exchange.GetHistoryOrders("ETH_USDT") // 写入图表 var tbl = {type: "table", title: "test GetHistoryOrders", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []} for (var order of orders) { tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType]) } LogStatus("orders.length:", orders.length, "\n", "`" + JSON.stringify(tbl) + "`") }

img

exchange.GetPositions ফাংশন

পজিশন ডাটা প্রাপ্তির জন্য ফাংশনের পুরাতন সংস্করণexchange.GetPosition(). ফাংশন নামকরণ শব্দার্থবিদ্যার সাথে আরও ভালভাবে ফিট করার জন্য, এই আপগ্রেডটি একটি নতুন অবস্থান অধিগ্রহণ ফাংশন যোগ করে:exchange.GetPositions(). একই সময়ে, এটি এখনও GetPosition ফাংশনের সাথে সামঞ্জস্যপূর্ণ/আপগ্রেড।

মনে রাখবেন যে দুটি ফাংশন নামের মধ্যে একমাত্র পার্থক্য হল শেষে একটি s কারণ GetPositions আরও শব্দার্থিক, এটি ভবিষ্যতে GetPositions ব্যবহার করার পরামর্শ দেওয়া হয়।

exchange.GetPositions()ফাংশনের তিনটি কলিং ফর্ম রয়েছে:

  • exchange.GetPositions()
    যখন কোন পরামিতি পাস করা হয় না, বর্তমানের উপর ভিত্তি করেট্রেডিং জোড়া / চুক্তি কোডসেটিংস, বর্তমান মাত্রায় সমস্ত বৈচিত্র্যের অবস্থানের ডেটা অনুরোধ করুন।

  • exchange.GetPositions("ETH_USDT.swap")
    নির্দিষ্ট পণ্যের তথ্য নির্দিষ্ট করার সময় (ETH_USDT.swap-এর বিন্যাস FMZ প্ল্যাটফর্ম দ্বারা সংজ্ঞায়িত করা হয়), নির্দিষ্ট পণ্যের অবস্থানের ডেটার জন্য অনুরোধ করুন।
    উদাহরণ:BTC_USD.swapETH_USDT.swapETH_USDT.quarterঅপেক্ষা করুন
    BTC_USD.swap: BTC-এর মুদ্রা-ভিত্তিক চিরস্থায়ী চুক্তি।
    ETH_USDT.swap: ETH-এর U-ভিত্তিক চিরস্থায়ী চুক্তি।
    ETH_USDC.swap: ETH-এর USDC-ভিত্তিক চিরস্থায়ী চুক্তি। (USDT ছাড়াও, আপনি বিভিন্ন উদ্ধৃতি মুদ্রাও নির্দিষ্ট করতে পারেন, তাই আমি বিশদে যাব না)
    ETH_USDT.quarter: ETH-এর U-ভিত্তিক ত্রৈমাসিক বিতরণ চুক্তি।
    BTC_USD.BTC-USD-201226-24250-C: বিটিসির কয়েন-মার্জিনড অপশন কন্ট্রাক্ট।

  • exchange.GetPositions("USDT.swap")
    নির্দিষ্ট মাত্রা পরিসরের উপর ভিত্তি করে সমস্ত প্রকারের জন্য অবস্থানের ডেটা অনুরোধ করুন।
    USDT.swap: U-ভিত্তিক চিরস্থায়ী চুক্তি পরিসর।
    USDT.futures: U-স্ট্যান্ডার্ড ডেলিভারি চুক্তি পরিসীমা।
    USDC.swap: USDC-ভিত্তিক চিরস্থায়ী চুক্তির পরিসর। (USDT ছাড়াও, আপনি বিভিন্ন উদ্ধৃতি মুদ্রাও উল্লেখ করতে পারেন, তাই আমি বিশদে যাব না)
    USDC.futures: USDC স্ট্যান্ডার্ড ডেলিভারি চুক্তি পরিসীমা।
    USD.swap: মুদ্রা-ভিত্তিক চিরস্থায়ী চুক্তির পরিসর।
    USD.futures: কয়েন-ভিত্তিক ডেলিভারি চুক্তির পরিসর।
    USDT.option: U-ভিত্তিক বিকল্প চুক্তির পরিসর।
    USD.option: মুদ্রা-ভিত্তিক বিকল্প চুক্তির পরিসর।

    কিছু বিশেষ বিনিময় চুক্তির মাত্রা বিভাগ:
    USDT.futures_combo: Futures_Deribit এক্সচেঞ্জের CFD সমন্বয় চুক্তি।
    USD.futures_ff: ক্র্যাকেন এক্সচেঞ্জে ফিউচার_হাইব্রিড মার্জিন ডেলিভারি চুক্তি।
    USD.swap_pf: Futures_Kraken এক্সচেঞ্জে হাইব্রিড মার্জিন চিরস্থায়ী চুক্তি।

    এক্সচেঞ্জ API ইন্টারফেস দ্বারা সমর্থিত নয় এমন মাত্রাগুলির জন্য, একটি ত্রুটি রিপোর্ট করা হবে এবং কল করার সময় একটি শূন্য মান ফেরত দেওয়া হবে।

OKX ফিউচার সিমুলেটেড ডিস্ক পরিবেশ পরীক্ষা ব্যবহার করুন:

javascript
function main() { exchange.IO("simulate", true) exchange.SetCurrency("BTC_USDT") exchange.SetContractType("swap") var p1 = exchange.GetPositions() var p2 = exchange.GetPositions("BTC_USDT.swap") var tbls = [] for (var positions of [p1, p2]) { var tbl = {type: "table", title: "test GetPosition/GetPositions", cols: ["Symbol", "Amount", "Price", "FrozenAmount", "Type", "Profit", "Margin", "ContractType", "MarginLevel"], rows: []} for (var p of positions) { tbl.rows.push([p.Symbol, p.Amount, p.Price, p.FrozenAmount, p.Type, p.Profit, p.Margin, p.ContractType, p.MarginLevel]) } tbls.push(tbl) } LogStatus("`" + JSON.stringify(tbls) + "`") }

img

যখন পাসexchange.GetPositions()ফাংশনের প্যারামিটারগুলি হলETH_USDT.swapএই সময়ে, আপনি ETH-এর U-ভিত্তিক চিরস্থায়ী চুক্তির অবস্থানের ডেটা পেতে পারেন।

যখন পাস করা হয়নিexchange.GetPositions()ফাংশন প্যারামিটার, আপনি এক্সচেঞ্জে সমস্ত U-ভিত্তিক চিরস্থায়ী চুক্তির অবস্থানের ডেটা পেতে পারেন (কারণ বর্তমান ট্রেডিং পেয়ারটি BTC_USDT এবং চুক্তিটি অদলবদল, অনুরোধটি বর্তমান ট্রেডিং পেয়ার এবং চুক্তির মাত্রা পরিসরের উপর ভিত্তি করে) কল করার সমতুল্যexchange.GetPositions("USDT.swap"), একটি অনুরোধ পরিসীমা নির্দিষ্ট করুন।

exchange.GetFundings ফাংশন

নতুন যোগ করা GetFundings ফাংশন ফিউচার এক্সচেঞ্জে চিরস্থায়ী চুক্তির অর্থায়নের হার পেতে পারে। ফাংশনের একটি প্যারামিটার চিহ্ন রয়েছে। ফাংশন ফান্ডিং স্ট্রাকচারের একটি অ্যারে প্রদান করে।

  • প্রতীক পরামিতি নির্দিষ্ট করুন: নির্দিষ্ট বৈচিত্র্যের ফান্ডিং রেট ইনফরমেশন স্ট্রাকচার অ্যারে (ফান্ডিং অ্যারে) দিন।
  • প্রতীক পরামিতি নির্দিষ্ট না করে: বর্তমান ট্রেডিং পেয়ার এবং চুক্তি কোডের মাত্রা অনুযায়ী সমস্ত বৈচিত্র্যের ডেটা ফেরত দিন।
  • যদি এক্সচেঞ্জকে একটি নির্দিষ্ট বৈচিত্র উল্লেখ করতে হয়, তবে এটি অবশ্যই প্রতীক প্যারামিটারে পাস করতে হবে, যা নির্দিষ্ট বৈচিত্র্যের কোড, উদাহরণস্বরূপ:BTC_USDT.swap. যদি কোন প্যারামিটার পাস না হয় বা একটি পরিসীমা ফাংশন পাস করা হয়, একটি ত্রুটি রিপোর্ট করা হবে প্রতীক পরামিতি সমর্থিত নয়।

2. API ইন্টারফেস আপগ্রেড

exchange.GetTicker ফাংশন

বাজার ফাংশনexchange.GetTicker()এই আপগ্রেড প্রধানত প্রতীক পরামিতি যোগ করে। এই ফাংশনটি বর্তমান ট্রেডিং পেয়ার এবং কন্ট্রাক্ট কোড ছাড়াই প্যারামিটার দ্বারা নির্দিষ্ট করা বিভিন্ন তথ্যের উপর ভিত্তি করে সরাসরি মার্কেট ডেটার জন্য অনুরোধ করার অনুমতি দেয়। কোডিং প্রক্রিয়া সরলীকৃত। একই সময়ে, এটি এখনও পরামিতি পাস না করে কলিং পদ্ধতির সাথে সামঞ্জস্যপূর্ণ, এবং পুরানো প্ল্যাটফর্ম কৌশলের সাথে সর্বাধিক পরিমাণে সামঞ্জস্যপূর্ণ।

প্যারামিটারsymbolবিনিময় বস্তুর জন্যexchangeহ্যাঁ স্পট/ফিউচারের বিভিন্ন ফর্ম্যাট রয়েছে:

  • স্পট বিনিময় বস্তু
    বিন্যাস হল:AAA_BBB, AAA প্রতিনিধিত্ব করে বেসকারেন্সি, যা লেনদেনের মুদ্রা, এবং BBB quoteCurrency প্রতিনিধিত্ব করে, যা হল মূল্যের মুদ্রা। মুদ্রার নাম সব বড় অক্ষরে।
    যেমন: BTC_USDT স্পট ট্রেডিং পেয়ার।
  • ফিউচার বিনিময় বস্তু
    বিন্যাস হল:AAA_BBB.XXX, AAA প্রতিনিধিত্ব করে বেসকারেন্সি, যা লেনদেনের মুদ্রা, BBB quoteCurrency প্রতিনিধিত্ব করে, যা হল মূল্যের মুদ্রা, এবং XXX চুক্তির কোডকে প্রতিনিধিত্ব করে, যেমন চিরস্থায়ী চুক্তির অদলবদল। মুদ্রার নামগুলি বড় হাতের অক্ষরে এবং চুক্তি কোডগুলি ছোট হাতের অক্ষরে।
    যেমন: BTC_USDT.swap, BTC-এর U-ভিত্তিক চিরস্থায়ী চুক্তি।

পরীক্ষা করার জন্য Binance ফিউচারের বাস্তব বাণিজ্য পরিবেশ ব্যবহার করুন:

javascript
var symbols = ["BTC_USDT.swap", "BTC_USDT.quarter", "BTC_USD.swap", "BTC_USD.next_quarter", "ETH_USDT.swap"] function main() { exchange.SetCurrency("ETH_USD") exchange.SetContractType("swap") var arr = [] var t = exchange.GetTicker() arr.push(t) for (var symbol of symbols) { var ticker = exchange.GetTicker(symbol) arr.push(ticker) } var tbl = {type: "table", title: "test GetTicker", cols: ["Symbol", "High", "Open", "Low", "Last", "Buy", "Sell", "Time", "Volume"], rows: []} for (var ticker of arr) { tbl.rows.push([ticker.Symbol, ticker.High, ticker.Open, ticker.Low, ticker.Last, ticker.Buy, ticker.Sell, ticker.Time, ticker.Volume]) } LogStatus("`" + JSON.stringify(tbl) + "`") return arr }

img

নির্দিষ্ট জাতের জন্য বাজারের ডেটা ডিজাইনের একটি ব্যাচের জন্য অনুরোধ করা সহজ হয়ে যায়।

এক্সচেঞ্জ.গেটডেপথ ফাংশন

GetTicker ফাংশন হিসাবে একইexchange.GetDepth()ফাংশনটি এই সময় প্রতীক পরামিতি যোগ করে। গভীরতার তথ্যের অনুরোধ করার সময় সরাসরি বৈচিত্র উল্লেখ করা সম্ভব।

পরীক্ষা করার জন্য Binance ফিউচারের বাস্তব বাণিজ্য পরিবেশ ব্যবহার করুন:

javascript
function main() { exchange.SetCurrency("LTC_USD") exchange.SetContractType("swap") Log(exchange.GetDepth()) Log(exchange.GetDepth("ETH_USDT.quarter")) Log(exchange.GetDepth("BTC_USD.swap")) }

img

exchange.GetTrades ফাংশন

GetTicker ফাংশন হিসাবে একইexchange.GetTrades()ফাংশনটি এই সময় প্রতীক পরামিতি যোগ করে। বাজারের লেনদেনের ডেটা অনুরোধ করার সময় পণ্যটি সরাসরি নির্দিষ্ট করা সম্ভব।

পরীক্ষা করার জন্য Binance ফিউচারের বাস্তব বাণিজ্য পরিবেশ ব্যবহার করুন:

javascript
function main() { var arr = [] var arrR = [] var symbols = ["LTC_USDT.swap", "ETH_USDT.quarter", "BTC_USD.swap"] for (var symbol of symbols) { var r = exchange.Go("GetTrades", symbol) arrR.push(r) } for (var r of arrR) { arr.push(r.wait()) } var tbls = [] for (var i = 0; i < arr.length; i++) { var trades = arr[i] var symbol = symbols[i] var tbl = {type: "table", title: symbol, cols: ["Time", "Amount", "Price", "Type", "Id"], rows: []} for (var trade of trades) { tbl.rows.push([trade.Time, trade.Amount, trade.Price, trade.Type, trade.Id]) } tbls.push(tbl) } LogStatus("`" + JSON.stringify(tbls) + "`") }

img

এই আপগ্রেড এছাড়াও সামঞ্জস্যপূর্ণexchange.Go()যখন ফাংশনটি একই সাথে প্ল্যাটফর্ম API ইন্টারফেসকে কল করে, তখন বিভিন্ন তথ্য নির্দিষ্ট করার জন্য প্রতীক প্যারামিটারটি পাস করা হয়।

এক্সচেঞ্জ.গেটরেকর্ডস ফাংশন

GetRecords ফাংশন এই সময় প্রধান সমন্বয় করেছে, চিহ্ন পরামিতি সমর্থন করার পাশাপাশি অনুরোধ করা কে-লাইন ডেটার বিভিন্ন তথ্য সরাসরি নির্দিষ্ট করতে। কে-লাইন পিরিয়ড নির্দিষ্ট করার জন্য মূল পিরিয়ড প্যারামিটারটি ধরে রাখা হয় এবং অনুরোধ করার সময় প্রত্যাশিত কে-লাইন দৈর্ঘ্য নির্দিষ্ট করতে একটি সীমা প্যারামিটার যোগ করা হয়। এটি GetRecords ফাংশনের পুরানো সংস্করণের সাথে সামঞ্জস্যপূর্ণ যা শুধুমাত্র পিরিয়ড প্যারামিটারে পাস করে।

exchange.GetRecords()ফাংশনটি কীভাবে কল করবেন:

  • exchange.GetRecords()
    যখন কোনো পরামিতি নির্দিষ্ট করা না থাকে, তখন বর্তমান ট্রেডিং পেয়ার/কন্ট্রাক্ট কোডের সাথে সম্পর্কিত K-লাইন ডেটা অনুরোধ করা হয় স্ট্র্যাটেজি ব্যাকটেস্ট ইন্টারফেস বা রিয়েল ট্রেডিং-এ সেট করা ডিফল্ট কে-লাইন পিরিয়ড।
  • exchange.GetRecords(60 * 15)
    যখন শুধুমাত্র কে-লাইন সাইকেল প্যারামিটার নির্দিষ্ট করা হয়, তখন বর্তমান ট্রেডিং পেয়ার/কন্ট্রাক্ট কোডের সাথে সংশ্লিষ্ট বিভিন্নটির কে-লাইন ডেটা অনুরোধ করা হয়।
  • exchange.GetRecords("BTC_USDT.swap")
    যখন শুধুমাত্র বৈচিত্র্যের তথ্য নির্দিষ্ট করা হয়, তখন নির্দিষ্ট বৈচিত্র্যের কে-লাইন ডেটা অনুরোধ করা হয় কৌশল ব্যাকটেস্ট ইন্টারফেসে বা আসল ট্রেডিংয়ের সময় সেট করা ডিফল্ট কে-লাইন সময়কাল।
  • exchange.GetRecords("BTC_USDT.swap", 60 * 60)
    কে-লাইন ডেটা অনুরোধ করার জন্য পণ্যের তথ্য এবং নির্দিষ্ট কে-লাইন সময়কাল উল্লেখ করুন।
  • exchange.GetRecords("BTC_USDT.swap", 60, 1000)
    বিভিন্ন তথ্য নির্দিষ্ট করুন, নির্দিষ্ট কে-লাইন সময়কাল নির্দিষ্ট করুন এবং কে-লাইন ডেটা অনুরোধ করার জন্য কাঙ্ক্ষিত কে-লাইন দৈর্ঘ্য নির্দিষ্ট করুন।
    নোট করুন যে যখন সীমা প্যারামিটার এক্সচেঞ্জ থেকে একটি অনুরোধের সর্বাধিক দৈর্ঘ্য অতিক্রম করে, একটি পেজিং অনুরোধ তৈরি হবে (অর্থাৎ, এক্সচেঞ্জের কে-লাইন ইন্টারফেসটিকে একাধিকবার বলা হয়)।

পরীক্ষা করার জন্য Binance ফিউচারের বাস্তব বাণিজ্য পরিবেশ ব্যবহার করুন:

javascript
function main() { exchange.SetCurrency("ETH_USDT") exchange.SetContractType("swap") var r1 = exchange.GetRecords() var r2 = exchange.GetRecords(60 * 60) var r3 = exchange.GetRecords("BTC_USDT.swap") var r4 = exchange.GetRecords("BTC_USDT.swap", 60) var r5 = exchange.GetRecords("LTC_USDT.swap", 60, 3000) Log("r1相邻Bar时间差值:", r1[1].Time - r1[0].Time, "毫秒, Bar长度:", r1.length) Log("r2相邻Bar时间差值:", r2[1].Time - r2[0].Time, "毫秒, Bar长度:", r2.length) Log("r3相邻Bar时间差值:", r3[1].Time - r3[0].Time, "毫秒, Bar长度:", r3.length) Log("r4相邻Bar时间差值:", r4[1].Time - r4[0].Time, "毫秒, Bar长度:", r4.length) Log("r5相邻Bar时间差值:", r5[1].Time - r5[0].Time, "毫秒, Bar长度:", r5.length) }

img

exchange.GetOrders ফাংশন

GetOrders ফাংশন এছাড়াও যোগ করা হয়েছেsymbolপরামিতি, আপনি একটি নির্দিষ্ট বৈচিত্র উল্লেখ করতে পারেন এবং সেই বৈচিত্র্যের অসমাপ্ত আদেশগুলি (মুলতুবি অর্ডারগুলি) জিজ্ঞাসা করতে পারেন এটি নির্দিষ্ট মাত্রা পরিসরে সমস্ত বৈচিত্র্যের অসমাপ্ত আদেশগুলি (মুলতুবি আদেশ) জিজ্ঞাসা করতে সহায়তা করে।

exchange.GetOrders()ফাংশন কলিং পদ্ধতি হল:

  • exchange.GetOrders()
    ফিউচার এক্সচেঞ্জের জন্য: যখন বর্তমানের উপর ভিত্তি করে কোনো প্যারামিটার পাস করা হয় নাট্রেডিং জোড়া / চুক্তি কোডসেটিংস, বর্তমান মাত্রা পরিসরে সমস্ত বৈচিত্র্যের সমস্ত বকেয়া অর্ডার (মুলতুবি আদেশ) অনুরোধ করুন।
    স্পট এক্সচেঞ্জের জন্য: যখন কোনো প্যারামিটার পাস করা হয় না, তখন সমস্ত স্পট বৈচিত্র্যের জন্য বকেয়া অর্ডার (মুলতুবি আদেশ) অনুরোধ করা হয়।
  • exchange.GetOrders("BTC_USDT.swap") বা বিনিময়।GetOrders("BTC_USDT")
    ফিউচার এক্সচেঞ্জের জন্য: exchange.GetOrders("BTC_USDT.swap"), BTC-এর USDT- মার্জিনড চিরস্থায়ী চুক্তির সমস্ত বকেয়া অর্ডার (মুলতুবি অর্ডার) জিজ্ঞাসা করুন।
    স্পট এক্সচেঞ্জের জন্য: exchange.GetOrders("BTC_USDT"), BTC_USDT স্পট ট্রেডিং পেয়ারের জন্য সমস্ত বকেয়া অর্ডার (মুলতুবি অর্ডার) জিজ্ঞাসা করুন।
  • শুধুমাত্র ফিউচার এক্সচেঞ্জের জন্য, এক্সচেঞ্জ.GetOrders("USDT.swap") সমস্ত প্রকারের অপূর্ণ অর্ডার (মুলতুবি থাকা অর্ডার) অনুরোধ করার জন্য মাত্রা পরিসীমা নির্দিষ্ট করতে সমর্থিত।
    ডাইমেনশন ডিভিশন রেঞ্জটি GetPositions ফাংশনের রেঞ্জের সাথে সামঞ্জস্যপূর্ণ।
    যেমন: exchange.GetOrders("USDT.swap") U-ভিত্তিক চিরস্থায়ী চুক্তির সীমার মধ্যে সমস্ত প্রকারের অপূর্ণ অর্ডার (মুলতুবি অর্ডার) অনুরোধ করে।

OKX ফিউচার সিমুলেটেড ডিস্ক পরিবেশ পরীক্ষা ব্যবহার করুন:

javascript
function main() { exchange.IO("simulate", true) exchange.SetCurrency("BTC_USDT") exchange.SetContractType("swap") // 写入图表 var tbls = [] for (var symbol of ["null", "ETH_USDT.swap", "USDT.swap"]) { var tbl = {type: "table", title: symbol, cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []} var orders = null if (symbol == "null") { orders = exchange.GetOrders() } else { orders = exchange.GetOrders(symbol) } for (var order of orders) { tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType]) } tbls.push(tbl) } LogStatus("`" + JSON.stringify(tbls) + "`") }
  • যখন কোন প্যারামিটার পাস করা হয় না, তখন বর্তমান ট্রেডিং পেয়ারের মাত্রা পরিসরের মধ্যে সমস্ত প্রকারের জন্য বকেয়া অর্ডার (মুলতুবি আদেশ) এবং চুক্তি কোড (অদলবদল) অনুরোধ করা হয়।
  • পরামিতি নির্দিষ্ট করাETH_USDT.swapপ্যারামিটার, ETH-এর USDT- মার্জিনড চিরস্থায়ী চুক্তির বকেয়া আদেশের (মুলতুবি আদেশ) অনুরোধ করুন।
  • স্ট্রিং মধ্যে পাস"USDT.swap"যখন, USDT- মার্জিনড চিরস্থায়ী চুক্তির সমস্ত বকেয়া আদেশ (মুলতুবি আদেশ) অনুরোধ করুন।

exchange.GetPosition ফাংশন

এটি এখনও পুরানো অবস্থান অধিগ্রহণ ফাংশন নামকরণের সাথে সামঞ্জস্যপূর্ণ, এবং প্রতীক পরামিতিও যোগ করা হয়েছে, যা নির্দিষ্ট অনুরোধকৃত অবস্থানের ডেটার বিভিন্ন তথ্য নির্দিষ্ট করতে পারে। ফাংশন ব্যবহার এবংexchange.GetPositions()সম্পূর্ণ সামঞ্জস্যপূর্ণ।

exchange.IO ফাংশন

জন্যexchange.IO("api", ...)সমস্ত বিনিময় বস্তুর জন্য সম্পূর্ণ অনুরোধ ঠিকানায় সরাসরি পাস করার ফাংশন সমর্থন করার জন্য ফাংশন কলিং পদ্ধতিটি আপগ্রেড করা হয়েছে।

উদাহরণস্বরূপ, যদি আপনি OKX ইন্টারফেস কল করতে চান:

GET https://www.okx.com /api/v5/account/max-withdrawal ccy: BTC

বেস ঠিকানায় সরাসরি লেখার সুবিধা প্রদান করুনhttps://www.okx.com, IO ফাংশন কল করার আগে বেস ঠিকানা পরিবর্তন করার কোন প্রয়োজন নেই।

OKX ফিউচার সিমুলেটেড ডিস্ক পরিবেশ পরীক্ষা ব্যবহার করুন:

javascript
function main() { exchange.IO("simulate", true) return exchange.IO("api", "GET", "https://www.okx.com/api/v5/account/max-withdrawal", "ccy=BTC") }

img

3. API ইন্টারফেসের প্রভাব

exchange.GetOrder ফাংশন

এই আপগ্রেড প্রধানত প্রভাবিত করেexchange.GetOrder(id)ফাংশন পরামিতিid, আইডি প্যারামিটারটি আসল এক্সচেঞ্জ অর্ডার আইডি থেকে ট্রেডিং বৈচিত্র্য সহ একটি স্ট্রিং বিন্যাসে পরিবর্তিত হয়। FMZ প্ল্যাটফর্মের সমস্ত প্যাকেজ অর্ডার আইডি এই বিন্যাসে রয়েছে।

যেমন:

  • বিনিময় আদেশে সংজ্ঞায়িত মূল বিনিময় অর্ডার আইডি হল:123456
    এই আপগ্রেডের আগে, GetOrder ফাংশন কল করতে, অর্ডার আইডি পাস করা হয়েছিল123456
  • বিনিময় ক্রমে সংজ্ঞায়িত বিনিময়-নামক পণ্য প্রতীক:BTC-USDT
    উল্লেখ্য যে এখানে যা উল্লেখ করা হয়েছে তা হল এক্সচেঞ্জের নাম দেওয়া ট্রেডিং প্রোডাক্ট কোড, FMZ প্ল্যাটফর্ম দ্বারা সংজ্ঞায়িত ট্রেডিং পেয়ার নয়।

তাই এই আপগ্রেডের পরে,exchange.GetOrder(id)ফাংশনটি পাস করার জন্য প্যারামিটার আইডির ফর্ম্যাটটি এতে সামঞ্জস্য করা হয়েছে:BTC-USDT,123456

  • আমাকে প্রথমে ব্যাখ্যা করা যাক কেন এটি এইভাবে ডিজাইন করা হয়েছে:
    কারণ ক্রিয়েটঅর্ডার ফাংশনটি এবার আপগ্রেড করা হয়েছে যাতে অর্ডার দেওয়ার জন্য সরাসরি পণ্যটি নির্দিষ্ট করা যায় (অর্ডার পণ্যটি বর্তমানে সেট করা ট্রেডিং পেয়ার এবং চুক্তি কোড থেকে আলাদা হতে পারে), যদি ফেরত দেওয়া অর্ডার আইডিতে পণ্যের তথ্য না থাকে। তাহলে এই অর্ডার আইডি ব্যবহার করা হবে না। কারণ যখন নির্দিষ্ট অর্ডার চেক করার কথা আসে, তখন আমরা জানি না কোন ধরনের (চুক্তি) অর্ডার। বেশিরভাগ এক্সচেঞ্জে অর্ডার চেক এবং বাতিল করতে, পণ্য কোড বর্ণনাকারী পরামিতিগুলি নির্দিষ্ট করতে হবে।

  • কিভাবে এই প্রভাবের সাথে সামঞ্জস্যপূর্ণ হতে হবে:
    যদি আপনি exchange.IO ফাংশন ব্যবহার করে সরাসরি এক্সচেঞ্জের অর্ডার ইন্টারফেসে কল করে অর্ডার দেন, তাহলে রিটার্ন ভ্যালুতে সাধারণত এক্সচেঞ্জের আসল প্রতীক (পণ্য কোড) এবং আসল অর্ডার আইডি থাকে। তারপর ইংরেজি কমা দিয়ে দুটিকে সংযুক্ত করলে আপনাকে FMZ প্ল্যাটফর্ম দ্বারা সংজ্ঞায়িত অর্ডার আইডি দেওয়া হবে।
    একইভাবে, আপনি যদি এফএমজেড প্ল্যাটফর্ম দ্বারা এনক্যাপসুলেট করা অর্ডার ইন্টারফেস ব্যবহার করে একটি অর্ডার দেন, যেহেতু অর্ডার আইডির শুরুতে লেনদেন টাইপ কোড, আপনি যদি আসল অর্ডার আইডি ব্যবহার করতে চান তবে আপনাকে শুধুমাত্র টাইপ কোড এবং কমা মুছতে হবে। .

exchange.CancelOrder ফাংশন

এই আপগ্রেডটি এর জন্যexchange.CancelOrder()ফাংশন প্রভাব এবংexchange.GetOrder()ফাংশন একই.

এক্সচেঞ্জ.বাই ফাংশন

এই আপগ্রেডটি এর জন্যexchange.Buy()ফাংশন প্রভাব এবংexchange.GetOrder()ফাংশন একই.exchange.Buy()ফাংশন দ্বারা ফেরত দেওয়া অর্ডার আইডি একটি নতুন কাঠামো, যেমন OKX এক্সচেঞ্জে ফিউচার অর্ডার দেওয়ার সময় আইডি ফেরত দেওয়া হয়:LTC-USDT-SWAP,1578360858053058560

বিনিময়. বিক্রি ফাংশন

এই আপগ্রেডটি এর জন্যexchange.Sell()ফাংশন প্রভাব এবংexchange.GetOrder()ফাংশন একই.exchange.Sell()ফাংশন দ্বারা ফেরত দেওয়া অর্ডার আইডি একটি নতুন কাঠামো, যেমন OKX এক্সচেঞ্জে ফিউচার অর্ডার দেওয়ার সময় আইডি ফেরত দেওয়া হয়:ETH-USDT-SWAP,1578360832820125696

exchange.GetPosition ফাংশন

পজিশন ডেটা ফাংশন এক্সচেঞ্জের জন্য শুধুমাত্র ফিউচার এক্সচেঞ্জ অবজেক্টই এই ফাংশনকে সমর্থন করে।

পুরানো সংজ্ঞা: Exchange.GetPosition() ফাংশন, যখন কোনো পরামিতি নির্দিষ্ট না করেই কল করা হয়, তখন বর্তমান ট্রেডিং পেয়ার এবং চুক্তি কোড দ্বারা সেট করা নির্দিষ্ট চুক্তির অবস্থানের ডেটা পাওয়া যায়।

সামঞ্জস্য এবং পরিবর্তনের পরে, নতুন সংজ্ঞা হল: exchange.GetPosition() ফাংশন, যখন কোনো পরামিতি নির্দিষ্ট না করেই কল করা হয়, তখন বর্তমান সেট ট্রেডিং পেয়ার এবং চুক্তি কোড দ্বারা নির্ধারিত মাত্রা পরিসরে সমস্ত বৈচিত্র্যের অবস্থান গ্রহণ করে।

উদাহরণস্বরূপ, বর্তমান ট্রেডিং পেয়ার হল BTC_USDT এবং চুক্তির কোড হল সোয়াপ৷ এই সময়ে কল করুন:

javascript
exchange.GetPosition() // 等价于调用 exchange.GetPosition("USDT.swap")

এই ফাংশনটি সমস্ত মুদ্রার U-ভিত্তিক চিরস্থায়ী চুক্তির অবস্থান ডেটার জন্য অনুরোধ করবে।

exchange.GetOrders ফাংশন

  1. স্পট এক্সচেঞ্জের জন্য:

পুরানো সংজ্ঞা: Exchange.GetOrders() ফাংশন, যখন কোনো পরামিতি উল্লেখ না করেই কল করা হয়, তখন বর্তমান ট্রেডিং পেয়ারের জন্য সমস্ত অসামান্য অর্ডার পাওয়া যায়।

সমন্বয় এবং পরিবর্তনের পরে, নতুন সংজ্ঞা হল: exchange.GetOrders() ফাংশন, যখন কোনো প্যারামিটার উল্লেখ না করে কল করা হয়, তখন সমস্ত স্পট ট্রেডিং জোড়ার অসামান্য অর্ডার পাওয়া যাবে।

  1. ফিউচার এক্সচেঞ্জের জন্য:

পুরানো সংজ্ঞা: Exchange.GetOrders() ফাংশন, যখন কোনো পরামিতি নির্দিষ্ট না করেই কল করা হয়, তখন বর্তমান ট্রেডিং পেয়ার এবং চুক্তি কোড দ্বারা নির্ধারিত নির্দিষ্ট চুক্তির জন্য সমস্ত অসামান্য অর্ডার পাওয়া যায়।

সামঞ্জস্য এবং পরিবর্তনের পরে, নতুন সংজ্ঞা হল: exchange.GetOrders() ফাংশন, যখন কোনো প্যারামিটার উল্লেখ না করেই কল করা হয়, তখন বর্তমান সেট ট্রেডিং পেয়ার এবং চুক্তি কোড দ্বারা নির্ধারিত মাত্রা পরিসরে সমস্ত অসামান্য অর্ডার পাওয়া যায়।

উদাহরণস্বরূপ, বর্তমান ট্রেডিং পেয়ার হল BTC_USD এবং চুক্তি কোড হল কোয়ার্টার। এই সময়ে কল করুন:

javascript
exchange.GetOrders() // 等价于调用 exchange.GetOrders("USD.futures")

এই ফাংশনটি সমস্ত মুদ্রার মুদ্রা-প্রান্তিক বিতরণ চুক্তির জন্য অসামান্য অর্ডার ডেটার জন্য অনুরোধ করবে।

4. কাঠামোগত সমন্বয়

টিকার গঠন

এই আপডেটটি টিকারের কাঠামোতে একটি প্রতীক ক্ষেত্র যোগ করে, যা বর্তমান টিকারের কাঠামো কোন বৈচিত্র্যের বাজার তথ্য রেকর্ড করে। এই ক্ষেত্রের বিন্যাস হিসাবে একইexchange.GetTicker()ফাংশনের প্রতীক প্যারামিটার বিন্যাস হুবহু একই।

অর্ডার কাঠামো

এই আপডেটটি অর্ডার স্ট্রাকচারে একটি সিম্বল ফিল্ড যোগ করে এই ফিল্ডের ফরম্যাট একই রকমexchange.GetTicker()ফাংশনের প্রতীক প্যারামিটার বিন্যাস হুবহু একই। নতুন অর্ডার আইডি ফর্ম্যাটে বিভিন্ন তথ্য এবং আসল অর্ডার তথ্য রেকর্ড করতে এই আপডেটটি অর্ডার কাঠামোর আইডি ক্ষেত্রটিকেও সংশোধন করেছে। পড়ুনexchange.GetOrder()ফাংশনে অর্ডার আইডির বর্ণনা এখানে পুনরাবৃত্তি করা হবে না।

অবস্থান কাঠামো

এই আপডেটটি অবস্থান কাঠামোতে একটি প্রতীক ক্ষেত্র যোগ করে এই ক্ষেত্রের বিন্যাসটি একই রকমexchange.GetTicker()ফাংশনের প্রতীক প্যারামিটার বিন্যাস হুবহু একই।

তহবিল কাঠামো

GetFundings ফাংশন ফান্ডিং স্ট্রাকচারের একটি অ্যারে প্রদান করে।

{ "Info": {...}, // 交易所资金费率接口原始应答数据 "Symbol": "BTC_USDT.swap", // FMZ平台定义的品种名称 "Interval": 28800000, // 8小时间隔,单位毫秒 "Time": 1729728000000, // 本期资金费率收取时间 "Rate": 0.0001, // 资金费率,即 0.01 % }

5. ব্যাকটেস্টিং সিস্টেম

ব্যবহারকারীর চাহিদা পূরণের জন্য, এই আপগ্রেডটি প্রথমে বাস্তব বাজারের সাথে সামঞ্জস্যপূর্ণ হবে, এবং ব্যাকটেস্ট সিস্টেমটি এক সপ্তাহের মধ্যে অভিযোজিত হবে যদি পৃথক কৌশল কোডগুলি প্রভাবিত হয়, তাহলে পরিবর্তন এবং অভিযোজন করতে এই নিবন্ধের নির্দেশাবলী অনুসরণ করুন৷

প্ল্যাটফর্ম কৌশল API ইন্টারফেস আপগ্রেড অনুসারে, প্ল্যাটফর্মের ব্যাকটেস্টিং সিস্টেমের API ইন্টারফেসগুলি সিঙ্ক্রোনাসভাবে আপডেট করা হয়েছে; এছাড়াও, ব্যাকটেস্টিং সিস্টেমে নিম্নলিখিতগুলির জন্য সমর্থন যোগ করা হয়েছে:

  • আরও বিনিময় ব্যাকটেস্ট ডেটা সমর্থন করুন।
  • সমস্ত বিনিময় বৈচিত্র্যের ব্যাকটেস্ট ডেটা সমর্থন করে।
  • ইউ-স্ট্যান্ডার্ড, কারেন্সি-স্ট্যান্ডার্ড ডেলিভারি, এবং চিরস্থায়ী চুক্তি মিশ্র বাণিজ্য।
  • ফিউচার এক্সচেঞ্জ অবজেক্ট ব্যাকটেস্টিংয়ের সময় ট্রেডিং পেয়ার পরিবর্তন করতে সহায়তা করে।
  • ব্যাকটেস্টিং সিস্টেম নতুন ফাংশনের জন্য সমর্থন যোগ করে যেমন GetTickers ফাংশন এবং GetMarkets ফাংশন।

অতিরিক্ত আপডেট

1. নতুন ক্ষেত্র ইক্যুইটি এবং UPnL অ্যাকাউন্ট কাঠামোতে যোগ করা হয়েছে

ফিউচার বিনিময় বস্তুর সদস্য ফাংশন জন্যGetAccountফিরে এসেছেAccountকাঠামো ক্ষেত্র প্রসারিত করা হয়েছে.

  • Equity
    বর্তমান মার্জিন সম্পদ মুদ্রার মোট ইক্যুইটি, কিছু ফিউচার এক্সচেঞ্জ ছাড়া যা এই ক্ষেত্রটিকে সমর্থন করে না, বেশিরভাগই এই ক্ষেত্রটিকে সমর্থন করে। প্রধানত রিয়েল-টাইম অ্যাকাউন্ট মার্জিন লাভ এবং ক্ষতি গণনা করতে ব্যবহৃত হয়।
  • UPnL
    কিছু ফিউচার এক্সচেঞ্জ ব্যতীত যা বর্তমান মার্জিন সম্পদ মুদ্রায় অনুষ্ঠিত সমস্ত অবস্থানের অবাস্তব লাভ এবং ক্ষতি সমর্থন করে না, তাদের বেশিরভাগই এই ক্ষেত্রটিকে সমর্থন করে।

2. SetMarginLevel ফাংশন প্রতীক প্যারামিটার সমর্থন আপগ্রেড করে

ফিউচার এক্সচেঞ্জ অবজেক্টের সদস্য ফাংশন SetMarginLevel আপগ্রেড করা হয়েছে এবং প্যারামিটার প্রতীক যোগ করা হয়েছে।

পরীক্ষার উদাহরণ:

javascript
function main() { exchange.SetCurrency("ETH_USDT") exchange.SetContractType("swap") // 当前交易对为ETH_USDT,合约代码为swap,设置杠杆值为10 exchange.SetMarginLevel(10) // 直接指定交易对BTC_USDT,合约代码swap,设置杠杆值20 exchange.SetMarginLevel("BTC_USDT.swap", 20) }

3. CtValCcy ক্ষেত্রটি GetMarkets ফাংশন দ্বারা প্রত্যাবর্তিত বাজার কাঠামোতে যোগ করা হয়।

  • মাঠCtValCcyএকটি চুক্তির মান একক রেকর্ড করুন একটি চুক্তির মান একক হতে পারে: BTC, USD, ETH, ইত্যাদি।
  • মাঠCtValএক্সচেঞ্জে এই ট্রেডিং বৈচিত্র্যের একটি চুক্তির সাথে সম্পর্কিত মানটি রেকর্ড করুন, এর ইউনিটগুলিতেCtValCcyক্ষেত্র রেকর্ড মুদ্রা. যেমন:CtValহল 0.01,CtValCcy"BTC" মানে একটি চুক্তির মূল্য 0.01 BTC।
Comment
All comments (12)

    我说我新开的机器人怎么回事,返回ID还带交易对名称,研究了好久,还有下单后缀的log信息现在不显示了,也是因为托管者更新的缘故吗?

    2 years ago

    您好,订单ID这个是迫不得已的改动,因为升级了直接指定品种下单,订单ID中就必须包含品种信息,否则无法确定这个订单是哪个品种的,在撤单的时候无法调用(因为大多数交易所撤单的时候需要指定品种,并且指定ID)。
    您说的下单后缀信息不显示,是指:exchange.Buy(price, amount, extMsg1, extMsg2)调用时,extMsg1, extMsg2 不在日志上显示吗?

    2 years ago

    对的,extMsg1, extMsg2不显示了。

    2 years ago

    好的,这边测试下看下。感谢您提出问题。这边会尽快处理。

    2 years ago

    好UwU

    2 years ago

    img

    请问这个问题是这次接口更新导致的吗?

    2 years ago

    您好,您发下当前的交易所设置、交易对、合约代码设置。

    2 years ago

    请详细发送测试代码与配置到工单,工程师会在第一时间回复您

    2 years ago

    希望exchange.Buy函数能增加开止损单的功能。。

    2 years ago

    交易所的条件单机制等差别有些大,支持程度各不相同,这个这边调研下看是否可行。

    2 years ago

    前排围观

    2 years ago

    感谢支持,如果有使用问题,发工单或留言都可以。

    2 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)