কৌশল ভাড়া কোড মেটাডেটা প্রয়োগ

লেখক:নিনাবাদাস, সৃষ্টিঃ ২০২২-০৪-১৩ ০৯ঃ৩৫ঃ০৬, আপডেটঃ ২০২২-০৪-১৩ ১৭ঃ১৩ঃ২৭

কৌশল প্রয়োগ ভাড়া কোড মেটাডেটা

এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মে বিকাশকারী বন্ধুদের প্রায়ই এই ধরনের চাহিদা থাকতে পারেঃ

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

এটি স্পষ্টতই হার্ড-কোডেড হতে পারে না, কারণ যদি তারা হার্ড-কোডেড হয় তবে সমস্ত ব্যবহারকারী এই সীমাবদ্ধতার সাপেক্ষে থাকবে এবং তারা বিভিন্ন ব্যবহারকারী গোষ্ঠীর জন্য বিভিন্ন ব্যবহারের অধিকার নিয়ন্ত্রণ করতে পারে না।

উপরোক্ত চাহিদা পরিস্থিতির ভিত্তিতে এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্ম একটি নতুন ফাংশন প্রসারিত করেছে:কৌশল ভাড়া রেজিস্টার কোড মেটাডেটা সেটিংস.

একটি রেজিস্টার কোড তৈরি করার সময়, আপনি একটি মেটাডেটা নির্দিষ্ট করতে পারেনMeta, যা একটি স্ট্রিং। দ্রষ্টব্যঃ রেজিস্টার কোড তৈরি করার সময় মেটা এর দৈর্ঘ্য 190 অক্ষরের বেশি হতে পারে না।

  • কৌশল সীমাবদ্ধ করতে FMZ রেজিস্টার কোড মেটাডেটা ব্যবহার করুন

    উদাহরণস্বরূপ, আমি কৌশল উন্নয়ন একটি রপ্তানি, এবং আমি BTC_USDT একটি স্পট ট্রেডিং জোড়া সঙ্গে একটি কৌশল উন্নত করেছি. কৌশল শুধুমাত্র দীর্ঘ অবস্থানের তোলে (প্রথমত, এটি শুধুমাত্র উদ্ধৃতি মুদ্রা আছেQuoteCurrency, যথা ইউএসডিটি; কিনে নেওয়ার পর, এটিBaseCurrencyযদি আমি এই কৌশলটি ভাড়া দিতে চাই, কৌশলটির নাম হলtest1.

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

    অতএব, এই সীমাবদ্ধতার নকশাটি কৌশলটির সাথে একত্রিত করা দরকার; উদাহরণটি কেবলমাত্র একটি সহজ নির্দেশনা, প্রকৃত ব্যবহারের মূল্য ছাড়াই।

    কৌশল উৎস কোডঃ

    function main() {
        // The maximum asset value of the quote currency allowed by the strategy
        var maxBaseCurrency = null
        
        // Obtain the metadata when the register code is created 
        var level = GetMeta()
        
        // Detect the corresponding conditions of Meta
        if (level == "level1") {
            // -1 means no limit 
            maxBaseCurrency = -1       
        } else if (level == "level2") {
            maxBaseCurrency = 10     
        } else if (level == "level3") {
            maxBaseCurrency = 1
        } else {
            maxBaseCurrency = 0.5
        }
        
        while(1) {
            Sleep(1000)
            var ticker = exchange.GetTicker()
            
            // Detect the assets amount 
            var acc = exchange.GetAccount()
            if (maxBaseCurrency != -1 && maxBaseCurrency < acc.Stocks + acc.FrozenStocks) {
                // Stop executing the strategy trading logic
                LogStatus(_D(), "If the position exceeds the usage limits of  register code, the strategy trading logic will no longer be executed!")
                continue
            }
            
            // Other trading logic
            
            // Normally export the information of status bar 
            LogStatus(_D(), "The strategy is operating normally!ticker data:\n", ticker)
        }
    }
    

    রেজিস্টার কোড তৈরি করার সময়, Strategy পাতায় কৌশল পরীক্ষা1 খুঁজুন এবং ডানদিকে ক্লিক করুনকার্যকলাপবোতাম, এবং তারপর ক্লিক করুনভাড়া.

img

ক্লিক করুনঅভ্যন্তরীণ বিক্রয়.

img

ছোট wrench আইকন ক্লিক করুন, এবং রেজিস্ট্রেশন কোডের মেটাডেটা সেট করুন.

img

তারপর, আপনি সীমাবদ্ধতা তথ্য লিখতে হবেমেটানিয়ন্ত্রণ, যেমন এই উদাহরণে পরিকল্পিত কৌশলটির বেশ কয়েকটি ব্যবহারের স্তরঃ

  • স্তর ১ঃ পজিশনের পরিমাণের কোন সীমা নেই;
  • level2: সর্বোচ্চ পজিশনের পরিমাণ ১০টি মুদ্রার মধ্যে সীমাবদ্ধ;
  • level3: সর্বোচ্চ পজিশনের পরিমাণ ১টি মুদ্রার মধ্যে সীমাবদ্ধ;
  • মেটা সেট করা নেইঃ সেট না হলে, সর্বোচ্চ পজিশনের পরিমাণের জন্য ডিফল্ট সীমা 0.5 মুদ্রা।

img

প্রথমত, আমরাlevel1মেটা কন্ট্রোল, এবং তৈরি রেজিস্টার কোড আছে যাকlevel1পরীক্ষার ১ রেজিস্টার কোড তৈরি হওয়ার পর, কৌশল বিক্রেতা রেজিস্টার কোডটি কৌশল ক্রেতাকে পাঠাবে।

উদাহরণস্বরূপ, যদি আমি আমার অন্য অ্যাকাউন্টে (ক্রেতার অ্যাকাউন্ট হিসাবে) রেজিস্টার কোড ব্যবহার করি, তবে আমার কৌশল পরীক্ষা ব্যবহার করার অধিকার থাকবে।

img

  • কিভাবে কৌশল ক্রেতা কৌশল ব্যবহার করে

    কৌশল ক্রেতা হিসাবে, আপনাকে প্রথমে একটি বট যুক্ত করতে হবে, কৌশল হিসাবে পরীক্ষা 1 নির্বাচন করুন এবং একটি WexApp স্পট এক্সচেঞ্জ অবজেক্ট যুক্ত করুন (WexApp হল FMZ এর সিমুলেটেড বট), এবং তারপরে বটটি চালান।

img

যখন আপনি কৌশল সঠিকভাবে চালানো দেখতে পারেন, এর মানে হলlevel1পজিশনের পরিমাণের জন্য কোন সীমা নেই (স্পট অ্যাকাউন্টে থাকা মুদ্রার পরিমাণ) ।

  • মেটাডেটা পরিবর্তন করুন

    যখন কৌশল রেজিস্টার কোড ব্যবহার করা হয়, যদি কৌশল বিকাশকারীকে পাঠানো রেজিস্টার কোডের মেটাডেটা সামঞ্জস্য করতে হয়, তিনি এটি সম্পূর্ণরূপে পরিবর্তন করতে পারেন।

    কৌশল পাতায়, এটি বিক্রয় রেকর্ডে রয়েছে।

    img

    মেটাডেটা পরিবর্তন করা যেতে পারে।

    img

    আমরা পুরাতন রেজিস্টার কোডের মেটাডেটা পরিবর্তন করেছিlevel3, এবং কৌশল ব্যবহারকারী পরীক্ষা করতে বট পুনরায় আরম্ভ করতে হবে. এটা triggeredlevel3সর্বোচ্চ পজিশনের পরিমাণকে ১টি মুদ্রায় সীমাবদ্ধ করা।

  • সিদ্ধান্ত

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

    অবশ্যই, উপরে উল্লিখিত উদাহরণগুলি কেবলমাত্র সর্বাধিক সাধারণ সীমাবদ্ধতা এবং নিয়ন্ত্রণের চাহিদা। এখনও বিভিন্ন অনুরূপ চাহিদা রয়েছে, যা ফাংশনটিও উপলব্ধি করতে পারে।


আরো