Type/to search
8
Follow
1364
Followers
ট্রেডিং কৌশল তৈরি করতে ভিজ্যুয়াল মডিউল--উন্নত
Original
Created 2019-07-17 10:22:20  Updated 2023-10-24 21:40:50
 3
 4790

img

ট্রেডিং কৌশল তৈরি করতে ভিজ্যুয়াল মডিউল--উন্নত

ভিজ্যুয়াল মডিউলগুলির সাথে ট্রেডিং কৌশলগুলি কীভাবে তৈরি করা যায় তা শিখুন - প্রথম ভূমিকা আমার কাছে ভিজ্যুয়াল মডিউলগুলির নির্মাণ এবং বিভাজন সম্পর্কে ধারণাগত ধারণা রয়েছে৷
পরবর্তীতে অন্যান্য মডিউল ব্যবহার করা শিখতে সহজ হবে।
আরও কিছু জটিল ফাংশন একত্রিত করা যেতে পারে।

  • লেনদেন বিভাগ মডিউল

    পূর্ববর্তী গবেষণা এবং পরীক্ষায়, আমরা বেশ কয়েকটি "লেনদেন বিভাগ" মডিউলের সংস্পর্শে এসেছি।
    যেমন:
    "এক্সচেঞ্জ কোটস" মডিউল
    "এক্সচেঞ্জ কে-লাইন পায়" মডিউল
    ...

    এগুলি ইতিমধ্যে ব্যবহার করা হয়েছে তাই আমি বিশদে যাব না।

    • 1. বিনিময় সংখ্যা পান

      img

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

      বর্তমানে কনফিগার করা এক্সচেঞ্জের সংখ্যা প্রিন্ট করতে আমরা প্রথমে একটি সাধারণ কাঠামো ব্যবহার করতে পারি:
      img

      আসলে, এটি এই জাভাস্ক্রিপ্ট কৌশল কোড কল করার মত:

      function main () { Log(exchanges.length) }

      এই সম্মিলিত মডিউলটি চালানোর ফলাফলগুলি একবার দেখে নেওয়া যাক:
      img

      আপনি দেখতে পাচ্ছেন যে আমরা 3টি এক্সচেঞ্জ অবজেক্ট যোগ করেছি, যা তিনটি ভিন্ন এক্সচেঞ্জ অ্যাকাউন্টের প্রতিনিধিত্ব করে, এবং ব্যাকটেস্ট লগ আউটপুট ফলাফল 3।

    • 2. বিনিময়ের নাম পান

      img

      তিনটি বিনিময় বস্তু যোগ করার সময়, ড্রপ-ডাউন বক্স তিনটি বিকল্প প্রদর্শন করবে।
      লুপ টাইপে, সময়ের আগে একটি লুপ মডিউল শিখুন।
      img

      চলুন আগে থেকে একটি শর্তসাপেক্ষ বিচার মডিউল শিখে নেওয়া যাক:
      img
      রায়ের শর্তটি এভাবে লেখা যেতে পারে:
      img

      আমরা লুপ মডিউল ব্যবহার করি যোগ করা এক্সচেঞ্জ নামগুলির উপর পুনরাবৃত্তি করতে
      বর্তমান চক্র গণনা প্রিন্ট করা বিনিময় নামের সাথে সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করতে শর্তাধীন রায় মডিউল ব্যবহার করুন।

      img

      ব্যাকটেস্ট রানের ফলাফল:
      img

      জাভাস্ক্রিপ্ট নীতি কোডের মত:

      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()) } } }
    • 3. এক্সচেঞ্জের বর্তমান ট্রেডিং পেয়ার পান

      img

      একটি সাধারণ উদাহরণ বর্তমানে সেট করা প্রথম এক্সচেঞ্জ অবজেক্টের ট্রেডিং জোড়া প্রাপ্ত করে এবং এটিকে টেক্সট ভেরিয়েবলে বরাদ্দ করে (ভেরিয়েবল ক্যাটাগরিতে আগে থেকেই তৈরি করা হয়েছে)।

      img
      ব্যাকটেস্ট ফলাফল:
      img

      যদি জাভাস্ক্রিপ্ট নীতি কোড কল করা হয়:

      function main () { var text = exchange.GetCurrency() Log(text) }
    • 4. অর্ডার মডিউল

      img
      এই মডিউলটি খুবই গুরুত্বপূর্ণ এবং এটি অর্ডার করার জন্য ব্যবহৃত হয়।
      দ্বিতীয় টেনন (অবতল) অবস্থানটি অর্ডার পরিমাণ পরিবর্তনশীলের সাথে এমবেড করা হয়, যা অর্ডার পরিমাণ নির্দিষ্ট করতে ব্যবহৃত হয়।

      উদাহরণ স্বরূপ, আমরা বর্তমান টিক মার্কেট ডেটার সর্বশেষ মূল্যের উপর ভিত্তি করে একটি ক্রয় অর্ডার দেওয়ার, 10 ইউয়ানের একটি স্লাইডিং মূল্য যোগ করার, অর্ডারের পরিমাণ 0.1 কয়েনে সেট করার এবং অর্ডার আইডি প্রিন্ট করার উদাহরণ একসাথে বিভক্ত করি।
      img

      ব্যাকটেস্ট রানের ফলাফল:
      img

      নিম্নলিখিত জাভাস্ক্রিপ্ট নীতি কোড মত:

      function main () { var id = exchange.Buy(_C(exchange.GetTicker).Last + 10, 0.1) Log(id) }
    • 5. বর্তমান ট্রেডিং পেয়ারের এনট্রাস্টমেন্ট অর্ডার পাওয়ার জন্য মডিউল

      img

      এই মডিউলটি বর্তমান ট্রেডিং পেয়ারের জন্য অসমাপ্ত অবস্থায় থাকা সমস্ত অর্ডার ফেরত দেবে যা একটি তালিকা কাঠামো (অ্যারে), যা তালিকা টাইপ মডিউল (ট্রাভার্সাল অপারেশন ইত্যাদি) দ্বারা প্রক্রিয়া করা যেতে পারে।
      উদাহরণস্বরূপ: আমরা উপরের [4] অর্ডার মডিউলের উদাহরণে সামান্য পরিবর্তন করেছি, এবং অর্ডার দেওয়ার সময় যোগ করা 10 ইউয়ানের মূল্য পরিবর্তন করে বিয়োগ 10 ইউয়ান করেছি। অর্ডারটি অবিলম্বে কার্যকর করা হবে না, তবে ক্রয় এবং বিক্রয় গভীরতায় স্থাপন করা হবে (অর্থাৎ, একটি কিনুন, দুটি কিনুন এবং এন কিনুন এর মধ্যে একটি নির্দিষ্ট স্তরে), তাই অর্ডারটি অপেক্ষায় থাকা একটি মুলতুবি অর্ডারে থাকবে মৃত্যুদন্ড কার্যকর
      তারপর আমরা পেন্ডিং অবস্থায় অর্ডারের তালিকা পেতে "বর্তমান ট্রেডিং পেয়ার অর্ডার পান" মডিউল ব্যবহার করি (লেনদেনের জন্য অপেক্ষা করা হচ্ছে)।
      ব্যাকটেস্টের চূড়ান্ত পর্যবেক্ষণকে প্রভাবিত করে পরবর্তী বাজারের পরিস্থিতিতে অর্ডার লেনদেন এড়াতে, "বর্তমান ট্রেডিং পেয়ার অর্ডার পান" মডিউলটি কার্যকর করার পরে, আমরা অর্ডার তালিকাটি মুদ্রণ করি এবং প্রোগ্রামটি বন্ধ করতে অবিলম্বে "থ্রো এক্সেপশন" মডিউল ব্যবহার করি।

      img

      আপনি ব্যাকটেস্টে দেখতে পারেন:
      img

      ক্রয় অর্ডারের মূল্য সেই সময়ের সর্বশেষ মূল্যের চেয়ে 10 ইউয়ান কম, তাই লেনদেন অবিলম্বে সম্পন্ন হবে না।
      তারপরে লেনদেনের জন্য অপেক্ষা করা অর্ডারটি পান এবং এটি প্রিন্ট আউট করুন।
      অবশেষে, একটি ব্যতিক্রম নিক্ষেপ করা হয় এবং প্রোগ্রামটি বন্ধ হয়ে যায়।

      সম্পূর্ণ একত্রিত মডিউলটি একটি জাভাস্ক্রিপ্ট কৌশল কল করার মত:

      function main () { var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1) Log(id) Log(exchange.GetOrders()) throw "stop" }
    • 6. অর্ডার মডিউল বাতিল করুন

      img

      এই মডিউল অর্ডার বাতিল করতে ব্যবহার করা হয়.

      অনেক পরিস্থিতিতে আছে যেখানে কৌশল লেখার সময় এটি প্রয়োজন হয়:

      বর্তমানে মুলতুবি থাকা সমস্ত অর্ডার বাতিল করুন।

      নিঃসন্দেহে, এটি অবশ্যই "অর্ডার বাতিলকরণ মডিউল" ব্যবহার করতে হবে, আমরা বর্তমান ট্রেডিং পেয়ারের অর্ডার অর্ডার পেতে [5] মডিউল ব্যবহার করতে পারি এবং এই ফাংশনটি উপলব্ধি করতে এটিকে একত্রিত করতে পারি।

      প্রথমত, সমস্ত অর্ডার বাতিল করার পদ্ধতি পরীক্ষা করার জন্য, অর্ডার দেওয়া খুব স্পষ্ট নয়, আমরা দুটি অর্ডারের মধ্যে পার্থক্য করার জন্য ভিন্ন মূল্য এবং পরিমাণ সহ দুটি অর্ডার দিয়ে শুরু করি।

      img

      লুপ টাইপ মডিউলে "তালিকার প্রতিটি উপাদান অতিক্রম করুন" মডিউলটি ব্যবহার করুন বর্তমান মুলতুবি থাকা অর্ডার তালিকার অর্ডারগুলিকে অতিক্রম করতে৷
      img
      ট্র্যাভার্সিং করার সময়, প্রতিটি টেক আউট অর্ডার পরিবর্তনশীল মডিউল অর্ডারে বরাদ্দ করা হয় (ভেরিয়েবল মডিউল টাইপে তৈরি করা হয়েছে, যেমনটি নীচে দেখানো হয়েছে:)
      img
      টুল টাইপ মডিউল ব্যবহার করুন:
      img
      অর্ডার আইডি বের করুন এবং অর্ডার বাতিলকরণ মডিউলের টেনন (অবতল) অবস্থানে পাস করুন এবং অর্ডার বাতিলকরণ মডিউল অর্ডার বাতিলকরণ কার্যকর করে।

      ব্যাকটেস্ট রান:
      img

      জাভাস্ক্রিপ্ট নীতির বর্ণনা ব্যবহার:

      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)) } }
    • 7. অর্ডার আইডির উপর ভিত্তি করে অর্ডারের বিস্তারিত তথ্য পেতে মডিউল

      img

      এই মডিউলটির টেনন (অবতল) অবস্থান একটি অর্ডার আইডি পরিবর্তনশীল মডিউলের সাথে সংযুক্ত, এবং অর্ডারের বিবরণ ফেরত দেওয়া যেতে পারে।

      img

      চালানোর পরে ফিরে আসা অর্ডারে মনোযোগ দিন:
      img

      [5] উদাহরণে চলমান ফলাফলের তুলনা করে, আমরা দেখতে পারি যে মুদ্রিত অর্ডারটি একটি পৃথক অর্ডার তথ্য, ছাড়া[] বর্গাকার বন্ধনীতে মোড়ানো।
      কারণ তালিকাটি উদাহরণে [5] ফেরত দেওয়া হয়েছে, এই উদাহরণটি একটি একক অর্ডার তথ্য প্রদান করে (মডিউল দ্বারা পাস করা টেনন অবস্থানে আইডি পরিবর্তনশীল মডিউলের উপর ভিত্তি করে প্রাপ্ত)।

      উপরের উদাহরণটি একটি জাভাস্ক্রিপ্ট কৌশল কার্যকর করার মত:

      function main () { var id = exchange.Buy(_C(exchange.GetTicker).Last - 10, 0.1) Log(exchange.GetOrder(id)) }
    • 8. ফিউচার ট্রেডিং মডিউল

      আমরা উপরের মডিউলগুলি একে একে অধ্যয়ন করি এবং পরীক্ষা বিনিময়কে পণ্যের ফিউচারে সেট করি।

      ব্যাকটেস্ট সেটিংস:
      img
      নিম্নলিখিত উদাহরণটি এই সেটআপের উপর ভিত্তি করে ব্যাকটেস্ট পরীক্ষা করে।

      • CTP কমোডিটি ফিউচার এবং ফিউচার কোম্পানির সার্ভারের মধ্যে সংযোগের অবস্থা বিচার করার জন্য মডিউল

        img

        কমোডিটি ফিউচারের খোলার সময় এবং বন্ধ হওয়ার সময় থাকে যখন বাজার বন্ধ থাকে, সংযোগ করা যায় না।

      • চুক্তি মডিউল সেট আপ করুন

        img

        যখন এক্সচেঞ্জ অবজেক্টটি ফিউচার এক্সচেঞ্জ হিসাবে কনফিগার করা হয়, আপনি যদি একটি চুক্তি সেট না করেন এবং সরাসরি বাজার মূল্য না পান, একটি ত্রুটি রিপোর্ট করা হবে:
        img

        আমরা চুক্তিটি MA909 এ সেট করেছি, যা মিথানলের বর্তমান প্রধান চুক্তি।
        img
        এইভাবে, MA909 চুক্তির বর্তমান টিক বাজারে সর্বশেষ মূল্য মান পাওয়া যায়।

      • ফিউচার ট্রেডিং অর্ডার দিকনির্দেশ মডিউল সেট করুন

        অর্ডার মডিউল নির্বাহ করা হচ্ছে
        img
        আপনাকে অর্ডারের দিকনির্দেশ নির্দিষ্ট করতে হবে কারণ ফিউচার আছে:
        কিনতে: একটি দীর্ঘ অবস্থান খুলুন
        বিক্রয়: একটি ছোট অবস্থান খুলুন
        closebuy: ক্লোজ লং পজিশন
        closesell: বন্ধ সংক্ষিপ্ত অবস্থান
        চারটি দিক (পণ্য ফিউচারের আরও দুটি দিক রয়েছে: ক্লোজবায়_টুডে লং কারেন্ট পজিশন বন্ধ করতে, ক্লোজসেল_টুডে ছোট বর্তমান অবস্থান বন্ধ করতে)।

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

        img

        ব্যাকটেস্ট শো:
        img

        জাভাস্ক্রিপ্ট কৌশল কোডের মতো:

        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) } }
    • 9. ডিজিটাল কারেন্সি ফিউচার ট্রেডিং মডিউল

      ডিজিটাল কারেন্সি ফিউচারের ব্যবহার মূলত উপরের [8] এ কমোডিটি ফিউচার ব্যবহার করার মতই।

      • একটি উদাহরণ হিসাবে OKEX গ্রহণ, চুক্তি কোড হতে পারে:

        • this_week: চলতি সপ্তাহ
        • পরের_সপ্তাহ : পরের সপ্তাহ
        • ত্রৈমাসিক: চতুর্থাংশ
        • swap: চিরস্থায়ী
      • BitMEX :

        • XBTUSD
        • ETHUSD
      • লিভারেজ মডিউল সেট আপ করুন

        img

        ডিজিটাল কারেন্সি ফিউচার লিভারেজ সেট করতে ব্যবহৃত হয়।

        # 注意 : 回测不支持。

        জাভাস্ক্রিপ্ট কৌশলের মত:

        function main () { exchange.SetMarginLevel(10) }

ভিজ্যুয়াল উদাহরণ কৌশল:

আরও কৌশল এখানে: https://www.fmz.com/square

এই সিরিজের অন্যান্য নিবন্ধ

বিরক্তিকর প্রোগ্রামিং ব্লক তৈরি করে সহজেই সম্পন্ন করা যেতে পারে, এটি খুব আকর্ষণীয়!

Related Recommendations
Comment
All comments (2)

    学了一个多月编程还是写不了策略,,现在全靠积木了!

    7 years ago

    感谢支持,这个系列文章会继续做的。
    其实根据每个范例后面对应的JavaScript策略代码,很容易就能掌握用JS 写策略的。

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