এই প্ল্যাটফর্মটি একটি নতুন প্রযুক্তির সাথে যুক্ত।কৌশল প্রাসাদঅনেক মজার কৌশল আছে, যেগুলো মূলত ডিজিটাল মুদ্রা বিনিময়ের জন্য ব্যবহার করা হত।rest
প্রোটোকলের এপিআই ইন্টারফেস, অনেক কৌশল নির্ভর করেrest
তবে কিছু কিছু এক্সচেঞ্জের ক্ষেত্রে, এটি প্রায়শই খুব ধীর গতিতে আপডেট হয়।rest
ইন্টারফেস ত্রুটি, যা নীতিটি ব্যবহার করতে অক্ষম করে তোলে।websocket
ইন্টারফেস সমর্থন করার জন্য নীতি কোডে কিছু পরিবর্তন করা প্রয়োজন, যা সাধারণত তুলনামূলকভাবে ঝামেলা (নীতি পরিবর্তন করা পুনর্লিখনের চেয়ে অনেক বেশি কঠিন) ।
কিভাবে কৌশল পরিবর্তন না করেও ব্যবহার করা যায়?websocket
কিন্তু ইন্টারফেস কি?
এখানে, আমরা একটি উদ্ভাবক পরিমাণগত ট্রেডিং প্ল্যাটফর্মের শক্তিশালী নমনীয়তা প্রদর্শন করি, যা আমরা ব্যবহার করতে পারিঃ
exchange.GetTicker
হুক অপারেশন।এটি বাস্তবায়ন করা হয়, নীতির একটি লাইন কোড পরিবর্তন না করে, এবং নীতির দ্বারা পরিচালিত হয়।websocket
এই তথ্য চালকটি ইন্টারফেসের মাধ্যমে প্রেরণ করা হয়েছে।
কোডিং ভাষা ব্যবহারJavaScript
ভাষা ।
উদাহরণস্বরূপ, আমরা একটি ক্লাসিক পুরানো কৌশল পরিবর্তন করতে চাই, আইসব্রেকার।
আমরা প্রথমে কৌশল কোডটি দেখি এবং এটি দেখতে পাই যে কৌশলটি টিক মার্কেটের দ্বারা চালিত হয়, যা মূলত টিক মার্কেটের জন্য ব্যবহৃত হয়।ticker
তথ্যBuy
、Sell
、Last
এই বৈশিষ্ট্যগুলিticker
এফএমজেড প্ল্যাটফর্মের এপিআই ফাংশন থেকে তথ্যঃexchange.GetTicker
আমরা এই প্রকল্পের মাধ্যমে আমাদের লক্ষ্যগুলি অর্জন করতে সক্ষম হয়েছি।exchange.GetTicker
ফাংশনHook
আপনি যদি এই অপারেশনটি করতে চান তবে আপনি এই অপারেশনটি করতে পারেন।
তবে আমরা আইসব্রেকারের কৌশলকে পরিবর্তন করতে পারি না, কারণ এটি কৌশলকে প্রভাবিত করবে, আমরা কেবল মসৃণ সংযোগ চাই!
তাই আমাদের পরবর্তী প্রধান চরিত্রকে খেলতে হবে।
init
ফাংশনগুলির সহযোগিতাআমরা একটি "টেমপ্লেট ক্লাস লাইব্রেরি" তৈরি করেছি, যার নামঃসিউমলেস CONWS, শূন্য প্রাথমিক কোড ।
এবং তারপরসিউমলেস CONWSটেমপ্লেট 2 প্যারামিটার সেট করুন
ব্যবহার করা হবে কিনা তা নিয়ন্ত্রণ করতেwebsocket
ইন্টারফেস ফাংশন, নিয়ন্ত্রণ নির্দিষ্ট শিল্প ইন্টারফেস খুলুন.exchange.GetTicker
ইন্টারফেসটি hook অপারেশন করে. সুতরাং প্যারামিটার শুধুমাত্র চালুGetTicker
ইন্টারফেসটি ওয়েবসকেট মোডের নিয়ন্ত্রণ প্যারামিটারঃ Hook_GetTicker.
টেমপ্লেট তৈরি হয়ে গেছে, আপনি টেমপ্লেটে নির্দিষ্ট এক্সচেঞ্জ অ্যাক্সেস করতে পারেনwebsocket
ইন্টারফেস, কিছু বাজারে সাবস্ক্রাইব করুন, এবং তারপর এক্সচেঞ্জের ডেটা প্রেরণের জন্য অপেক্ষা করুন। নির্দিষ্ট কোডগুলি আর বর্ণনা করা হয় না, আপনি সিমলেস কননডব্লিউএস কোড (পাবলিক) এপিআই ডকুমেন্টেশন দেখতে পারেন। টেমপ্লেটটিতে যা দেখতে হবে তা দেখুন।init
ফাংশন এবং গ্লোবাল ভেরিয়েবল_DictConnectCreater
、_ConnMap
:
কোডঃ
var _DictConnectCreater = {
"Huobi" : WSConnecter_Huobi,
"Binance" : WSConnecter_Binance,
}
var _ConnMap = {}
function init () {
if (IsUsedWebSocket) {
var connectCreater = null
if (exchanges.length != 1) {
Log("切换为ws接口只针对 exchange 交易所对象(即第一个添加的交易所对象)")
}
var isFound = false
for (var name in _DictConnectCreater) {
if (exchange.GetName() == name) {
connectCreater = _DictConnectCreater[name]
isFound = true
}
}
if (!isFound) {
throw "没有找到实现"
}
if (Hook_GetTicker) {
var symbol = exchange.GetCurrency()
_ConnMap.GetTicker = connectCreater("GetTicker", symbol)
exchange.GetTicker = function () {
return _C(_ConnMap.GetTicker.Read)
}
}
// ...
}
}
আপনি দেখতে পাচ্ছেন যে এই টেমপ্লেটটি শুধুমাত্র দুটি এক্সচেঞ্জের জন্য কাজ করে।websocket
বিএনএ-র টোকন ক্যাশ এবং টোকন ক্যাশের মধ্যে ব্যবসায়িক ইন্টারফেস রয়েছে।init
ফাংশনটি হল, "আইস ব্রেকার" কৌশলটি উদ্ধৃতি দেওয়ার জন্য।সিউমলেস CONWSটেমপ্লেট পরে, বাস্তব ডিস্ক চালানোর সময়, এটি প্রথম চালানো হয়init
ফাংশন, যা স্বয়ংক্রিয়ভাবে কাজ করতে পারেexchange.GetTicker
ফাংশন বিষয়বস্তু ব্যবহারের জন্য প্রতিস্থাপনwebsocket
ইন্টারফেসের কোড বাস্তবায়ন, যাতে বিরামবিহীন জুড়ি সম্ভব হয়websocket
SeamlessConnWS টেমপ্লেট ঠিকানা
খুব সহজ!সিউমলেস CONWSটেমপ্লেটটি তার নিজস্ব নীতিমালায় অনুলিপি করার পরে, এটি কেবল "আইস ব্রেকার" নীতিমালার জন্য ব্যবহার করা যেতে পারে, যেমনঃ
আপনি যদি এই ছবিটি দেখতে চান তবে এটি আপনার পছন্দসই ছবি।
"আইস ব্রেকার" কৌশল তৈরি করা, রিয়েল-টাইপ রোবট, এক্সচেঞ্জ বেছে নিয়েছে বিনয়◄ চালুসিউমলেস CONWSটেমপ্লেটের নিয়ন্ত্রণ প্যারামিটারসমূহ ।
এটি চালু হয়েছেঃ
আমি ১৫৭টি লাইনের কোড যুক্ত করেছি, যা মুদ্রণ লগের কোড সহ এক্সচেঞ্জের প্রেরিত ডেটা প্রদর্শন করে।
রোবটের লগ থেকে দেখা যাচ্ছেঃ
এই পদ্ধতিতে, একটি লাইন নীতি কোড পরিবর্তন না করে, ওয়েবসকেট বাজার ইন্টারফেস এবং নীতিগুলি ব্যবহার করে বিজোড় লিঙ্ক করা সম্ভব হয়।
এই উদাহরণটি শুধুমাত্র ব্যবহারের জন্যexchange.GetTicker
একটি সেক্টর ইন্টারফেস ফাংশনের কৌশল ব্যাখ্যা, অন্যান্য সেক্টর ইন্টারফেস যেমনexchange.GetDepth
、exchange.GetTrades
、exchange.GetRecords
এবং একই পদ্ধতিতে!সিউমলেস CONWSএটি আরও বিস্তৃত করা যেতে পারে।
টেমপ্লেটের নির্দিষ্ট লিঙ্কwebsocket
বাস্তবায়নDial
ফাংশন ((এপিআই ডকুমেন্টেশন দেখুন ডায়াল ফাংশন) দেখুন), যা প্রয়োজন অনুসারে সামঞ্জস্য করা যেতে পারে; উদাহরণস্বরূপ, এটি একটিread()
ফাংশন নির্দিষ্ট করুন-2
শুধু ফিরে আসা।websocket
সংযোগকারীরা তাদের ডেটা গ্রহণের জন্য বুফারে সর্বশেষতম ডেটা ব্যবহার করে।
ধন্যবাদ পড়ার জন্য।
congcong009মঙ্গো, আপনি কি পাইথন সংস্করণ একটু বাড়িয়ে দিতে পারবেন?
নববধূওভাল জিনিস, আগে শেয়ার করা উচিত ছিল।
উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নভাল, পরামর্শের জন্য ধন্যবাদ।