ভিজ্যুয়ালাইজেশন মডিউলগুলি তৈরির জন্য ট্রেডিং কৌশলগুলি শিখতে শুরু করুন। ভিজ্যুয়ালাইজেশন মডিউলগুলি তৈরি, বানানো এবং একত্রিত করার জন্য একটি ধারণাগত ধারণা রয়েছে। এই মডিউলটি ব্যবহার করে আপনি আপনার কম্পিউটারের অন্যান্য মডিউলগুলি শিখতে পারবেন। এটি আরও জটিল ফাংশনকে একত্রিত করতে পারে।
পূর্ববর্তী শেখার এবং পরীক্ষার সময়, আমরা বেশ কয়েকটি "লেনদেনের শ্রেণী" মডিউল নিয়ে কাজ করেছি। উদাহরণস্বরূপঃ এক্সচেঞ্জ এক্সচেঞ্জ মডিউল "এক্সচেঞ্জগুলি কে-লাইন অর্জন করে" মডিউল ...
এই নিবন্ধে, আমরা এই নিবন্ধটি ব্যবহার করেছি এবং এটি সম্পর্কে কিছু কথা বলব না।
রোবট ট্রেডিংয়ের মাধ্যমে কৌশল লেখার সময়, একাধিক এক্সচেঞ্জ অবজেক্ট যুক্ত করা যেতে পারে, যেমন হেজিংয়ের কৌশল। অথবা এক্সচেঞ্জের বস্তুগুলি ঘুরে দেখার প্রয়োজন হতে পারে (যার অর্থ হল একের পর এক ভিজিট করা) যখন আপনি বাজারে যান। এই সময়ে এক্সচেঞ্জের সংখ্যা সংগ্রহের জন্য মডিউল ব্যবহার করা প্রয়োজন।
আমরা একটি সহজ কাঠামো ব্যবহার করে বর্তমান কনফিগারেশন এক্সচেঞ্জের সংখ্যা প্রিন্ট করতে পারিঃ
এটি আসলে জাভাস্ক্রিপ্ট নীতির কোডটি কল করার মতোঃ
function main () {
Log(exchanges.length)
}
এই মডিউলটি কিভাবে কাজ করে তা আমরা এখানে দেখবঃ
আপনি দেখতে পাচ্ছেন যে আমরা তিনটি এক্সচেঞ্জ অবজেক্ট যুক্ত করেছি যা তিনটি ভিন্ন এক্সচেঞ্জ অ্যাকাউন্টের প্রতিনিধিত্ব করে, এবং পুনরায় পরীক্ষা করার জন্য লগ আউটপুট 3 হয়।
যখন তিনটি এক্সচেঞ্জ অবজেক্ট যুক্ত করা হয়, তখন ড্রপডাউন বক্স তিনটি বিকল্প দেখায়। একটি লুপিং মডিউল শিখুন, লুপিং টাইপের মধ্যে।
এই মডিউলটি ব্যবহার করে, আপনি একটি শর্তাধীন বিচার মডিউল শিখতে পারেনঃবিচার শর্তাদি লিখতে পারেনঃ
আমরা এক্সচেঞ্জের নাম যোগ করেছি যা আমরা লুপিং মডিউল জুড়ে ব্যবহার করেছি শর্তাধীন বিচার মডিউল ব্যবহার করে বর্তমান চক্র গণনাটি মুদ্রণযোগ্য এক্সচেঞ্জের নামের সাথে সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করা হয়।
রান রিভিউঃ
উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট নীতি কোডঃ
function main () {
for (var i = 1 ; i <= exchanges.length ; i++) {
if (i == 1) {
Log(exchanges[0].GetName())
} else if (i == 2) {
Log(exchanges[1].GetName())
} else {
Log(exchanges[2].GetName())
}
}
}
একটি সহজ উদাহরণ হ'ল বর্তমান সেট করা প্রথম এক্সচেঞ্জ অবজেক্টের একটি লেনদেনের জোড়া নেওয়া এবং text ভেরিয়েবলের মান নির্ধারণ করা ((ভেরিয়েবল বিভাগে প্রাক-তৈরি করা) ।) ।
রিটেস্টের ফলাফলঃ
যদি জাভাস্ক্রিপ্ট নীতি কোডটি কল করা হয়ঃ
function main () {
var text = exchange.GetCurrency()
Log(text)
}
এই মডিউলটি খুব গুরুত্বপূর্ণ, এটি অর্ডার অপারেশনের জন্য ব্যবহৃত হয়, যেখানে প্রথম
উদাহরণস্বরূপ, আমরা বর্তমান টিক অ্যাকাউন্টের ডেটার উপর ভিত্তি করে সর্বশেষ মূল্যের একটি উদাহরণ বানিয়েছি, 10 ইউএস ডলার স্লাইড মূল্যের সাথে একটি পেমেন্ট, 0.1 টাকায় একটি অর্ডার পরিমাণ সেট করুন এবং অর্ডার আইডি মুদ্রণ করুন।
রান রিভিউঃ
যেমন নিচের JavaScript নীতি কোডঃ
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1)
Log(id)
}
এই মডিউলটি বর্তমান লেনদেনের জোড়াগুলির জন্য সমস্ত অর্ডারগুলিকে পূর্বাবস্থায় ফিরিয়ে দেয়, যা একটি তালিকা কাঠামো (এরিজ) যা তালিকা প্রকারের মডিউলগুলির সাথে পরিচালনা করা যেতে পারে (অপারেশন জুড়ে চলা ইত্যাদি) । উদাহরণস্বরূপঃ আমরা উপরে উল্লিখিত টন 4 টন ডাউনলোড মডিউল দৃষ্টান্তটি কিছুটা সংশোধন করেছি, যাতে অর্ডার দেওয়ার সময় যোগ করা 10 ইউএস ডলার দামকে বিয়োগ 10 ইউএস ডলার করে দেওয়া হয়। অর্ডারটি তাত্ক্ষণিকভাবে সম্পন্ন হবে না, এটি কেনার গভীরতায় ঝুলছে (অর্থাৎ এক, দুই, এন এর মধ্যে একটি গ্রেড কিনুন) যাতে অর্ডারটি একটি তালিকাভুক্ত অবস্থায় থাকে। তারপর আমরা "বর্তমান লেনদেনের জন্য অর্ডার প্রাপ্তি" মডিউলটি ব্যবহার করি, যা PENDING অবস্থায় অর্ডারগুলির তালিকা প্রাপ্ত করে। পরবর্তী ক্রিয়াকলাপে অর্ডার গ্রহণকে প্রভাবিত না করার জন্য, শেষ পর্যবেক্ষণটি পুনরায় পরীক্ষা করার জন্য, আমরা "বর্তমান লেনদেনের জন্য অর্ডার অর্ডার" মডিউলটি সম্পাদন করার পরে, অর্ডার তালিকাটি মুদ্রণ করি এবং তাত্ক্ষণিকভাবে "অস্বাভাবিকতা ছোঁয়ার" মডিউলটি ব্যবহার করে প্রক্রিয়াটি বন্ধ করি।
এই ভিডিওতে দেখা যাচ্ছে যে,
পরবর্তী পেমেন্টের দাম তখনকার সর্বশেষ দামের তুলনায় ১০ ইউএস ডলারের নিচে, তাই তাৎক্ষণিকভাবে লেনদেন হবে না। তারপর অর্ডারটি প্রাপ্ত করুন যা বিক্রির অপেক্ষায় রয়েছে এবং এটি মুদ্রণ করুন। অবশেষে, ব্যতিক্রমটি ফেলে দিন এবং প্রোগ্রামটি বন্ধ করুন।
এই মডিউলগুলিকে একত্রিত করা হয়েছে জাভাস্ক্রিপ্ট নীতির সাথেঃ
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
Log(id)
Log(exchange.GetOrders())
throw "stop"
}
এই মডিউলটি অর্ডার বাতিল করতে ব্যবহৃত হয়।
অনেক পরিস্থিতিতে কৌশল তৈরির সময় এটি করা প্রয়োজনঃ
এই মুহূর্তে যেসব অর্ডার আছে সেগুলো বাতিল করা হয়েছে।
এটি অবশ্যই "পুনরুদ্ধার মডিউল" ব্যবহার করতে হবে, এবং পুনরুদ্ধার মডিউল শেখার সময়, আমরা বর্তমান লেনদেনের জন্য অর্ডার অর্ডার করার জন্য মডিউলটি পেতে পেন 5 টন ব্যবহার করতে পারি।
প্রথমত, সমস্ত অর্ডার প্রত্যাহারের জন্য পরীক্ষা করার জন্য, একটি অর্ডার ঝুলানো খুব স্পষ্ট নয়, আমরা দুটি অর্ডার শুরু করি, দুটি অর্ডারকে আলাদা করার জন্য বিভিন্ন দামের পরিমাণ ব্যবহার করা হয়।
"প্রতিটি উপাদানকে তালিকায় পরিদর্শন করুন" মডিউলটি ব্যবহার করে বর্তমান তালিকাগুলিতে অর্ডারগুলি পরিদর্শন করুন।ক্রস করার সময়, প্রতিটি বের করা অর্ডারকে ভেরিয়েবল মডিউল অর্ডার ((ভেরিয়েবল মডিউল টাইপের মধ্যে তৈরি করা হয়, নীচের চিত্রটি দেখায়:)টুল টাইপ মডিউল ব্যবহার করেঃঅর্ডার আইডি বের করুন, অর্ডার বাতিল করার মডিউলকে প্রেরণ করুন, অর্ডার বাতিল মডিউলটি বাতিলের আদেশটি কার্যকর করুন।
পুনরায় পরীক্ষা চালানো হচ্ছেঃ
জাভাস্ক্রিপ্ট নীতি ব্যবহার করে বর্ণনা করুনঃ
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
Log(id)
var id2 = exchange.Buy(_C(exchange.GetTicker).Last - 12, 0.2)
Log(id2)
var orders = exchange.GetOrders()
Log(orders)
for (var i in orders) {
var order = orders[i]
Log(exchange.CancelOrder(order.Id))
}
}
এই মডিউলটি একটি অর্ডার আইডি ভেরিয়েবল মডিউল অ্যাক্সেস করে এবং অর্ডার বিশদ তথ্য ফিরে আসে।
এখানে দেখুন যে অর্ডারগুলি চালানোর পরে ফিরে এসেছেঃ
এবং []
প্যাকেজের মধ্যে বন্ধনী।
যেহেতু মডিউল টেমপ্লেট 5 টেমপ্লেটটি একটি তালিকা প্রদান করে, তাই এই উদাহরণটি একটি পৃথক অর্ডার বার্তা প্রদান করে ((মডিউলটি টেমপ্লেটটি ইনপুট করা টেমপ্লেটটির অবস্থানের উপর ভিত্তি করে আইডি ভেরিয়েবলগুলি গ্রহণ করে) ।) ।
উপরে বর্ণিত উদাহরণটি জাভাস্ক্রিপ্ট নীতির সাথে কাজ করেঃ
function main () {
var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1)
Log(exchange.GetOrder(id))
}
উপরের মডিউলগুলোতে আমরা একের পর এক শিখছি, এক্সচেঞ্জ পরীক্ষা করছি, আমরা কমোডিটি ফিউচার সেট আপ করছি।
পুনরায় সেট করুনঃনিম্নলিখিত উদাহরণে এই সেটিং অনুযায়ী পুনরায় পরীক্ষা করা হয়।
সিটিপি কমোডিটি ফিউচার এবং ফিউচার কোম্পানির সার্ভারের সাথে সংযোগের স্থিতি মডিউল নির্ধারণ
কমোডিটি ফিউচারগুলির বাজারের সময় বন্ধের সময় থাকে, যখন বন্ধ থাকে, তখন সংযোগ করা যায় না।
চুক্তি মডিউল সেটআপ করুন
যখন এক্সচেঞ্জের বস্তুগুলি ফিউচার এক্সচেঞ্জ হিসাবে কনফিগার করা হয়, তখন চুক্তিগুলি সেট আপ না করে সরাসরি বাজারে অ্যাক্সেস করা ত্রুটিগুলি রিপোর্ট করেঃ
আমরা MA909 এর জন্য একটি চুক্তি স্থাপন করেছি, মেথলোল বর্তমানে আমাদের প্রধান চুক্তি।এটি MA909 চুক্তির বর্তমান টিকের ক্ষেত্রে সর্বশেষতম মূল্যের মান প্রদান করে।
ফিউচার ট্রেডিংয়ের জন্য একমুখী মডিউল সেটআপ করুন
নিচের মডিউলটি চালানো হচ্ছে
এই ফিউচারের জন্য নিম্নলিখিত দিকগুলি উল্লেখ করা প্রয়োজনঃ
কিনুনঃ অনেক বেশি
sell: খালি স্টোর
closebuy: সমতল মাল্টি হাউজিং
closesell: ফাঁকা স্টোরেজ
চারটি দিক ((কোমোডিটি ফিউচার আরও দুটি দিকঃ closebuy_today সমতল মাল্টি-হোড বর্তমান অবস্থান, closesell_today সমতল খালি-হোড বর্তমান অবস্থান) ।
উদাহরণস্বরূপ, যদি আপনি একটি মডিউল ক্রয়ের জন্য সেট করেন, তবে এটিতে দুটি অর্থ রয়েছে, যা দ্বৈততা সৃষ্টি করে। সুতরাং, একটি স্পষ্ট নিম্নলিখিত দিক সেট করতে "একক দিক নির্ধারণ করুন" মডিউলটি প্রয়োজন।
রি-টেস্টের ফলাফলঃ
উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট নীতি কোডঃ
function main () {
while (true) {
if (exchange.IO("status")) {
exchange.SetContractType("MA909")
Log(exchange.GetTicker().Last)
exchange.SetDirection("buy")
Log(exchange.Buy(1000, 1))
throw "stop"
} else {
Log("未连接商品期货前置机")
}
Sleep(1000)
}
}
ডিজিটাল মুদ্রার ফিউচার ব্যবহার মূলত উপরে উল্লিখিত 8 টি টুকরো থেকে পণ্যের ফিউচার ব্যবহারের মতোই
OKEX এর উদাহরণ দিয়ে চুক্তি কোড হতে পারেঃ
বিটমেক্সঃ
লিভার মডিউল সেট করুন
ডিজিটাল মুদ্রার জন্য ফিউচার লিভারেজ সেট করার জন্য।
# 注意 : 回测不支持。
যেমন জাভাস্ক্রিপ্ট নীতিঃ
function main () {
exchange.SetMarginLevel(10)
}
ভিজ্যুয়ালাইজেশন প্যাটার্ন কৌশলঃ
আরও কৌশল নিচে দেখুনঃhttps://www.fmz.com/square
এই সিরিজের অন্যান্য নিবন্ধ
অ্যালিনএক মাসের বেশি সময় প্রোগ্রামিং শিখেছি, কিন্তু কৌশল লিখতে পারিনি, এখন সবকিছুই ব্লকের উপর নির্ভর করছে!
উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্নধন্যবাদ, এই সিরিজটি অব্যাহত থাকবে। আসলে, প্রতিটি দৃষ্টান্তের পিছনে প্রাসঙ্গিক জাভাস্ক্রিপ্ট নীতি কোডের উপর ভিত্তি করে, এটি সহজেই জেএস-তে নীতিগুলি লিখতে পারে।