উদ্ভাবক API নথিপত্রের পরিমাণ

লেখক:ছোট্ট স্বপ্ন, তৈরিঃ 2017-11-27 09:05:08, আপডেটঃ 2023-07-12 16:47:31

[TOC]

প্রাথমিক তথ্য

প্রবেশ করুন

এফএমজেড কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্ম কী করতে পারে?

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

সম্পূর্ণ টিউটোরিয়াল

ভিডিও টিউটোরিয়ালঃ

ভিডিও টিউটোরিয়ালঃ

যদি কোন সমস্যা হয় তাহলে আপনি ফোরামে যেতে পারেন, প্রশ্ন, আলোচনা, প্ল্যাটফর্মে কাজের তালিকা জমা দিতে পারেন, টেলিগ্রামে লিখতে পারেন।টেলিগ্রাম@অ্যাডমিনিস্ট্রেটরগণ, প্রশ্নগুলি সাধারণত দ্রুত উত্তর দেওয়া হয়।

চ্যাট জিপিটি সমর্থন

এফএমজেড কোয়ালিটি ট্রেডিং প্ল্যাটফর্মটি একটি সহায়ক বিকাশকারী সরঞ্জাম হিসাবে চ্যাটজিপিটি অ্যাক্সেস করেছে এবং "কন্ট্রোল সেন্টার" এর শর্টকাট বক্সে "চ্যাটজিপিটি" ক্লিক করে এটিতে ঝাঁপিয়ে পড়তে পারে।চ্যাট জিপিটি সহায়তা পাতা

কোন কোন প্রোগ্রামিং ল্যাঙ্গুয়েজ আমার কৌশল বাস্তবায়ন করতে পারে?

FMZ কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্ম সমর্থনJavaScriptTypeScriptPythonC++PINE麦语言Blockly可视化ডিজাইনের কৌশল লিখুন।

সমর্থনTypeScriptএই ভাষা, কৌশল তৈরির সময় এখনও সেট করা আছেJavaScriptকৌশল, এবং তারপর কৌশল কোডের শুরুতে লিখুন// @ts-checkঅথবা নীতি সম্পাদনা এলাকার উপরের ডানদিকে "TypeScript" বোতামটি ক্লিক করুনTypeScript◎ প্ল্যাটফর্মটি স্বয়ংক্রিয়ভাবে কোডটি সনাক্ত করেTypeScriptআপনি যদি আপনার কম্পিউটারে একটি কম্পিউটার ব্যবহার করতে চান তবে এটি আপনার কম্পিউটারে একটি কম্পিউটার তৈরি করতে পারে।

  • সুরক্ষা প্রকারঃTypeScriptস্ট্যাটিক টাইপ চেকিংয়ের বৈশিষ্ট্যটি আপনাকে কোড লেখার সময় সম্ভাব্য ত্রুটিগুলি সনাক্ত করতে এবং কোডের গুণমান উন্নত করতে সহায়তা করতে পারে।
  • কোডটি স্বয়ংক্রিয়ভাবে পূরণ করা হয়েছেঃTypeScriptটাইপ সিস্টেম আপনাকে কোড লেখার সময় প্রয়োজনীয় বৈশিষ্ট্য এবং পদ্ধতিগুলি দ্রুত খুঁজে পেতে এবং বিকাশের দক্ষতা বাড়াতে সহায়তা করে।
  • আরও স্পষ্ট কোড গঠনঃ ব্যবহারTypeScriptআপনি আপনার কোডকে আরও ভালভাবে সংগঠিত এবং বজায় রাখতে পারেন, যাতে এটি সহজেই পড়া এবং বোঝা যায়।
  • এটি একটি শক্তিশালী বস্তুভিত্তিক প্রোগ্রামিং বৈশিষ্ট্যঃTypeScriptএটি শক্তিশালী বস্তু-ভিত্তিক প্রোগ্রামিং বৈশিষ্ট্য যেমন ইন্টারফেস, ক্লাস এবং প্যানটাইপগুলি সরবরাহ করে যা আপনাকে আরও শক্তিশালী, পুনরায় ব্যবহারযোগ্য কৌশলগত কোড লিখতে সহায়তা করে।

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

Blocklyভিডিও টিউটোরিয়ালঃ

সেটিংPythonকৌশলগত প্রোগ্রাম ব্যবহারPythonব্যাখ্যাকারী

ব্যবহারPythonলিখিত নীতি, পুনরাবৃত্তি বা বাস্তব সময় যদি হোস্ট সিস্টেম পরিবেশের সাথে ইনস্টল করা হয়পাইথন২এবংপাইথন ৩নীতিমালা শুরু করার সময় প্রথম লাইন সেট করুনPythonএই ভিডিওটি একটি ভিডিও।#!python3#!python2আপনি যদি এই পদ্ধতিটি ব্যবহার করেন তবে এটি আপনার কম্পিউটারের জন্য একটি দুর্দান্ত উপায় হতে পারে।#!/usr/bin/python3

কাফির কি?

ট্রাস্টিআপনার ট্রেডিং কৌশল বাস্তবায়নকারী হিসাবে বোঝা যায়, যা জটিল ডেটা অনুরোধ, ডেটা গ্রহণ, নেটওয়ার্ক লিঙ্ক, লগ রিফ্রেশ ইত্যাদির জন্য দায়ী।লিনাক্সউইন্ডোজম্যাক ওএসঅ্যান্ড্রয়েডএআরএম লিনাক্সএই ভিডিওটি একটি ভিডিও।অ্যাডমিনিস্ট্রেটর পৃষ্ঠালিনাক্স হোস্টার ইনস্টলেশন এবং হোস্টার আপডেটের পদক্ষেপ⇒ ট্রাস্টি পরিচালিত ভার্চুয়াল ডিস্ক লগগুলি ট্রাস্টি প্রোগ্রামের ক্যাটালগগুলিতে সংরক্ষণ করা হয়./logs/storageফাইলের নামdb3এরSqliteডাটাবেস ফাইলের জন্য।Sqliteএই এক্সটেনশানগুলির নাম হল "অ্যাডাপ্টার" এবং "অ্যাডাপ্টার" ।db3ডিস্কের ডাটাবেস ফাইলের নাম হল ডিস্কের ফাইলID

সমর্থিত চুক্তি

  • ব্লকচেইন সম্পদঃ বর্তমানে ৫০ টিরও বেশি মূলধারার ব্লকচেইন সম্পদ (ডিজিটাল মুদ্রা) এক্সচেঞ্জ সমর্থন করে।
  • সাধারণ প্রোটোকল অ্যাক্সেসঃসাধারণ চুক্তি

কৌশলগত নিরাপত্তা

এফএমজেড কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মে নীতিগুলি বিকাশ করুন, যা কেবলমাত্র এফএমজেড কোয়ালিফাইড অ্যাকাউন্টধারীদের জন্য দৃশ্যমান। এবং এফএমজেড কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মে নীতির কোডটি সম্পূর্ণ স্থানীয়করণ করা সম্ভব, যেমন নীতিগুলিকে একটি প্যাকেজে প্যাকেজ করা।Pythonপ্যাকেজটি পলিসি কোডে লোড করা হয়, যা পলিসির স্থানীয়করণ সম্ভব করে তোলে।

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

Pythonএদিকে, বাংলাদেশের বিভিন্ন অঞ্চলের নাগরিকরাও এ বিষয়ে সচেতন। ডিফল্টরূপে,Pythonনীতি কোড লেখক নিজের ব্যবহারের জন্য এনক্রিপ্ট না, অন্যদের ব্যবহারের জন্য ভাড়া এনক্রিপ্ট;Pythonনীতি শুরু সম্পাদনা নিম্নলিখিত কোড, আপনি স্বয়ংক্রিয়ভাবে বা ভাড়া নির্ধারণ করতে পারেনPythonনীতিটি চালানোর সময় নীতি কোডটি এনক্রিপ্ট করা হয় কি না; নীতি কোড এনক্রিপ্ট করার জন্য সমর্থনPythonএই সংস্করণটিঃPython 2.7এই ভিডিওটিPython 3.5এই ভিডিওটিPython 3.6সংস্করণ ।

  • এই নীতির লেখক নিজে চালান এবং নিবন্ধন কোড দিয়ে অন্যদের কাছে ব্যবহারের জন্য এই কোডটি ব্যবহার করেনঃ#!pythonপাইথন এক্সপ্লোরারের সংস্করণ নির্দিষ্ট করার জন্য একটি কমা ব্যবহার করুন,বিরতি, ইনপুট এনক্রিপশন নির্দেশencrypt❖ যদি নির্দিষ্ট না করা হয়Pythonসংস্করণ সরাসরি যোগ করা#!encrypt

    #!python,encrypt
    

    অথবা

    #!encrypt
    
  • এই নীতির লেখক নিজে চালান, এবং নিবন্ধন কোড দিয়ে অন্যদের কাছে ব্যবহারের জন্য কোনও এনক্রিপশন নীতির কোড নেইঃ

    #!python,not encrypted
    

    অথবা

    #!not encrypted
    

বিচারPythonকৌশলগত কোড এনক্রিপশন কি কোড ব্যবহার করে কার্যকরos.getenv('__FMZ_ENV__')স্ট্রিং ফিরে"encrypt"ব্যাখ্যাটি কার্যকর। শুধুমাত্র বাস্তব ডিস্ক বৈধ, পুনরায় পরীক্ষা করা হবে নাPythonকৌশলগত কোড।

#!encrypt
def main():
    ret = os.getenv('__FMZ_ENV__')
    # 打印变量ret为字符串encrypt或者ret == "encrypt"为真,即代表加密生效
    Log(ret, ret == "encrypt")

কী সুরক্ষা

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

  • প্ল্যাটফর্মটি এক্সচেঞ্জ অ্যাকাউন্ট সম্পর্কিত তথ্য, গোপন কী এবং অন্যান্য সংবেদনশীল তথ্য স্থানীয়করণের জন্য সমর্থন করে

    প্ল্যাটফর্মের এক্সচেঞ্জ কনফিগারেশন তথ্য পৃষ্ঠায়, সমস্ত আচ্ছাদিত এনক্রিপশন টেক্সট বক্স কন্ট্রোলগুলি একটি কনফিগারেশন ফাইল পাথ পদ্ধতিতে সমর্থন করে যা ট্রাস্টির স্থানীয় ফাইলগুলিতে লোড করা হয়; নীচে এক্সচেজগুলির জন্য।RSA KEYযাচাইকরণ পদ্ধতি একটি উদাহরণ, যা হোস্ট প্রোগ্রামের মধ্যে থাকা ডিভাইসের স্থানীয়ভাবে সংবেদনশীল তথ্য কনফিগার করার বিস্তারিত বিবরণ দেয়।

    ১, আরএসএ পাবলিক কী, প্রাইভেট কী তৈরি করা।PKCS#8আপনি যদি আপনার ব্যক্তিগত বা পাবলিক কী তৈরি করতে চান, তাহলে আপনার কাছে অনেকগুলি সরঞ্জাম রয়েছে, যেমনঃopenssl◄ ২। এক্সচেঞ্জে তৈরি করাRSA KEYতৈরির সময় আপলোড করুনপ্রথম ধাপআপনি কি জানেন যে আপনি কি কি করতে পারেন? ৩, হবেপ্রথম ধাপব্যক্তিগত কী তৈরি করা হয়txtফাইল ফরম্যাটে হোস্টের সমমানের ডিরেক্টরি সংরক্ষণ করা হয়, তবে হোস্টের প্রোগ্রামটি যে ডিরেক্টরিতে রয়েছে তার মধ্যে অন্যান্য পথগুলিও সংরক্ষণ করা যেতে পারে। ৪। FMZ এ এক্সচেঞ্জ কনফিগার করার সময় কনফিগার করুনAccess Keyএক্সচেঞ্জে তৈরি করা ফাইলগুলি সম্পাদনা বাক্সে পূরণ করুনRSA KEY◄ ৫। FMZ-তে এক্সচেঞ্জ কনফিগার করার সময় কনফিগার করুনSecret Keyসম্পাদনা বাক্সে,তৃতীয় ধাপহোস্ট পিয়ার ডিরেক্টরিতে স্থাপন করাtxtফাইলের পাথ, উদাহরণস্বরূপ, ফাইলের নামঃrsaKey.txtএই নথিটি এবং ম্যানেজার একই স্তরের ডিরেক্টরিতে পূরণ করেঃfile:///rsaKey.txt❖ যদি ফাইলটি ট্রাস্টি প্রক্রিয়ার ক্যাটালগ এর পরবর্তী স্তরের ক্যাটালগ হয়rsa_keyএই ছবিতে দেখা যাচ্ছে যে,file:///rsa_key//rsaKey.txt❖ যদি স্থাপন করা হয়rsaKey.txtনথির অন্য পাথ, বিশেষত সেটিং এর মতো, এটি লক্ষ্য করা দরকার যে এই ফাইলটি কেবল হোস্ট স্তরের ডিরেক্টরি বা সাবডিরেক্টরিতে স্থাপন করতে সমর্থন করে।

    ব্যক্তিগত কী স্থানীয়করণ আরও সুরক্ষিত এবং বিস্তারিত প্রক্রিয়া রেফারেন্স করতে পারেভিডিও ব্যাখ্যা

পুনরায় সনাক্তকরণ ব্যবস্থা

রি-টেস্টিং সিস্টেম কি এবং এর ব্যবহার কি?

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

রিটেইস্টিং সিস্টেমের ডেটা কি সঠিক এবং রিটেইস্টিং ফলাফলের সঠিকতা কত?

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

বিভিন্ন ভাষার কৌশল পুনর্বিবেচনার সময় যে বিষয়গুলি লক্ষ্য করা উচিতঃ

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

পুনরায় পরীক্ষা সিস্টেমের তথ্য

FMZ কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মের পুনরায় পরিমাপ করা হয়, যার মধ্যে দুটি হল অ্যানালগ স্তরের পুনরায় পরিমাপ এবং বাস্তব ডিস্ক স্তরের পুনরায় পরিমাপ।tick, প্রতিটি তলদেশের K-রেখা চক্রের উপর 12 টি পুনরাবৃত্তি সময় পয়েন্ট উত্পাদিত হবে, যখন বাস্তব ডিস্ক স্তরটি সত্যিকারের সংগ্রহ করা হয়tickএফএমজেডের পুনরাবৃত্তি প্রক্রিয়াটি কৌশলটিকে একটি কে লাইনে একাধিকবার লেনদেন করতে দেয়, যা কেবলমাত্র খোলার দামের লেনদেন বন্ধ করার পরিস্থিতি এড়ায়, আরও সুনির্দিষ্ট এবং পুনরাবৃত্তির গতি বিবেচনা করে।লিঙ্ক

পুনর্বিবেচনার সিস্টেমে নীতি DEBUG পদ্ধতি

জাভাস্ক্রিপ্ট নীতি পুনরায় পরীক্ষা করা হয়েছে Chrome ব্রাউজারে DevTools এ ডিবাগ করা হয়েছে

রিভিউ সিস্টেমে সমর্থিত এক্সচেঞ্জ

  • ক্রিপ্টোকারেন্সি (digital currency)

    নাম প্রকার ব্যাখ্যা
    বিটফিনেক্স অবিলম্বে বিনিময় বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USD,ETH_USD,LTC_USDসুতরাং, নোট করুন যে, মুদ্রার বিনিময়েUSDডলারে
    বিয়ান অবিলম্বে বিনিময় বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USDT,ETH_USDT,ETH_BTC,LTC_BTCএবং তাই।
    ঠিক আছে অবিলম্বে বিনিময় বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USDT,ETH_USDT,ETH_BTC,LTC_BTCএবং তাই।
    টুকরা অবিলম্বে বিনিময় বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USDT,ETH_USDT,ETH_BTC,LTC_BTCএবং তাই।
    OKX ফিউচার ফিউচার এক্সচেঞ্জের বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USD,ETH_USDএবং তাই, মুদ্রা বিনিময়USD, নির্দিষ্ট চুক্তি কোড সেট করুন ((দেখুনexchange.SetContractTypeফাংশন) এর পরে, চুক্তিটি মুদ্রা ভিত্তিক চুক্তি। সমর্থিত চুক্তি কোডগুলি হলঃthis_weeknext_weekquarterswap
    হুওবিডিএম ফিউচার এক্সচেঞ্জের বস্তু HuobiDM হল টোকন ফিউচার (টোকন কন্ট্রাক্ট) যা সীমিত সংখ্যক লেনদেনের জন্য সমর্থন করে, যেমনঃBTC_USD,ETH_USDএবং তাই, মুদ্রা বিনিময়USD, নির্দিষ্ট চুক্তি কোড সেট করুন ((দেখুনexchange.SetContractTypeফাংশন) এর পরে, চুক্তিটি মুদ্রা ভিত্তিক চুক্তি। সমর্থিত চুক্তি কোডগুলি হলঃthis_weeknext_weekquarterswap
    বিটমেক্স ফিউচার এক্সচেঞ্জের বস্তু লেনদেনের জন্যঃXBT_USD, নির্দিষ্ট চুক্তি কোড সেট করুন ((দেখুনexchange.SetContractTypeফাংশন) এর পরে, চুক্তিটি মুদ্রা ভিত্তিক চুক্তি। সমর্থিত চুক্তি কোডগুলি হলঃXBTUSD
    বেনান ফিউচার ফিউচার এক্সচেঞ্জের বস্তু সীমিত লেনদেনের জন্য সমর্থন, যেমনঃBTC_USDT,ETH_USDTএবং তাই, মুদ্রা বিনিময়USDT, নির্দিষ্ট চুক্তি কোড সেট করুন ((দেখুনexchange.SetContractTypeফাংশন) এর পরে, কন্ট্রাক্ট হলUSDTএই চুক্তির কোডগুলিঃswap
    ডেরিবিট বিকল্প অপশন এক্সচেঞ্জ লেনদেনের জন্যঃBTC_USD,ETH_USD, নির্দিষ্ট চুক্তি কোড সেট করুন ((দেখুনexchange.SetContractTypeফাংশন) এর পরে, চুক্তিটি মুদ্রা ভিত্তিক চুক্তি হয়। নির্দিষ্ট বিকল্প চুক্তি কোড সেট করা প্রয়োজন।

    রিভিউ সিস্টেম ফিউচার এক্সচেঞ্জ অবজেক্ট সাময়িকভাবে কৌশল কোড মধ্যে সুইচিং লেনদেন জোড়া সমর্থন করে না।

মডেল স্তর

অ্যানালগ স্তরের রিগ্রেসিং হল একটি রিগ্রেসিং সিস্টেমের অন্তর্নিহিত K-লাইন ডেটার উপর ভিত্তি করে একটি নির্দিষ্ট অ্যালগরিদম অনুসারে একটি নির্দিষ্ট অন্তর্নিহিত K-লাইন Bar-এর সর্বোচ্চ মূল্য, সর্বনিম্ন মূল্য, খোলা মূল্য, বন্ধ মূল্যের সংখ্যাগত গঠনগুলির মধ্যে একটি ফ্রেমওয়ার্কের মধ্যে অনুকরণ করা।tickডেটা, রিয়েল টাইমেtickইন্টারফেসের অনুরোধে তথ্য ফিরে আসে।উদ্ভাবকেরা পরিমাণগতভাবে অ্যালগরিদম স্তরের পুনরায় পরিমাপের পদ্ধতি ব্যাখ্যা করেছেন

বাস্তব ডিস্ক স্তর

রিয়েল-ডিস্ক-স্তরের পুনঃনিরীক্ষা বাস্তবtickস্তরের ডেটা বার এর সময়সূচীতে রয়েছে।tickস্তরের ডেটার কৌশলটি হ'ল বাস্তব স্তরের পুনরুদ্ধার ব্যবহার করা যা সত্যের কাছাকাছি হয়।tickযা প্রকৃত রেকর্ড করা ডেটা, অ্যালগরিদম তৈরি নয়; গভীরতা ডেটা সমর্থন করে, বাজার লেনদেন রেকর্ড ডেটা পুনরায় খেলুন, কাস্টম গভীরতা সমর্থন করে, স্ক্রিপ্ট ডেটা সমর্থন করে; বাস্তব ডিস্ক স্তরের স্ক্রিপ্ট ডেটা সর্বাধিক 50MB সমর্থন করে, ডেটা উপরের সীমার মধ্যে পুনরায় পরীক্ষা করার সময়সীমা সীমাবদ্ধ করে না, যদি প্রয়োজন হয় তবে পুনরায় পরীক্ষা করার সময়সীমা যতটা সম্ভব বাড়িয়ে তুলতে পারে, গভীরতা ফাইবারের সংখ্যাগত সেটিংটি হ্রাস করতে পারে, পুনরায় পরীক্ষা করার সময়সীমা বাড়ানোর জন্য স্ক্রিপ্ট ডেটা ব্যবহার করে না; কলGetDepthGetTradesফাংশনটি ক্রিয়াকলাপের ডেটা পুনরুদ্ধার করে।GetTickerGetTradesGetDepthGetRecords, পুনরাবৃত্তির সময়সূচীতে সময়কে একাধিকবার অগ্রসর করবে না ((পরবর্তী বাজারের ডেটা মুহুর্তে ঝাঁপিয়ে পড়বে না) । উপরোক্ত ফাংশনগুলির মধ্যে একটির জন্য পুনরাবৃত্তি কল, পুনরাবৃত্তির সময়কে পুনরাবৃত্তির সময়সূচীতে অগ্রসর করবে ((পরবর্তী বাজারের ডেটা মুহুর্তে ঝাঁপিয়ে পড়বে) । পুনরাবৃত্তির সময় বাস্তব ডিস্ক স্তরের পুনরাবৃত্তি ব্যবহার করা অনুচিত। খুব তাড়াতাড়ি সময় নির্বাচন করা উচিত নয়, কারণ খুব তাড়াতাড়ি সময়সীমার জন্য কোনও বাস্তব ডিস্ক স্তরের ডেটা নেই।

ডিস্ক-স্তরের পুনরায় পরীক্ষা বর্তমানে সমর্থিত

  • বিয়ান
  • OKX ((ওকেএক্স এক্সপার্ট)
  • HuobiDM (টোকন ফিউচার)

পুনরায় পরীক্ষা সিস্টেম পরামিতি সমন্বয়

FMZ কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্ম রিটার্নিং সিস্টেমের প্যারামিটার tweak বৈশিষ্ট্যটি রিটার্নিংয়ের সময় প্রতিটি প্যারামিটারের জন্য tweak বিকল্পের উপর ভিত্তি করে tweak সেট করে, যেমনঃ

  • ন্যূনতম মানঃ সীমাবদ্ধ পরামিতির প্রাথমিক মান।
  • সর্বোচ্চ মানঃ সীমাবদ্ধ পরামিতির ক্রমবর্ধমান পরিবর্তনের পরে সর্বোচ্চ মান।
  • স্টেপ দৈর্ঘ্যঃ পরামিতির ক্রমবর্ধমান পরিবর্তনশীলতা।

প্যারামিটার সমন্বয় তৈরি করা হয় এবং এই প্যারামিটার সমন্বয়গুলির মধ্য দিয়ে পুনরাবৃত্তি করা হয় (যেমন, প্রতিটি প্যারামিটার সমন্বয় একবার পুনরাবৃত্তি করা হয়) । কৌশলগত প্যারামিটারগুলি কেবলমাত্র ** সংখ্যা টাইপ ** প্যারামিটারগুলির জন্য পুনরাবৃত্তি সিস্টেমের মধ্যে প্যারামিটারগুলি সংশোধন করতে পারে।

উদাহরণস্বরূপ, রিভিউ পৃষ্ঠায় প্যারামিটার অপ্টিমাইজেশান সেট করুনঃ

img

প্যারামিটার অপ্টিমাইজেশান মোড পুনরায় পরীক্ষাঃ

img

সংরক্ষণ করুন পুনরায় পরীক্ষা সেটিংস

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

img

এর সাথেJavaScriptউদাহরণস্বরূপ, "সোর্স ফাইলে সংরক্ষণ করুন" এ ক্লিক করুনঃ

img

JavaScript/Python/C++/麦语言সোর্স ফাইল ফরম্যাটে সংরক্ষণ পুনরায় সেট করুন সামান্য ভিন্নঃ

/*backtest
start: 2021-06-26 00:00:00
end: 2021-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
'''backtest
start: 2021-06-26 00:00:00
end: 2021-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
'''
/*backtest
start: 2021-06-26 00:00:00
end: 2021-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

ময় ভাষাঃ

(*backtest
start: 2021-06-26 00:00:00
end: 2021-09-23 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_OKCoin","currency":"BTC_USD"}]
*)

কাস্টমাইজড ডেটা উত্স

সিস্টেম ব্যবহারGETপদ্ধতিটি একটি কাস্টম URL ((সর্বজনীনভাবে অ্যাক্সেসযোগ্য URL) অনুরোধ করে একটি বহিরাগত ডেটা উত্স পুনরায় পরীক্ষা করার জন্য, নিম্নলিখিত অতিরিক্ত অনুরোধ পরামিতি সহঃ

প্যারামিটার অর্থ ব্যাখ্যা
প্রতীক জাতের নাম উদাহরণস্বরূপঃ BTC_USD_OKCoin_EN
ইড এক্সচেঞ্জ যেমনঃ OKCoin_EN
গোলাকার দামের সঠিকতা যদি 3 হয়, তাহলে আমরা ফিরে পাবো যে কোন দাম 1000 দ্বারা গুণিত হবে।
ভ্রাউন্ড সংখ্যাগত নির্ভুলতা যদি ২ হয়, তাহলে আমরা ফিরে পাবো যে সংখ্যাটা ১০০ দিয়ে গুণিত হয়েছে।
সময়কাল বার পিরিয়ড (মিলিসেকেন্ড) উদাহরণস্বরূপ, 60000 বার প্রতি মিনিটে অনুরোধ
গভীরতা গভীরতা 1-20
বাণিজ্য ডেটা ভাগ করা দরকার কি না সত্য/মিথ্যা
থেকে শুরু সময় ইউনিক্স টাইমার
থেকে শেষ সময় ইউনিক্স টাইমার

সতর্কতাঃ

round与vround是为了避免网络传输过程中浮点数的精度丢失设计的两个参数,价格数据和成交量、订单量数据都采用整型传输。

একটি উদাহরণ, যেখানে ডেটা একত্রিত করা হয়েছেঃ

http://customserver:80/data?symbol=BTC_USD_OKCoin_EN&eid=OKCoin_EN&round=3&vround=3&period=900000&from=1564315200&to=1567267200

রিটার্ন করা ফরম্যাটের জন্য নিম্নলিখিত দুটি ফরম্যাটের মধ্যে একটি হতে হবে (সিস্টেম স্বয়ংক্রিয়ভাবে স্বীকৃত):

সাধারণ বার স্তরের পুনরায় পরীক্ষা

{
    "schema":["time","open","high","low","close","vol"],
    "data":[[1564315200000,9531300,9531300,9497060,9497060,787],[1564316100000,9495160,9495160,9474260,9489460,338]]
}

টিক-স্তরের পুনরায় পরীক্ষা করা ডেটা ((ডিসপ্লে গভীরতার তথ্য ধারণ করে, গভীরতার বিন্যাসটি [মূল্য, পরিমাণ] এর একটি অ্যারে, গভীরতার একাধিক স্তর থাকতে পারে, দামের শ্রেণিবদ্ধকরণ হিসাবে জিজ্ঞাসা করে, দামের পুনরায় ক্রমানুসারে বিডগুলি)

{
    "schema":["time","asks", "bids","trades","close","vol"],
    "data":[[1564315200000,[[9531300,10]], [[9531300,10]],[[1564315200000,0,9531300,10]],9497060,787]]
}

ব্যাখ্যা

ক্ষেত্র ব্যাখ্যা
স্কিম ডেটা অ্যারেতে স্তরের বৈশিষ্ট্য নির্দিষ্ট করুন, বড় আকারে লেখা, শুধুমাত্র time, open, high, low, close, vol, asks, bids-এ সীমাবদ্ধ
তথ্য একটি অ্যারে যা স্কিমা অনুসারে একটি কলাম সংরক্ষণ করে

তথ্য বিন্যাস

ক্ষেত্র ব্যাখ্যা
অনুরোধ/প্রস্তাব [মূল্য, পরিমাণ,...]
বাণিজ্য [সময়, দিক (০ঃ কিনুন, ১ঃ বিক্রয়), মূল্য, পরিমাণ,...]

তহবিলের হার সম্পর্কে তথ্যঃ উদাহরণস্বরূপ, বিআইএনএ ফিউচার রিভিউয়ের সময় অতিরিক্ত মূলধন হারের ডেটা প্রয়োজন হয় এবং কাস্টমাইজড ডেটা উত্স সরবরাহ করা প্রয়োজন। উদাহরণস্বরূপ, বিআইএনএ ফিউচার রিভিউয়ের সময় অনুরোধ করা মূলধন হারের ডেটা কাঠামোটি নিম্নরূপ।

{
	"detail": {},
	"symbol": "futures_binance.eth_usdt.funding",
	"schema": ["time", "open", "high", "low", "close", "vol"],
	"data": [
		[1582876800000, 25289, 25289, 25289, 25289, 0],
		[1582905600000, 30522, 30522, 30522, 30522, 0],
		[1582934400000, 40998, 40998, 40998, 40998, 0],
        ...
		[1626652800000, 198, 198, 198, 198, 0],
		[1626681600000, 691, 691, 691, 691, 0],                  // 相邻的周期间隔8小时
		[1626710400000, 310, 310, 310, 310, 0],                  // 币安资金费率8小时更新一次,资金费率数据为什么为310?
		[1626739200000, 310, 310, 310, 310, 0],                  // 因为和K线数据一样,为了避免网络传输过程中浮点数的精度丢,数据采用整型,所以需要根据round参数处理数据,处理后用于返回给回测系统的数据就为310
		[1626768000000, -41610, -41610, -41610, -41610, 0],      // 资金费率数据也可能为负值
		[1626796800000, -5125, -5125, -5125, -5125, 0],
        ...		
		[1627977600000, 10000, 10000, 10000, 10000, 0]
	]
}

রিসেটিং সিস্টেম থেকে প্রেরিত ডেটা অনুরোধের উদাহরণ হলঃ

http://customserver:80/data?symbol=futures_binance.eth_usdt.funding&eid=Futures_Binance&round=8&vround=5&depth=20&trades=1&custom=0&period=3600000&from=1360771200&to=1628006400

কাস্টমাইজড ডেটা উত্স উদাহরণঃ

তথ্যসূত্র, ঠিকানা উল্লেখ করুনঃhttp://xxx.xx.x.xx:9090/dataকাস্টমাইজড ডেটা সার্ভার, গোল্যাং ব্যবহার করে লিখুনঃ

package main 
import (
    "fmt"
    "net/http"
    "encoding/json"
)

func Handle (w http.ResponseWriter, r *http.Request) {
    // e.g. set on backtest DataSourse: http://xxx.xx.x.xx:9090/data
    // r.URL: /data?depth=20&detail=true&eid=Binance&from=1566820800&period=900000&round=3&symbol=BTC_USDT_Binance&to=1569686400&trades=1&vround=5
    // response
    defer func() {
        // response data
        /* e.g. data
        {
            "schema":["time","open","high","low","close","vol"],
            "data":[
                [1564315200000,9531300,9531300,9497060,9497060,787],
                [1564316100000,9495160,9495160,9474260,9489460,338]
            ]
        }
        */
        ret := map[string]interface{}{
            "schema" : []string{"time","open","high","low","close","vol"},
            "data" : []interface{}{
                []int64{1564315200000,9531300,9531300,9497060,9497060,787},
                []int64{1564316100000,9495160,9495160,9474260,9489460,338},
            },
        }
        b, _ := json.Marshal(ret)
        w.Write(b)
    }()
}

func main () {
    fmt.Println("listen http://localhost:9090")
    http.HandleFunc("/data", Handle)
    http.ListenAndServe(":9090", nil)
}

এই পরীক্ষা কৌশলটিJavaScriptউদাহরণঃ

/*backtest
start: 2019-07-28 00:00:00
end: 2019-07-29 00:00:00
period: 1m
exchanges: [{"eid":"OKX","currency":"BTC_USDT","feeder":"http://120.24.2.20:9090/data"}]
*/

function main() {
    var ticker = exchange.GetTicker()
    var records = exchange.GetRecords()
    Log(ticker)
    Log(records)
}

রিভিউ সিস্টেমের কাস্টমাইজড ডেটা থেকে একটি চার্ট আঁকাঃ

প্রিন্ট করার কৌশলঃ

স্থানীয় পুনরুদ্ধার ইঞ্জিন

এফএমজেড কোয়ান্টাম ট্রেডিং প্ল্যাটফর্ম উন্মুক্তJavaScriptভাষা এবংPythonভাষার স্থানীয় পুনরাবৃত্তি ইঞ্জিন, পুনরাবৃত্তির সময় সেটিং সমর্থন করেতলদেশের কে-লাইন চক্র

পুনরায় পরীক্ষা করা পৃষ্ঠা শর্টকাট

  • নীতি সম্পাদনা পৃষ্ঠা এবং নীতি পুনর্বিবেচনা পৃষ্ঠা স্যুইচ করার জন্য শর্টকিট

    ব্যবহারCtrl + ,বোতাম, পুনরায় পরীক্ষা পৃষ্ঠা এবং নীতি সম্পাদনা পৃষ্ঠা পরিবর্তন করুন, টিপুনCtrlক্লিক করুন,

  • নীতি সংরক্ষণের জন্য শর্টকিট

    ব্যবহারCtrl + sকী, সংরক্ষণ নীতি ।

  • পুনরাবৃত্তি শুরু করার জন্য শর্টকিট

    ব্যবহারCtrl + bট্যাব, পুনরায় পরীক্ষা শুরু করুন।

কোড বিবরণ

ইনপুট ফাংশন

ফাংশন নাম ব্যাখ্যা
main() ইনপুট ফাংশনের জন্য।
onexit() স্বাভাবিক প্রস্থান করার জন্য, সর্বাধিক 5 মিনিটের জন্য স্যুইপ-টেল ফাংশনটি কার্যকর করা যেতে পারে, এটি ঘোষণা করা যাবে না, যদি ওভারটাইম হয় তবে এটি একটি ত্রুটি প্রদান করবেবিরতি দিনভুল।
onerror() অপ্রত্যাশিতভাবে প্রস্থান করার জন্য ফাংশনটি সঞ্চালনের জন্য সর্বোচ্চ 5 মিনিটের সময়সীমা রয়েছে এবং এটি অঘোষিত হতে পারে।Pythonভাষার জন্য।C++এই ফাংশনটি ভাষা-নির্মিত নীতিগুলির দ্বারা সমর্থিত নয়।
init() ইনস্টল ফাংশনের জন্য, পলিসি প্রোগ্রামটি শুরু করার সময় প্রথমে স্বয়ংক্রিয়ভাবে কল করা হয়, তবে এটি ঘোষণা করা যায় না।
  • ব্যাখ্যাঃ
    • রিসেট সিস্টেম সমর্থিত নয়onerror()ফাংশন ।
    • এটি বাস্তব সময়ে সক্রিয় হয়।onerror()ফাংশন আর ট্রিগার হবে না।onexit()ফাংশন ।

এক্সিট ((()

onexit()এটি ব্যবহারকারীর দ্বারা পরিচালিত হয়, যা সর্বাধিক 5 মিনিটের জন্য কাজ করে।

function main(){
    Log("开始运行, 5秒后停止,并执行扫尾函数!")
    Sleep(1000 * 5)
}

// 扫尾函数实现
function onexit(){
    var beginTime = new Date().getTime()
    while(true){
        var nowTime = new Date().getTime()
        Log("程序停止倒计时..扫尾开始,已经过去:", (nowTime - beginTime) / 1000, "秒!")
        Sleep(1000)
    }
}
import time 
def main():
    Log("开始运行, 5秒后停止,并执行扫尾函数!")
    Sleep(1000 * 5)

def onexit():
    beginTime = time.time() * 1000
    while True:
        ts = time.time() * 1000
        Log("程序停止倒计时..扫尾开始,已经过去:", (ts - beginTime) / 1000, "秒!")
        Sleep(1000)
void main() {
    Log("开始运行, 5秒后停止,并执行扫尾函数!");
    Sleep(1000 * 5);
}

void onexit() {
    auto beginTime = Unix() * 1000;
    while(true) {
        auto ts = Unix() * 1000;
        Log("程序停止倒计时..扫尾开始,已经过去:", (ts - beginTime) / 1000, "秒!");
        Sleep(1000);
    }
}

ইনস্টল করুন

init()ব্যবহারকারী ইনস্টলেশন ফাংশন বাস্তবায়নinit()নীতিটি শুরু হলে এটি প্রথমে স্বয়ংক্রিয়ভাবে কার্যকর হয়।init()ফাংশন, নীতিতে ডিজাইন করা প্রাথমিকীকরণ কার্য সম্পাদন।

function main(){
    Log("程序第一行代码执行!", "#FF0000")
    Log("退出!")
}

// 初始化函数
function init(){     
    Log("初始化!")
}
def main():
    Log("程序第一行代码执行!", "#FF0000")
    Log("退出!")

def init():
    Log("初始化!")
void main() {
    Log("程序第一行代码执行!", "#FF0000");
    Log("退出!");
}

void init() {
    Log("初始化!");
}

ত্রুটি ((()

onerror()এটি একটি অস্বাভাবিক ঘটনা ঘটলে এটিকে ট্রিগার করে।onerror()একটি ফাংশন চালানো হচ্ছে যা সমর্থিত নয়PythonC++ভাষার কৌশল।

function main() {
    var arr = []
    Log(arr[6].Close)
}

function onerror() {
    Log("错误")
}
# python不支持
// C++不支持

ক্লাসিক কৌশলগত কাঠামো

এদিকেJavaScriptPythonC++যেসব ভাষায় নীতি লিখিত হয় সেগুলোর জন্য নীতি প্রধান লুপে কল করা প্রয়োজন।Sleep()ফাংশনটি ⇒ রিটার্নে গতি নিয়ন্ত্রণ করতে ব্যবহৃত হয়, ⇒ রিয়েল-ডিস্কে সময়সীমা নিয়ন্ত্রণ করতে ব্যবহৃত হয়, যা এক্সচেঞ্জের এপিআই ইন্টারফেসে অ্যাক্সেস করার অনুরোধের ফ্রিকোয়েন্সি নিয়ন্ত্রণ করে।

  • ডিজিটাল মুদ্রার কৌশলগত মূল কাঠামোর উদাহরণঃ

    function onTick(){
        //在这里写策略逻辑,将会不断调用,例如打印行情信息
        Log(exchange.GetTicker())
    }
    
    function main(){
        while(true){
            onTick()
            // Sleep函数主要用于数字货币策略的轮询频率控制,防止访问交易所API接口过于频繁
            Sleep(60000)
        }
    }
    
    def onTick():
        Log(exchange.GetTicker())
    
    def main():
        while True:
            onTick()
            Sleep(60000)
    
    void onTick() {
        Log(exchange.GetTicker());
    }
    
    void main() {
        while(true) {
            onTick();
            Sleep(60000);
        }
    }
    

    উদাহরণস্বরূপ, যদি আমি প্রতি ১ সেকেন্ডে এক্সচেঞ্জে ১০০ টির একটি মূল্য আর ১ টির একটি সংখ্যার পেমেন্ট দিতে চাই, তাহলে আমি এইভাবে লিখতে পারিঃ

    function onTick(){
        // 这个仅仅是例子,回测或者实盘会很快把资金全部用于下单,实盘请勿使用
        exchange.Buy(100, 1)
    }
    
    function main(){
        while(true){
            onTick()
            // 暂停多久可自定义,单位为毫秒,1秒等于1000毫秒
            Sleep(1000)
        }
    }
    
    def onTick():
        exchange.Buy(100, 1)
    
    def main():
        while True:
            onTick()
            Sleep(1000)
    
    void onTick() {
        exchange.Buy(100, 1);
    }
    
    void main() {
        while(true) {
            onTick();
            Sleep(1000);
        }
    }
    

টেমপ্লেট শ্রেণীভান্ডার

টেমপ্লেট শ্রেণীভান্ডারএফএমজেড কোয়ালিটি ট্রেডিং প্ল্যাটফর্মে পুনরায় ব্যবহারযোগ্য কোড মডিউল, কৌশল কোডের একটি বিভাগ।টেমপ্লেট শ্রেণীভান্ডারএই পদ্ধতিতে, একটি টেমপ্লেট ক্লাস লাইব্রেরি তৈরি করা হয়, যা ইনভেন্টর কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মের সাথে লগ ইন করা অ্যাকাউন্টের নীতিমালার লাইব্রেরিতে তৈরি করা হয়।

JavaScriptভাষা টেমপ্লেট ক্যাটাগরিঃ

img

Pythonভাষা টেমপ্লেট ক্যাটাগরিঃ

img

C++ভাষা টেমপ্লেট ক্যাটাগরিঃ

img

  • টেমপ্লেট ক্লাস লাইব্রেরির এক্সপোর্ট ফাংশন এক্সপোর্ট ফাংশন হল একটি টেমপ্লেট ক্লাস লাইব্রেরির ইন্টারফেস ফাংশন, যা এই টেমপ্লেট ক্লাস লাইব্রেরির নীতিমালা দ্বারা কল করা যেতে পারে। এক্সপোর্ট ফাংশনটি টেমপ্লেট ক্লাস লাইব্রেরিতে ঘোষণা করা হয় এবং বাস্তবায়িত উদাহরণ কোডটি নিম্নরূপঃ

    /*
    -- 策略引用该模板以后直接用 $.Test() 调用此方法
    -- main 函数在策略中不会触发, 只做为模板调试的入口
    */
    $.Test = function() {
        Log('Test')
    }
    
    function main() {
        $.Test()
    }
    
    def Test():
        Log("template call")
    
    # 导出Test函数, 主策略可以通过ext.Test()调用
    ext.Test = Test 
    
    // 策略引用该模板以后直接用 ext::Test() 调用此方法
    void Test() {
        Log("template call");
    }
    
  • টেমপ্লেট ক্লাস লাইব্রেরির প্যারামিটার টেমপ্লেট লাইব্রেরী তাদের নিজস্ব ইন্টারফেস পরামিতি সেট করতে পারেন। টেমপ্লেট লাইব্রেরির পরামিতিগুলি টেমপ্লেট লাইব্রেরির কোডে গ্লোবাল ভেরিয়েবলের আকারে ব্যবহৃত হয়।

    টেমপ্লেট ক্লাস লাইব্রেরির প্যারামিটার সেট করুনঃ

    img

    টেমপ্লেট ক্লাস লাইব্রেরির কোডঃ

    $.SetParam1 = function(p1) {
        param1 = p1
    }
    
    $.GetParam1 = function() {
        Log("param1:", param1)
        return param1
    }
    
    def SetParam1(p1):
        global param1
        param1 = p1
    
    def GetParam1():
        Log("param1:", param1)
        return param1
    
    ext.SetParam1 = SetParam1
    ext.GetParam1 = GetParam1
    
    void SetParam1(float p1) {
        param1 = p1;
    }
    
    float GetParam1() {
        Log("param1:", param1);
        return param1;
    }
    

    উদ্ধৃতিটেমপ্লেট শ্রেণীভান্ডারএই উদাহরণটির কৌশল কোডঃ

    function main () {
        Log("调用$.GetParam1:", $.GetParam1())
        Log("调用$.SetParam1:", "#FF0000")
        $.SetParam1(20)
        Log("调用$.GetParam1:", $.GetParam1())
    }
    
    def main():
        Log("调用ext.GetParam1:", ext.GetParam1())
        Log("调用ext.SetParam1:", "#FF0000")
        ext.SetParam1(20)
        Log("调用ext.GetParam1:", ext.GetParam1())
    
    void main() {
        Log("调用ext::GetParam1:", ext::GetParam1());
        Log("调用ext::SetParam1:", "#FF0000");
        ext::SetParam1(20);
        Log("调用ext::GetParam1:", ext::GetParam1());
    }
    

    img

  • টেমপ্লেট ক্যাটাগরির উল্লেখ

    পলিসি সম্পাদনা পৃষ্ঠার টেমপ্লেট বক্সে একটি উদ্ধৃতি নির্বাচন করার পরে, নীতি সংরক্ষণ করুন।

    img

অন্তর্নির্মিত কাঠামো

বিশ্বব্যাপী পরিবর্তনশীল

বিনিময়

exchangeএকটি এক্সচেঞ্জ অবজেক্ট হিসাবে দেখা হয়, যা ডিফল্টরূপে নীতিগত পরামিতিতে যোগ করা প্রথম এক্সচেঞ্জ অবজেক্ট। এক্সচেঞ্জের সাথে সমস্ত মিথস্ক্রিয়া এই অবজেক্টের মধ্যে ফাংশনগুলির মাধ্যমে সম্পন্ন হয়।

  • এক্সচেঞ্জ অবজেক্ট যুক্ত করুন

  • এক্সচেঞ্জের বস্তুগুলি ভার্চুয়াল পৃষ্ঠায় যুক্ত করুন

এক্সচেঞ্জ অবজেক্ট যোগ করা হয়েছে কোডের সাথে সামঞ্জস্যপূর্ণexchangeবস্তুঃ

function main() {
    Log("实盘页面或者回测页面上,添加的第一个交易所对象名字:", exchange.GetName(), ",标签:", exchange.GetLabel())
}
def main():
    Log("实盘页面或者回测页面上,添加的第一个交易所对象名字:", exchange.GetName(), ",标签:", exchange.GetLabel())
void main() {
    Log("实盘页面或者回测页面上,添加的第一个交易所对象名字:", exchange.GetName(), ",标签:", exchange.GetLabel());
}
বিনিময়

এটিকে একইভাবে সংরক্ষণ করা যায়।exchangeএকটি এক্সচেঞ্জের সমস্ত এক্সচেঞ্জের বস্তুগুলির একটি অ্যারে, যা একাধিক এক্সচেঞ্জের বস্তু থাকতে পারে,exchanges[0]অর্থাৎexchange

যোগ করা এক্সচেঞ্জ অবজেক্টগুলি নীতি কোডের সাথে সামঞ্জস্যপূর্ণexchanges[0]exchanges[1]exchanges[2]∙ ∙, এবং এই ধরনের ∙

function main() {
    for(var i = 0; i < exchanges.length; i++) {
        Log("添加的交易所对象索引(第一个为0以此类推):", i, "名称:", exchanges[i].GetName(), "标签:", exchanges[i].GetLabel())
    }
}
def main():
    for i in range(len(exchanges)):
        Log("添加的交易所对象索引(第一个为0以此类推):", i, "名称:", exchanges[i].GetName(), "标签:", exchanges[i].GetLabel())
void main() {
    for(int i = 0; i < exchanges.size(); i++) {
        Log("添加的交易所对象索引(第一个为0以此类推):", i, "名称:", exchanges[i].GetName(), "标签:", exchanges[i].GetLabel());
    }
}
অর্ডারের অবস্থা

OrderগঠনStatusগুণাবলী ।

ধ্রুবক নাম সংজ্ঞা মান
অর্ডার_স্টেট_পেন্ডিং অসম্পূর্ণ 0
ORDER_STATE_CLOSED সম্পন্ন 1
ORDER_STATE_CANCELED-এর জন্য অনুরোধ বাতিল হয়েছে 2
ORDER_STATE_UNKNOWN অজানা অবস্থা (অন্যান্য অবস্থা) 3

ORDER_STATE_UNKNOWNঅবস্থা, কল করা যাবেexchange.GetRawJSON()মূল অর্ডার স্থিতির তথ্য পেতে, এক্সচেঞ্জ ডকুমেন্টেশন অনুসন্ধান করুন, বিস্তারিত বিবরণ দেখুন। টেবিলের ধ্রুবক নামগুলি সরাসরি নীতি কোডে ব্যবহার করা যেতে পারে এবংOrderগঠনStatusবৈশিষ্ট্য তুলনা, অর্ডার স্থিতি নির্ধারণের জন্য সমান কিনা তা নির্ধারণ করে। এই ধ্রুবকগুলির নামগুলি মুদ্রণ করুনধ্রুবক নামসংশ্লিষ্টমান, নিম্নলিখিত অন্যান্য ধ্রুবক নাম সমার্থক আর বর্ণনা করা হয় না ।

অর্ডার প্রকার

OrderগঠনTypeগুণাবলী ।

ধ্রুবক নাম সংজ্ঞা মান
ORDER_TYPE_BUY পেমেন্ট 0
ORDER_TYPE_SELL বিক্রয় 1
পজিশনের ধরন

PositionগঠনTypeগুণাবলী ।

ধ্রুবক নাম সংজ্ঞা ব্যাখ্যা প্রযোজ্য মান
PD_LONG একাধিক অবস্থান নির্দেশ করে ডিজিটাল মুদ্রার ফিউচার ব্যবহারexchange.SetDirection("closebuy")স্থিতিশীলতা দিক সেট করুন, এই ধরনের অবস্থান স্থিতিশীল করুন ডিজিটাল মুদ্রা ফিউচার 0
PD_SHORT শূন্য অবস্থান নির্দেশ করে ডিজিটাল মুদ্রার ফিউচার ব্যবহারexchange.SetDirection("closesell")স্থিতিশীলতা দিক সেট করুন, এই ধরনের অবস্থান স্থিতিশীল করুন ডিজিটাল মুদ্রা ফিউচার 1
ফিউচার খোলা স্থিতিশীল দিক

OrderগঠনOffsetগুণাবলী ।

ধ্রুবক নাম সংজ্ঞা মান
ORDER_OFFSET_OPEN অর্ডার খোলা 0
ORDER_OFFSET_CLOSE সমতল অর্ডার 1
কৌশলগত পরামিতি

কৌশল কোডের মধ্যে কৌশল ইন্টারফেসে নীতি পরামিতিগুলি বিশ্বব্যাপী ভেরিয়েবলের আকারে প্রকাশিত হয়।JavaScriptভাষাটি সরাসরি নীতি ইন্টারফেসে সেট করা প্যারামিটারগুলির মানগুলি অ্যাক্সেস করতে পারে বা পরিবর্তন করতে পারে।Pythonপলিসির ফাংশনে গ্লোবাল ভেরিয়েবল পরিবর্তন করার জন্য ব্যবহার করা হয়globalকীওয়ার্ডগুলো হলো:

প্যারামিটার প্রকারঃ

img

ভেরিয়েবল বর্ণনা নোট প্রকার ডিফল্ট ব্যাখ্যা
সংখ্যা মানের ধরন নোট সংখ্যা (number) 1 C++ এর কৌশলগুলি ফ্লোটিং পয়েন্টের মতো।
স্ট্রিং স্ট্রিং নোট স্ট্রিং (String) হ্যালো এফএমজেড ডিফল্ট মানগুলি ইনপুট করার সময় কোট প্রয়োজন হয় না এবং ইনপুটগুলি স্ট্রিং হিসাবে পরিচালিত হয়।
কমবক্স টেনে আনুন নোট ড্রপ বক্স ((selected) 1|2|3 কমবক্স ভেরিয়েবল নিজেই একটি সংখ্যা, যা ড্রপবক্স কন্ট্রোলের জন্য একটি লক্ষ্যবস্তু সূচককে প্রতিনিধিত্ব করে। প্রথম ড্রপবক্স শিরোনামটি 1 এর বিষয়বস্তু, যার সূচক মানটি 0।
বুল নির্বাচন করুন নোট বুল টাইপ ((true/false) সত্য Bool ভেরিয়েবলটি true, bool ভেরিয়েবলটি false।
secretস্ট্রিং এনক্রিপশন স্ট্রিং নোট এনক্রিপশন স্ট্রিং পাসওয়ার্ড স্ট্রিংয়ের মতোই ব্যবহার করা হয়, এনক্রিপশন স্ট্রিংগুলি এনক্রিপ্ট করা হয় এবং স্পষ্ট পাঠ্য প্রেরণ করা হয় না।
  • ইন্টারফেস প্যারামিটার, নীতি সম্পাদনা পৃষ্ঠার কোড সম্পাদনা বিভাগের নীচে নীতি প্যারামিটার বিভাগে সেট করা হয়।
  • ইন্টারফেস প্যারামিটারগুলি পলিসি কোডে গ্লোবাল ভেরিয়েবলের আকারে বিদ্যমান, অর্থাৎ কোডে ইন্টারফেস প্যারামিটারগুলি পরিবর্তন করা যায়।
  • ইন্টারফেস প্যারামিটার কৌশল কোডের মধ্যে ভেরিয়েবলের নামঃ যেমন উপরের ছবিতেnumberstringcomboxboolsecretString
  • অপশন বর্ণনা করুনঃ ইন্টারফেস পরামিতির নাম নীতি ইন্টারফেসটিতে।
  • নোট বিকল্পঃ ইন্টারফেস প্যারামিটারের বিস্তারিত বিবরণ, যা মাউস যখন ইন্টারফেস প্যারামিটারে থাকে তখন প্রদর্শিত হবে।
  • টাইপ অপশনঃ এই ইন্টারফেস পরামিতির ধরন।
  • ডিফল্ট মান বিকল্পঃ এই ইন্টারফেস পরামিতির ডিফল্ট মান।

প্যারামিটারগুলি সেটিংসের উপর নির্ভর করেঃ আপনি একটি প্যারামিটার সেট করতে পারেন যাতে অন্য প্যারামিটারটি এই প্যারামিটটির উপর ভিত্তি করে নির্বাচন করে প্রদর্শিত এবং লুকানো হয়। উদাহরণস্বরূপ আমরা প্যারামিটার সেট করিnumberA, একটি সংখ্যার ধরন।numberAএটি একটি পরামিতির উপর ভিত্তি করেঃisShowA(বুল টাইপ) সত্য সিদ্ধান্তnumberAপ্রদর্শন এবং লুকানো।numberAভেরিয়েবল ইন্টারফেস প্যারামিটারে সেট করা হয়ঃnumberA@isShowA

img

এইভাবে নির্বাচন করবেন নাisShowAপ্যারামিটার,numberAপ্যারামিটারগুলি লুকানো থাকে। ড্রপবক্স নিয়ন্ত্রণের ধরণের প্যারামিটারগুলির জন্য, প্যারামিটারগুলি ড্রপবক্সের একটি বিকল্পের সাথে সমান কিনা তা নির্ধারণের জন্য অংশে নির্ভর করেসূচক মান❖ একইভাবেisShowAপ্যারামিটার উদাহরণস্বরূপ, যখন একটি প্যারামিটার পরিবর্তনশীল সেট করা হয় তখন এটি লেখা হয়ঃnumberA@combox==2numberAপ্যারামিটারগুলিcomboxপ্যারামিটারটি তৃতীয় বিকল্পের জন্য প্রদর্শিত বা লুকানো হবে কিনা তা নির্বাচন করুন ((ইন্ডেক্স 0 প্রথম বিকল্পের জন্য, ইন্ডেক্স 1 দ্বিতীয় বিকল্পের জন্য, ইন্ডেক্স 2 তৃতীয় বিকল্পের জন্য) ।) ।

কৌশল ইন্টারফেস প্যারামিটার, ইন্টারঅ্যাকশন কন্ট্রোল, টেমপ্লেট উপর প্যারামিটার গ্রুপিং বৈশিষ্ট্যঃ শুধুমাত্র শুরুতে প্যারামিটার বর্ণনা দিয়ে যোগ করুন(?第一组)এই ছবিতে দেখা যাচ্ছে যে,

img

কৌশল ব্যবহারের সময়, প্যারামিটারগুলি দেখানোর জন্য গ্রুপ করা হয়ঃ

img

প্যারামিটারের ডিফল্ট মান সংরক্ষিতঃ নীতিগত প্যারামিটারগুলি এখানে দেখানো হয়েছে, যদি আপনি প্যারামিটারগুলির ডিফল্ট মান সংরক্ষণ করতে চান তবে আপনি প্যারামিটারগুলি পরিবর্তন করার পরে ক্লিক করতে পারেন保存回测设置"এইবার আমি আপনার সাথে কথা বলতে চাই।

img

img

আপনি যদি আপনার নীতির জন্য একটি নির্দিষ্ট প্যারামিটার সেট করতে চান তবে আপনি এটিকে কোডের আকারে সংরক্ষণ করতে পারেনঃ

/*backtest
start: 2020-02-29 00:00:00
end: 2020-03-29 00:00:00
period: 1d
args: [["number",2],["string","Hello FMZ.COM"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
*/
'''backtest
start: 2020-02-29 00:00:00
end: 2020-03-29 00:00:00
period: 1d
args: [["number",2],["string","Hello FMZ.COM"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
'''
/*backtest
start: 2020-02-29 00:00:00
end: 2020-03-29 00:00:00
period: 1d
args: [["number",2],["string","Hello FMZ.COM"],["combox",2],["bool",false],["numberA@isShowA",666],["isShowA",true]]
*/

ডাটা স্ট্রাকচার

কিছু ফাংশন কল করার সময় অনুরোধ করা প্রাইভেট ফিট করেJSONডেটা, এই আদিমJSONডাটা স্টোরেজ ফিরে আসেInfoবৈশিষ্ট্যের মধ্যে...................Infoবৈশিষ্ট্য, এখানে বিভিন্ন ডেটা স্ট্রাকচারের প্রধান বৈশিষ্ট্যগুলির বিবরণ দেওয়া হল।

বাণিজ্য

সমস্ত লেনদেনের ইতিহাস (নিজের নয়)exchange.GetTrades()ফাংশনটি ফিরে আসে।

{
    Id      : 9585306,          // 交易记录ID,如果交易所接口没有提供订单ID则使用时间戳填充
    Time    : 1567736576000,    // 时间(Unix timestamp 毫秒)
    Price   : 1000,             // 价格
    Amount  : 1,                // 数量
    Type    : 0                 // 订单类型,参考常量里的订单类型,0即为ORDER_TYPE_BUY,ORDER_TYPE_BUY的值为0
}
টিককার

বাজারexchange.GetTicker()ফাংশনটি ফিরে আসে।

{
    Info    : {...},             // 请求交易所接口后,交易所接口应答的原始数据,回测时无此属性
    High    : 1000,              // 最高价,如果交易所接口没有提供24小时最高价则使用卖一价格填充
    Low     : 500,               // 最低价,如果交易所接口没有提供24小时最低价则使用买一价格填充
    Sell    : 900,               // 卖一价
    Buy     : 899,               // 买一价
    Last    : 900,               // 最后成交价
    Volume  : 10000000,          // 最近成交量,原则上现货成交量单位为交易币种(baseCurrency),期货成交量单位为合约张数。如果交易所接口没有提供此类数据则使用交易所接口现有的数据填充,例如可能为计价币(quoteCurrency)为单位的成交量
    Time    : 1567736576000      // 毫秒级别时间戳
}
রেকর্ড

স্ট্যান্ডার্ডOHLCকাঠামো, যা কে লাইন এবং সূচক গণনা বিশ্লেষণ আঁকতে ব্যবহৃত হয়;exchange.GetRecords()ফাংশন এই কাঠামোর অ্যারে ফিরে আসে।Recordকাঠামোটি একটি কে লাইন স্তম্ভের প্রতিনিধিত্ব করে, অর্থাৎ একটি কে লাইন।BARRecordএর মধ্যে একটিTimeএই কে-লাইন স্তম্ভের চক্রের শুরু সময়।

{
    Time    : 1567736576000,     // 一个时间戳,精确到毫秒,与Javascript的new Date().getTime()得到的结果格式一样
    Open    : 1000,              // 开盘价
    High    : 1500,              // 最高价
    Low     : 900,               // 最低价
    Close   : 1200,              // 收盘价
    Volume  : 1000000            // 交易量,原则上现货成交量单位为交易币(baseCurrency),期货成交量单位为合约张数,如果交易所接口没有提供此类数据则使用交易所接口现有的数据填充,例如可能为计价币(quoteCurrency)为单位的成交量
}
ক্রম

অর্ডার কাঠামোexchange.GetOrder()exchange.GetOrders()ফাংশনটি ফিরে আসে।exchange.GetOrders()যদি এই স্ট্রাকচারটি না থাকে তবে এটি একটি শূন্য অ্যারে বা অ্যারে ())অর্ডারগুলি এখনও শেষ হয়নিফিরে আসুন[], অর্থাৎ খালি অ্যারে) ।

{
    Info        : {...},         // 请求交易所接口后,交易所接口应答的原始数据,回测时无此属性
    Id          : 123456,        // 交易单唯一标识
    Price       : 1000,          // 下单价格,注意市价单的该属性可能为0或者-1
    Amount      : 10,            // 下单数量,注意市价单的该属性可能为金额并非币数
    DealAmount  : 10,            // 成交数量,如果交易所接口不提供该数据则可能使用0填充
    AvgPrice    : 1000,          // 成交均价,注意有些交易所不提供该数据。不提供、也无法计算得出的情况该属性设置为0
    Status      : 1,             // 订单状态,参考常量里的订单状态,例如:ORDER_STATE_CLOSED
    Type        : 0,             // 订单类型,参考常量里的订单类型,例如:ORDER_TYPE_BUY
    Offset      : 0              // 数字货币期货的订单数据中订单的开平仓方向。ORDER_OFFSET_OPEN为开仓方向,ORDER_OFFSET_CLOSE为平仓方向
    ContractType : ""            // 现货订单中该属性为""即空字符串,期货订单该属性为具体的合约代码
}
মার্কেট অর্ডার

বাজারের গভীরতা তালিকা,exchange.GetDepth()ফাংশন ডাটা স্ট্রাকচারে ফিরে আসেদরপত্রজিজ্ঞেস করেঅ্যারেতে উপাদানগুলির ডেটা কাঠামো।

{
    Price   : 1000,              // 价格
    Amount  : 1                  // 数量
}
গভীরতা

বাজারের গভীরতা,exchange.GetDepth()ফাংশনটি ফিরে আসে।

{
    Asks    : [...],             // 卖单数组,MarketOrder数组,按价格从低向高排序
    Bids    : [...],             // 买单数组,MarketOrder数组,按价格从高向低排序
    Time    : 1567736576000      // 毫秒级别时间戳
}
অ্যাকাউন্ট

অ্যাকাউন্টের তথ্যexchange.GetAccount()ফাংশনটি ফিরে আসে. ফিরে আসা কাঠামোর মধ্যে থাকা ডেটা বর্তমানে সেট করা লেনদেনের জোড়া, সেট করা চুক্তির কোডের সাথে সম্পর্কিত।

{
    Info            : {...},     // 请求交易所接口后,交易所接口应答的原始数据,回测时无此属性
    Balance         : 1000,      // 可用计价币数量,现货中如果交易对是BTC_USDT,Balance指的是当前可用USDT数量。U本位期货合约中Balance指的是可用保证金USDT的数量
    FrozenBalance   : 0,         // Balance表示的资产用于挂单的冻结数量
    Stocks          : 1,         // 可用交易币数量,现货中如果交易对是BTC_USDT,Stocks指的是当前可用BTC数量。币本位期货合约中Stocks指的是可用保证金的币(baseCurrency)的数量
    FrozenStocks    : 0          // Stocks表示的资产用于挂单的冻结数量
}
অবস্থান

ফরোয়ার্ড ট্রেডিংয়ে থাকা পজিশনের তথ্যexchange.GetPosition()ফাংশনটি এখানে ফিরে আসে।Positionগঠনসমষ্টি

{
    Info            : {...},     // 请求交易所接口后,交易所接口应答的原始数据,回测时无此属性
    MarginLevel     : 10,        // 持仓杆杠大小,如果交易所接口没有提供该数据则通过计算填充,可能会有误差
    Amount          : 100,       // 持仓量,持仓合约张数,通常是正整数。注意每个交易所的合约乘数、价值等合约规格可能不一样,下单规则也可能不一样,例如币安合约可以0.1张下单
    FrozenAmount    : 0,         // 仓位冻结量,用于平仓挂单时的临时冻结仓位数量
    Price           : 10000,     // 持仓均价,原则上该属性为仓位总体的平均价格(不参与结算),如果交易所接口没有提供该数据则用交易所接口现有的持仓均价填充(参与结算)
    Profit          : 0,         // 持仓浮动盈亏,原则上为持仓的未实现盈亏,如果交易所接口没有提供该数据则用交易所接口其它盈亏数据填充,盈亏数值的单位和当前合约保证金的单位相同
    Type            : 0,         // PD_LONG为多头仓位,PD_SHORT为空头仓位
    ContractType    : "quarter", // 合约代码,具体可以参看SetContractType函数描述中传入的参数
    Margin          : 1          // 仓位占用的保证金,如果交易所接口没有提供该数据则使用0填充
}

ডিজিটাল মুদ্রার ফিউচারগুলি সম্পর্কে সতর্কতা অবলম্বন করুন।exchange.GetPosition()ফাংশনটি ফিরে আসেPositionকাঠামোগত অ্যারে.FrozenAmountProfitMarginবৈশিষ্ট্য, যেহেতু এক্সচেঞ্জের দেওয়া ডেটা অভিন্ন নয়, তাই বিভিন্ন এক্সচেঞ্জের বস্তুগুলি কল করা হয়exchange.GetPosition()ইন্টারফেসে ফিরে আসা ডেটার সংজ্ঞা ভিন্ন হতে পারে। উদাহরণস্বরূপ, কিছু এক্সচেঞ্জের কাছে স্টক ডেটাতে কোনও অবস্থান ফ্রিজ ডেটা নেই।FrozenAmount০. যদি কিছু তথ্য গণনা করা প্রয়োজন হয়Infoবৈশিষ্ট্যগুলির মধ্যে প্রাথমিক ডেটা গণনা বিশ্লেষণ।

বাজার

ট্রেডিং জাতের বাজার তথ্য,exchange.GetMarkets()ফাংশনটি এই ফাংশনটি প্রদান করেMarketগঠনঅভিধান

{
    Symbol          : "btcusdt",       // 该交易品种在交易所的原始名称
    BaseAsset       : "BTC",           // baseCurrency 交易币,统一大写
    QuoteAsset      : "USDT",          // quoteCurrency 计价币,统一大写
    TickSize        : 0.01,            // 价格最小变动数值
    AmountSize      : 0.01,            // 下单量最小变动数值
    PricePrecision  : 2,               // 价格精度,表示价格精确到2位小数
    AmountPrecision : 3,               // 下单量精度,表示下单量精确到3位小数
    MinQty          : 0.001,           // 最小下单量
    MaxQty          : 1000,            // 最大下单量
    MinNotional     : 5,               // 最小下单金额
    MaxNotional     : 9999999,         // 最大下单金额
    CtVal           : 100,             // 合约价值
    Info            : {...}            // 交易所该品种的原始数据
}

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

গ্লোবাল ফাংশন

সংস্করণ

Version(), সিস্টেমের বর্তমান সংস্করণের নাম্বার ফেরত দেয়.

ঘুম ((মিলেসেকেন্ড)

Sleep(Millisecond), নিস্তেজ ফাংশন, যা প্রোগ্রামকে কিছুক্ষণের জন্য স্থগিত করে।Millisecondএকটি সংখ্যা টাইপ করা হয়. প্যারামিটারটি মিলিসেকেন্ডের সংখ্যা, যেমনঃSleep(1000)আমি এক সেকেন্ডের জন্য ঘুমিয়ে পড়লাম। নিস্তেজ সময় 1 মিলিসেকেন্ডেরও কম অপারেশন সমর্থন করে, যেমন সেটিংSleep(0.1)◎ সর্বনিম্ন সমর্থিত প্যারামিটার হল0.000001, ন্যানোসেকেন্ড স্তরের নিদ্রা । 1 ন্যানোসেকেন্ড সমান1e-6মিঃ সেকেন্ড।

সতর্কতাঃ ব্যবহার করা হচ্ছেPythonভাষার কৌশল লেখার সময়, প্রশ্নের ব্যবধান, সময় অপেক্ষা করার জন্য অপারেশন ব্যবহার করা উচিতSleep(Millisecond)ফাংশন ⇒ ব্যবহারের পরামর্শ দেওয়া হয় নাPythonএরtimeকূtime.sleep(second)ফাংশন. কারণ এটি নীতিতে ব্যবহৃত হয়time.sleep(second)ফাংশনটি পুনরায় পরীক্ষা করার সময় পলিসি প্রোগ্রামকে প্রকৃতপক্ষে নির্দিষ্ট সেকেন্ডের জন্য অপেক্ষা করতে দেয়।secondপ্যারামিটারটি হল সেকেন্ডের সংখ্যা যা স্থগিত করা হয়), যার ফলে নীতি পুনরাবৃত্তি খুব ধীর হয়।

এটা ভার্চুয়াল ((()

IsVirtual(), বর্তমান নীতিটি অ্যালগরিদমিক পুনরায় পরীক্ষার জন্য চালানো হয়েছে কিনা তা নির্ধারণ করে। অ্যালগরিদম রিসেট অবস্থা ফেরতtrueআসল ডিস্ক ফিরে এসেছেfalse

মেইল ((...)

Mail(smtpServer, smtpUsername, smtpPassword, mailTo, title, body), পাঠান মেইল ফাংশন.. প্যারামিটার মানঃ সমস্ত প্যারামিটার স্ট্রিং টাইপ.. রিটার্ন মানঃ বুল টাইপ, পাঠানো সফলভাবে ফিরে আসেtruesmtpServerমেইল পাঠানোর জন্যsmtpসেবা,smtpUsernameএই ছবিতে দেখা যাচ্ছে যে,smtpPasswordমেইল বক্সের জন্য SMTP পাসওয়ার্ড (মেইল বক্স লগইন পাসওয়ার্ড নয়)mailToএই পোস্টের মাধ্যমে আপনি আপনার ই-মেইল অ্যাকাউন্টের নাম জানতে পারবেন।titleএই ভিডিওটি একটি ভিডিও বার্তার মাধ্যমে শেয়ার করা হয়েছে।bodyইমেইল পাঠানোর জন্য, উদাহরণস্বরূপঃ

function main(){
    Mail("smtp.163.com", "asdf@163.com", "password", "111@163.com", "title", "body")
}
def main():
    Mail("smtp.163.com", "asdf@163.com", "password", "111@163.com", "title", "body")

আরো

qq89520এখানে একটি প্রশ্ন আছে_C ফাংশনটি কি বারবার চেষ্টা করবে অথবা একবারই?

হা হা হা_C ((function, args...) এর ডিফল্ট 3s? ডিফল্ট পরিবর্তন সরাসরি _CDelay ((1000) _C ((function, args...) এর আগে করা যাবে? একবার সেট করা যাবে?

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

ওয়াংজি১Log ((talib.help (('MACD')); শুধুমাত্র js এ ব্যবহার করা যায়, পাইথনে talib.help বৈশিষ্ট্য নেই...

cjz140_C ((function, args...) এবং Sleep ফাংশনের মধ্যে পার্থক্য কি?

৩২৬৩২৪৩SetErrorFilter এর পরে ErrorFilter কিভাবে খালি করবেন?

qq47898077আপনি যদি তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করতে চান তাহলে কি কোন উপায় আছে?

qq47898077যদি আপনি একটি এক্সচেঞ্জ অবজেক্টের নতুন ক্লাস সংজ্ঞায়িত করার উত্তরাধিকার চান, তাহলে পিতা ক্লাসটি কী পূরণ করবে?

ইথানউস্থানীয় ডিবাগিং সরঞ্জাম আছে কি?

পেংলিহেনগএক্সচেঞ্জ.আইও (exange.IO (("status"))?

পেংলিহেনগকেন sell এর ফাংশনটি ধূসর হয়, এটা কি প্রতিনিধিত্বকারী ফাংশনটি ব্যবহার করা যাবে না?

পেংলিহেনগকেন sell এর ফাংশনটি ধূসর হয়, এটা কি প্রতিনিধিত্বকারী ফাংশনটি ব্যবহার করা যাবে না?

পেংলিহেনগjs ভাষা জানে না, হাহাহাহা, আমি জানতে চাই ES6 সমর্থন করে?

পেংলিহেনগjs ভাষা জানে না, হাহাহাহা, আমি জানতে চাই ES6 সমর্থন করে?

Don.ভলিউম এর গড় রেখা কিভাবে লিখবো?

জুতুর্তিএক্সচেঞ্জ.বায় (১০০০) -এ বাজার মূল্যে কেনাকাটা করুন।

নিং ডেকোনতুন ফন্টটি দেখতে খুব সুন্দর।

হিব্রুবিটমেক্সের টেস্টিং নেটওয়ার্ক ((testnet.bitmex.com) এপিআই ইন্টারফেসও রয়েছে, তবে বর্তমানে এক্সচেঞ্জগুলি কেবল বিটমেক্সের মূল স্টেশনটি বেছে নিতে পারে, এপিআই ডকুমেন্টের ঠিকানাটি https://testnet.bitmex.com/app/apiOverview কিভাবে সমর্থন করবেন?

এক্সজিজিনvar ret1 = exchanges[0].IO (("api", "future_estimated_price", "symbol=btc_usd"); Log (('ok ফিউচার পূর্বাভাস ডেলিভারি মূল্য', ret1); https://dn-filebox.qbox.me/d1ed268c1e75753c5d289447d279aa9d81e41b5f.png আপনি যদি অন্য এক্সচেঞ্জের ফাংশন ইন্টারফেসে কল করেন, তাহলে ভুল রিপোর্ট লিখুন, কেন?

অ্যালেনফ্রস্টলাইনrealTicker এবং Ticker এর মধ্যে পার্থক্য কি জানতে চাই? সাম্প্রতিক সময়ে সুইট কৌশলগুলি পুনর্লিখন করা হচ্ছে এবং উভয়ই একই সাথে উপস্থিত হয়েছে তবে প্রথমটি API তে উল্লেখ করা হয়নি বলে মনে হচ্ছে।

দর্শনহ্যালো, একজন পাইথন ডেভেলপার হিসেবে আপনার মনে হয় আপনার API ডকুমেন্টেশন কি লিখছে? কিছু ফিল্ড ফাংশন ইন্টারফেস অদ্ভুত দেখাচ্ছে, আপনি কি Githubpage এবং readdocs মত একটি ডকুমেন্টেশন লিখতে পারেন?

অ্যালেনফ্রস্টলাইনGetAccount: [EAPI:Rate limit exceeded] আপনি কি জানতে চান কিভাবে এটি সমাধান করা যায়?

zhjx2314স্টোকআরএসআই সমর্থন করে না, যত তাড়াতাড়ি সম্ভব যোগ করা যাবে কিনা

ইহফগpython নীতির বাস্তব সময় স্ক্রিপ্টগুলি তাদের নিজস্ব আলি ক্লাউড সার্ভার বা botvs ক্লাস্টারে?

ইহফগপাইথনের কোন সংস্করণ ব্যবহার করা হয়?

ফকিসলিGetFee এর ব্যাখ্যাটি হল যে এটি একটি ফি স্ট্রাকচারের একটি ট্যাগ ফেরত দেয়, একটি কমপ্যাক্ট শব্দ।

জেকওপJS এর মাধ্যমে তালেবকে কল করার পদ্ধতি কি?

ইহফগপাইথন ডকুমেন্টেশন খুঁজুন

wmjbs123কৌশল সম্পাদক কোড ব্যাকগ্রাউন্ড একটি কালো করতে পারেন? সাদা পিন্ট চোখ, রাতে কোড লেখার, সহজে অদৃশ্য

Don.রোবট উইকএন্ডে সংক্ষিপ্ত বিবরণ কিভাবে সেটআপ করবেন?

গণনাঃ পাগলঅর্ডার কাঠামোর মধ্যে একটি সমান মূল্যের ক্ষেত্র যোগ করা যাবে?

ছোট্ট ছোট্ট জিনিসGetOrders: সমস্ত অসম্পূর্ণ অর্ডার পান, একটি অর্ডার অ্যারে কাঠামো ফিরে আসে, চীনে বিটকয়েন লেনদেন ETH, শুধুমাত্র সাম্প্রতিকতম 10 টি ফিরে আসে। এখানে কি চীনে বিটকয়েন ETH এর সমস্ত অসম্পূর্ণ অর্ডার ফেরত ফাংশন আছে, যার অর্থ অন্যান্য প্ল্যাটফর্মগুলি GetOrders ব্যবহার করে সমস্ত কিছু ফেরত দিতে পারে।

ইহফগযদি আপনি একটি গণিতের ফাংশন ব্যবহার করতে চান যা পরিসংখ্যানগত সম্ভাব্যতা তত্ত্বের সাথে সম্পর্কিত হয়, তাহলে আপনি কোথায় এটি ব্যবহার করবেন?

জিবাং$.Cross ((x, y) ফাংশনের রিটার্ন মান কি?

আমার নানীLogReset সব লগ খালি করে এবং একটি সংখ্যাগত প্যারামিটার দিয়ে সংরক্ষিত রেকর্ডগুলি নির্ধারণ করতে পারে কিভাবে এটি সাম্প্রতিক কয়েকটি লগ মুছে ফেলবে?

এডওয়ার্ড জিউতালেব এর মধ্যে CORRE ফাংশনটি কি এমন মনে হচ্ছে যে এটিকে স্থানান্তরিত করা হয়নি অথবা এটি মিস করা হয়েছে?

দরিদ্র পর্বতমালাআমি মনে করি না যে এটি একটি সূচক রেফারেন্স বৈশিষ্ট্য আছে!

ছোটকিভাবে k-line সময় পড়তে এখন সময় অনুবাদ Ah, বুঝতে পারছি না, খুব দীর্ঘ এক, সমাধান, ধন্যবাদ

ছোটঅ্যারেতে সংখ্যা মুছে ফেলার পদ্ধতি, আমি records.remove ((records[0]) ব্যবহার করি, কিন্তু এটা কাজ করে না।

সাপসাধারণত ঘণ্টার কে লাইন পাওয়া যায়, কিভাবে দিনের কে লাইনের এটিআর কল করা যায়?

সাপসাধারণত ঘণ্টার কে লাইন পাওয়া যায়, কিভাবে দিনের কে লাইনের এটিআর কল করা যায়?

57278863কিভাবে ঐতিহ্যগত ফিউচার মূল্য পেতে এবং অর্ডার, দুঃখিত, পাতলা শিকড় শিখতে

কিরিনএই প্রসঙ্গে, আমি আপনাদেরকে একটি উদাহরণ দেখাতে চাই।

ছোটzero, আপনি কি একটি উদাহরণ লিখতে পারেন ঐতিহ্যগত ফিউচার ট্রেডিং সম্পর্কে?

ছোটএকাধিক শূন্যপদ একই সাথে ধরে রাখার সময়, কীভাবে হোল্ডিং অবস্থা মুদ্রণ করবেন, আমার কীভাবে [object object][object object] মুদ্রণ করবেন, কীভাবে একাধিক এবং শূন্যপদ হোল্ডিং অবস্থা পাবেন, এবং GetTicker (((), কীভাবে সপ্তাহ, পরের সপ্তাহ এবং ত্রৈমাসিকের দাম পাবেন, বন্ধনীতে যে সপ্তাহ, পরের সপ্তাহ এবং ত্রৈমাসিক আমি লিখেছি।

এক্সজিজিনফিউচার এক্সচেঞ্জগুলি কি GetTicker দিয়ে ট্রেডিং পেতে পারে?

বিক্রয়StochRSI এর কোন সূচক যোগ করা যাবে?

মোমোক্সCancelOrder ((orderId) অর্ডার নাম্বার অনুযায়ী একটি অর্ডার বাতিল করুন, true বা false ফেরত দিন, true= সেলটি সফলভাবে বাতিল করা হয়েছে, তাই না?

মোমোক্স_G(K, V) সংরক্ষণযোগ্য গ্লোবাল ডিকশনারি টেবিল। এই পদ্ধতিতে সংরক্ষিত গ্লোবাল ভেরিয়েবলগুলি বিভিন্ন নীতিগুলির মধ্যে ডেটা ভাগ করে নেওয়ার জন্য ব্যবহার করা যেতে পারে?

ফ্লুফাই৩ডিজনপ্রিয়তা

শূন্যআপনি LogProfitReset ব্যবহার করে উপার্জন লগ পুনরায় সেট করতে পারেন। আগের উপার্জন চার্টে ইতিহাস নেই।

xcyআপনি কি সরাসরি ইএ-র অনুলিপি করতে পারবেন?

সিরোনম্যানএই প্ল্যাটফর্মটি দারুণ লাগছে।

ছোটএটা কোন ভাষা, কোন শিক্ষা উপকরণ আছে?

jxhbtcডেটা ত্রুটি এক সপ্তাহের জন্য, রোবট সংযোগ করতে পারে না

ডাইহুআপনি কি মনে করেন যে, ট্যাক্স রিপোর্ট কেবল বন্ধের মূল্যের জন্য?

btcrobotহ্যালো, বিশ্ব

ছোট্ট স্বপ্ন_C ফাংশনটি সফল ফলাফল না পাওয়া পর্যন্ত পুনরায় চেষ্টা করবে।

ছোট্ট স্বপ্নপাইথনের তালিব লাইব্রেরিটি ইনস্টল করা প্রয়োজন।https://www.botvs.com/bbs-topic/669 এই পোস্টটি দেখুন।

ছোট্ট স্বপ্নSleep হল প্রোগ্রামটি কিছু না করার জন্য অপেক্ষা করছে, প্যারামিটার সেট করা আছে, _C হল ফাংশন যা একটি প্যারামিটার পুনরায় কল করে।

ছোট্ট স্বপ্নউত্তরাধিকার ছাড়াই, JS সরাসরি বস্তুর মধ্যে আবৃত হয় {name: "নতুন বস্তু", old_exchange : exchange[0],...... }

ছোট্ট স্বপ্নস্থানীয় সম্পাদক দূরবর্তী সিঙ্ক্রোনাইজেশন প্লাগইন, মূলত স্থানীয় সম্পাদক দূরবর্তী ডিউটি।

ছোট্ট স্বপ্নআপনি কি কিউকিউ গ্রুপে আসতে পারেন, এবং এটি আলোচনা করা সহজ হবে?

ছোট্ট স্বপ্নএপিআই ডকুমেন্টেশনে ধূসর অর্থ হল এই ফাংশনটি খুব বেশি ব্যাখ্যা ছাড়াই ধূসর, নীল প্রতিনিধিত্ব করে।

ছোট্ট স্বপ্নES6 অস্থায়ীভাবে অসমর্থিত, ^^

ছোট্ট স্বপ্নআপনি কি কিউকিউ গ্রুপে যেতে পারেন, আমি প্রশ্নটি বর্ণনা করি, আমি উত্তর দিই ^^

ছোট্ট স্বপ্নএটি সরাসরি একটি ত্রুটি ফেরত দেয় এবং অর্ডারটি বাতিল করে দেয় (বাস্তবে, এটি কিনতে যথেষ্ট নয়!

জুতুর্তিউদাহরণস্বরূপ, OKCoin কেনা হলে কি পরিমাণ টাকা ফিরে আসে, যদি ক্রেতাদের কাছে থাকা মানবাধিকার কয়েন বেশি হয়?

ছোট্ট স্বপ্নআমি একটি অর্ডার নম্বর ফেরত দিতে চাই, কিন্তু আমি কোন এক্সচেঞ্জের কাছে এটি ফেরত দেব?

শূন্যরান-এন্ড স্যুইচিং লেনদেনের জন্য সমর্থন রয়েছে, সর্বশেষতম হোস্ট ডাউনলোড করতে হবে। সমর্থন Bter/Poloniex বিস্তারিত API ডকুমেন্টেশন লেনদেন ফাংশন ট্যাব নীচের বর্ণনা ((ব্রাউজার ক্যাশে খালি করুন এবং যদি না দেখেন তবে আপডেট করুন)

ছোট্ট স্বপ্নQQ আমি, আমি আপনাকে সাহায্য করব আপনার প্রশ্ন খুঁজে বের করতে।

পেশাগত রক্ষকআমি হোস্টের আইপি কি সেট করতে চাই?

ছোট্ট স্বপ্নএটি একটি অন্তর্নিহিত লিঙ্ক যা তৈরি করা হয়নি। সার্ভারটি সাড়া দিচ্ছে না। API KEY অনুরোধ করার সময় কি কোনও আইপি ঠিকানা সেট করা আছে?

পেশাগত রক্ষকএটি বিব্রতকর... আমি ঠিকমত চালাতে পারি এমন কৌশল বিটকয়েন যুগে ব্যর্থ হয়েছে, গেট অ্যাকাউন্টগুলিও গেট অ্যাকাউন্টে অ্যাক্সেস করতে পারে নাঃ পোস্ট http://api.btc38.com/v1/getMyBalance.php: read tcp 192.168.0.227:58596->211.149.148.144:80: wsarecv: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. 2017-05-23 21:08:24 বিটকয়েন যুগ ত্রুটি GetAccount: timeout 2017-05-23 21:08:02 বিটকয়েন যুগ ত্রুটি GetAccount: timeout 2017-05-23 21:07:40 বিটকয়েন যুগ ত্রুটি GetAccount: timeout 2017-05-23 21:07:20 পুনরায় চালু এটা কি আইপি হোয়াইট লিস্টের সমস্যা?

ছোট্ট স্বপ্নএক্সচেঞ্জের সার্ভারগুলি সাড়া দেয়নি, টিসিপি প্রোটোকলটি তিনটি হ্যান্ডশেকের মধ্যেও প্রতিষ্ঠিত হয়নি।

পেশাগত রক্ষকA connection attempt failed because the connected party did not properly respond after a period of time. A connection attempt failed because the connected party did not properly respond after a period of time. A connection attempt failed because the connected party did not properly respond after a period of time. একটি সংযোগ প্রচেষ্টা ব্যর্থ হয়েছে কারণ সংযুক্ত পক্ষটি সময়ের পরে সঠিকভাবে সাড়া দেয়নি।

ছোট্ট স্বপ্নহ্যালো! এটি exchange.IO ((api, ApiName, Args) ফাংশনটি সমর্থন করে না, দেখুন https://www.botvs.com/bbs-topic/812

পেশাগত রক্ষকএকটি সংযোগ প্রচেষ্টা ব্যর্থ হয়েছে কারণ সংযুক্ত পক্ষ একটি নির্দিষ্ট সময়ের পরে সঠিকভাবে সাড়া দেয়নি,

পেশাগত রক্ষকবিটকয়েন যুগের সমর্থন নেই?

ছোট্ট স্বপ্নhttps://dn-filebox.qbox.me/a709b30c6cc0a3565234b9e0c99b073f7ba8b454.png আমি মনে করি এটা ঠিক।

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

ছোট্ট স্বপ্নআপনি exchange.IO কল করতে পারেন।

নিং ডেকোঅ্যাকাউন্ট যাচাই করার জন্য API সম্পর্কে কি?

ছোট্ট স্বপ্নযদি অ্যাকাউন্ট যাচাই করার প্রয়োজন না হয় তবে একটি এপিআই httpQuery ব্যবহার করা যেতে পারে (বিস্তারিত BotVS ডকুমেন্টেশন দেখুন), প্রকৃত লেনদেনের জন্য API অ্যাক্সেস করা প্রয়োজন।

ছোট্ট স্বপ্নHttpQuery এপিআই ব্যবহার করে এই প্যারামিটারগুলি প্রেরণ করা যেতে পারেঃ https://www.okcoin.com/api/v1/future_estimated_price.do?symbol=btc_usd, এইভাবে। অ্যাকাউন্ট যাচাই করার প্রয়োজন নেই এমন অ্যাকাউন্টগুলির জন্য এক্সচেঞ্জ এপিআই সরাসরি প্ল্যাটফর্মের এই HttpQuery ফাংশনটি ব্যবহার করে, অ্যাকাউন্টগুলির সাথে সম্পর্কিত ব্যক্তিরা আইওএপিআই ব্যবহার করে (আইও এইগুলি সমর্থন করে না যাচাই করার প্রয়োজন নেই এমন অ্যাকাউন্ট এপিআই) । পোস্টঃ https://www.botvs.com/bbs-topic/850

দর্শনধন্যবাদ, আশা করি আপনার এপিআই ডকুমেন্টেশন ভালো হবে।

ছোট্ট স্বপ্নআপনি কি জানতে চান যে এই realTicker এপিআইটি কোথায় দেখা গেছে?

ছোট্ট স্বপ্নhttps://dn-filebox.qbox.me/fe1a6f5563ed43a5357f858ecf8a50239619228e.png এপিআই ডকুমেন্টেশনটি জাভাস্ক্রিপ্ট ভাষায় বর্ণনা করা হয়েছে, পাইথন সংস্করণ বর্ণনা করা হয়েছে পাতাটির শীর্ষে পাতাটি পাতাটি পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা পাতা

শূন্যহ্যালো, পরামর্শের জন্য ধন্যবাদ, এপিআই ডকুমেন্টেশনটি বর্তমানে পুনর্নির্মাণ করা হচ্ছে।

ছোট্ট স্বপ্নহ্যালো ~ এটি দেখায় যে ভিজিট ফ্রিকোয়েন্সি সীমাবদ্ধতা অতিক্রম করেছে। https://dn-filebox.qbox.me/a09498920d04cac62624b7438a058d2098d8fb00.png আপনি কি আপনার নীতিতে Sleep (1000) ফাংশনটি ব্যবহার করেছেন? এই 1000 হল যে প্রোগ্রামটি প্রতি রাউন্ডে এক সেকেন্ড বিরতি দেয়, যা স্বয়ংক্রিয়ভাবে সেট করা যেতে পারে। এর উদ্দেশ্য হল প্রোগ্রামটি নিয়ন্ত্রণ করা। এপিআই অ্যাক্সেস করার ফ্রিকোয়েন্সি, কারণ কিছু এক্সচেঞ্জ সর্বাধিক অ্যাক্সেস সীমাবদ্ধতা সেট করেছে, একটি নির্দিষ্ট সময়ের জন্য নির্দিষ্ট সংখ্যক অ্যাক্সেস ছাড়িয়ে অ্যাক্সেস প্রত্যাখ্যান করবে, আইপি ঠিকানা ব্লক করবে।

ছোট্ট স্বপ্নhttps://dn-filebox.qbox.me/c29ab7fc279e1b758355f137907cf52dc8257df6.png আমি ব্যক্তিগতভাবে লিখেছি যে, স্টোকআরএসআই সূচকগুলির সাথে তুলনা করা হয়েছে, যা ঠিক আছে, একমত যে, গতি কিছুটা ধীর এবং অপ্টিমাইজ করা হয়েছে, যা সাময়িকভাবে উপলব্ধ।https://www.botvs.com/bbs-topic/392

শূন্যআপনি botvs দ্বারা সরবরাহিত সার্ভারে বা আপনার হোস্টের সার্ভারে পুনরায় পরীক্ষা করতে পারেন, সংস্করণ 2.7.5।

ছোট্ট স্বপ্নএই ছবিটি এখন যোগ করা হয়েছে।

ছোট্ট স্বপ্নএখন আপনি নিজের ব্যাকগ্রাউন্ড স্টাইল কনফিগার করতে পারেন।

ছোট্ট স্বপ্নপাইথন ডকুমেন্টেশন লেখা হচ্ছে।

ছোট্ট স্বপ্নতালেবানের সমর্থনে।

hzzgood48 https://www.botvs.com/bbs-topic/276

ছোট্ট স্বপ্নএটি একটি উদাহরণ, যা কৌশল স্কয়ারে দেখা যাচ্ছে, https://www.botvs.com/strategy/15098

শূন্যঅর্ডারের গড় মূল্য বৈশিষ্ট্যটি অ্যাক্সেস করুন, এক্সচেঞ্জগুলি সমর্থন করে, অ-সমর্থিত এক্সচেঞ্জগুলি 0 এ থাকবে

ইহফগতৃতীয় পক্ষের পুস্তিকা কিভাবে উদ্ধৃতি দেয়?

শূন্যmathjs যদি সন্তুষ্ট না হয়, তবে এটি কেবল তৃতীয় পক্ষের লাইব্রেরী অনুলিপি করার নীতিগুলি সন্ধান করতে পারে। কম্পাইলের গতির জন্য, সিস্টেমটি কেবলমাত্র কয়েকটি লাইব্রেরি অন্তর্নির্মিত করে।

ছোট্ট স্বপ্নআমি অনলাইনে আছি, কিন্তু আমার সাথে যোগাযোগ করতে পারলে আমার সমস্যা হবে।

জিবাংধন্যবাদ।

ছোট্ট স্বপ্নআপনি কি এই গ্রুপের মধ্যে আছেন? আপনি একটি নোটারি সংস্করণ দেখতে পারেন যেখানে আপনি $Cross ফাংশনের জন্য একটি নোটারি দেখতে পারেন।

শূন্যআপনি যদি নতুন কিছু মুছে ফেলতে না পারেন তবে আপনি কেবলমাত্র সাম্প্রতিক কয়েকটি নিবন্ধ সংরক্ষণ করতে পারেন এবং পুরানো সমস্ত মুছে ফেলতে পারেন।

কিরিনপজিশন [i] দিয়ে প্রতিটি হোল্ডিং পেতে, পজিশন একটি অ্যারে।

নিং ডেকোexchange.GetRecords ((PERIOD_D1));

কিরিনআমার ঐতিহ্যগত ফিউচার্স হল GetAccount: not login, "পাসওয়ার্ড ভুল নয়, লগইন করা যাবে না"

শূন্যডিফল্টরূপে সপ্তাহ, সেট কন্ট্রাক্ট টাইপ পেতে নির্দিষ্ট করা প্রয়োজন।

শূন্যআপনি এখন দেখতে পাচ্ছেন যে এই true হল এক্সচেঞ্জের ফিরে আসা cancellation order এর রিটার্ন ভ্যালু, কিন্তু প্রকৃত cancellation cancellation নয়, এটা নির্ভর করে এক্সচেঞ্জের ভিতরে কিভাবে এটি করা হয়।

মোমোক্স3q

শূন্যনা, এটা পৃথক।

শাওয়ানচুয়ানঅবশ্যই না, এটা MT4 এর একচেটিয়া।

শূন্যজাভাস্ক্রিপ্ট তথ্য ইন্টারনেটে সর্বত্র পাওয়া যায়।

বিক্রয়আপনার সমস্যার সমাধান হয়েছে?

শূন্যবেশিরভাগ ক্ষেত্রে, ইনপুট তথ্য সরাসরি রেকর্ড বা একটি বিশুদ্ধ মূল্য অ্যারে হতে পারে।