কমোডিটি ফিউচার সিটিপি এবং ডিজিটাল মুদ্রার এপিআইগুলির মধ্যে উল্লেখযোগ্য পার্থক্য রয়েছে, যারা ডিজিটাল মুদ্রার প্রোগ্রামযুক্ত লেনদেনের সাথে পরিচিত তাদের কমোডিটি ফিউচার প্রোগ্রামযুক্ত অভিজ্ঞতাটি সহজভাবে ক্যাপচার করা যায় না। এই পোস্টে তাদের মধ্যে পার্থক্যগুলি সংক্ষিপ্ত করা হবে।
ঐতিহাসিক
সিটিপি ইন্টারফেস ঐতিহাসিক বাজার প্রদান করে না, ঐতিহাসিক বাজারগুলিকে ব্যবসায়ীদের মাধ্যমে সমাধান করা হয়। যদি অবতরণ না করা বা অবতরণ লাইন বিচ্ছিন্নতা বাজারের ডেটা হারিয়ে যায় তবে সিটিপি কোনও বাজার পুনরুদ্ধারের প্রক্রিয়া সরবরাহ করে না। শুধুমাত্র তৃতীয় পক্ষের ডেটা দিয়ে ঐতিহাসিক বাজারগুলি অ্যাক্সেস করা যায়। ডিজিটাল মুদ্রা সাধারণত কে-লাইন এবং লেনদেনের ইতিহাস অ্যাক্সেস করার জন্য একটি ইন্টারফেস সরবরাহ করে।
চুক্তি ভিন্ন
ডিজিটাল মুদ্রার এপিআইগুলি সাধারণত REST এবং ওয়েবসকেট প্রোটোকল হয়, যা CTP এর ভিতরে নেটওয়ার্ক সম্পর্কিত লজিককে আবৃত করে, যা TCP প্রোটোকল-ভিত্তিক FTD প্রোটোকল ব্যবহার করে CTP ব্যাকগ্রাউন্ডে যোগাযোগ করে।
সিটিপি প্রোটোকলের সমস্ত ট্রেডিং এবং অর্ডারগুলি পরিবর্তনের পরে অবহিত করা হয়, যখন অর্ডার, অ্যাকাউন্ট এবং হোল্ডিং অনুসন্ধানগুলি সক্রিয় অনুসন্ধান হয়। উপরের তিনটি মোড ডিজিটাল মুদ্রা এপিআইতে অনুরূপ ফর্ম খুঁজে পাওয়া যায়।
ডেটা বিশদ ভিন্ন
সিটিপি প্রোটোকলের গভীরতা শুধুমাত্র একটি কেনা-বিক্রয় এক, পাঁচটি ফাইবার মার্কেট ফি ব্যয়বহুল, ডিজিটাল মুদ্রা সাধারণত পূর্ণ গভীরতা বা 200 ফাইবার প্রাপ্ত হয়। সিটিপি প্রকৃত লেনদেনকে ধাক্কা দেয় না, কেবলমাত্র হোল্ডিং পরিবর্তনের মাধ্যমে প্রত্যাখ্যান করতে পারে, যখন ডিজিটাল মুদ্রা এক্সচেঞ্জ এপিআই প্রকৃত বেতন লেনদেন পেতে পারে। অভ্যন্তরীণ সিটিপি প্ল্যাটফর্মের ট্রেডিং ডেটা টিক স্তরটি 1 সেকেন্ডের 2 টি টিক। ডিজিটাল মুদ্রা এক্সচেঞ্জের ওয়েবসকেট সর্বাধিক 1 সেকেন্ডে 10 বার করতে পারে।
অ্যাক্সেস সীমাবদ্ধতা ভিন্ন
ডিজিটাল মুদ্রা এক্সচেঞ্জগুলি সাধারণত ১ সেকেন্ডে ১০ বার সীমাবদ্ধ থাকে। অর্ডার প্রত্যাহারের জন্য বেশিরভাগ ক্ষেত্রে কোনও বিশেষ প্রয়োজনীয়তা নেই। সিটিপিগুলি স্বতঃস্ফূর্তভাবে প্রেরণ করা অনুরোধগুলির জন্য কঠোর সীমাবদ্ধতা রয়েছে, সাধারণত ২ এস একবার তুলনামূলকভাবে নিরাপদ, প্রত্যাহারের সংখ্যার জন্যও প্রয়োজনীয়তা রয়েছে।
স্থিতিশীলতা
সিটিপি প্রোটোকল খুব স্থিতিশীল, ত্রুটি এবং নেটওয়ার্ক সমস্যাগুলির সাথে খুব কমই দেখা দেয়। ডিজিটাল মুদ্রা কম সীমাবদ্ধ, দীর্ঘ লেনদেনের সময়, রক্ষণাবেক্ষণ, ডেটা বিলম্ব, নেটওয়ার্ক ত্রুটি ইত্যাদির জন্য সাধারণ।
এফএমজেড কোয়ালিফাইড প্ল্যাটফর্ম সিটিপি প্রোটোকলের সেরা অভ্যাস
সিটিপি ডিফল্ট মোডের ইন্টারফেসগুলি যেমন গেটটিকার, গেটডিপথ, গেট রেকর্ডস সর্বদা সর্বশেষতম তথ্য পেতে ক্যাশে করা হয়, ডেটা না থাকলে ডেটা পাওয়া পর্যন্ত অপেক্ষা করা হয়, তাই কৌশলটি ঘুমানো যায়। যখন কোনও ব্যবসায়ের পরিবর্তন হয়, টিকার, গভীরতা এবং রেকর্ডগুলি আপডেট হয়, তখন যে কোনও ইন্টারফেস অবিলম্বে ফিরে আসে, কল করা ইন্টারফেসটির অবস্থা আপডেটের জন্য অপেক্ষা করা হয়, পরের বার একই ইন্টারফেসটি কল করা হয়, নতুন ডেটা ফিরে আসার জন্য অপেক্ষা করা হয়।
আপনি যদি প্রতিটি ট্রেডের জন্য ডেটা পেতে চান, এমনকি পুরানো ডেটা, আপনি ট্রেডের তাত্ক্ষণিক আপডেটের মোডে স্যুইচ করতে পারেন।exchange.IO("mode", 0) ⇒ এই সময়ে নীতিটি ইভেন্ট-ড্রাইভ হিসাবে লিখতে পারে না, একটি দ্রুত মৃত চক্র এড়াতে একটি স্লিপ ইভেন্ট যুক্ত করা প্রয়োজন। কিছু নিম্ন-ফ্রিকোয়েন্সি কৌশল এই মোডটি ব্যবহার করতে পারে, কৌশল নকশা সহজ।使用exchange.IO("mode", 1) ডিফল্ট ক্যাশে মোডে ফিরে যেতে পারে।
একক চুক্তি পরিচালনা করার সময়, ডিফল্ট মোড ব্যবহার করা যেতে পারে; তবে যদি একাধিক চুক্তি হয়, তবে একটি চুক্তির জন্য কোনও বাজারের আপডেট নেই, যার ফলে বাজারের ইন্টারফেসটি আটকে যায় এবং অন্যান্য চুক্তির বাজারের আপডেটগুলিও পাওয়া যায় না। এই সমস্যাটি সমাধান করার জন্য, তাত্ক্ষণিক আপডেট মোড ব্যবহার করা যেতে পারে, তবে উচ্চ-ফ্রিকোয়েন্সি কৌশলটি লিখতে অসুবিধা হয়। এই ক্ষেত্রে ইভেন্টের ধাক্কা মোড ব্যবহার করা যেতে পারে, অর্ডার এবং বাজারের ধাক্কা পেতে।设置方式为exchange.IO("wait") ⇒ যদি একাধিক এক্সচেঞ্জ অবজেক্ট যুক্ত করা হয়, যা কমোডিটি ফিউচারের ক্ষেত্রে বিরল, তবে আপনি একটি এক্সচেঞ্জ অবজেক্টের জন্য একটি নির্দিষ্ট সময়সীমা নির্ধারণ করতে পারেন।可以使用exchange.IO("wait_any"), এই সময়ে ফিরে আসা ইনডেক্সটি ফিরে আসা এক্সচেঞ্জের সূচককে নির্দেশ করে।
লেনদেনের টিক পরিবর্তন প্রেরণঃ {Event:
এই সময়ে কৌশলগত কাঠামোটি লিখতে পারেনঃ
function on_tick(symbol){
Log("symbol update")
exchange.SetContractType(symbol)
Log(exchange.GetTicker())
}
function on_order(order){
Log("order update", order)
}
function main(){
while(true){
if(exchange.IO("status")){ //判断链接状态
exchange.IO("mode", 0)
_C(exchange.SetContractType, "MA888")//订阅MA,只有第一次是真正的发出订阅请求,接下来都是程序切换,不耗时间。
_C(exchange.SetContractType, "rb888")//订阅rb
while(True){
var e = exchange.IO("wait")
if(e){
if(e.event == "tick"){
on_tick(e.Symbol)
}else if(e.event == "order"){
on_order(e.Order)
}
}
}
}else{
Sleep(10*1000)
}
}
}