হাতের মুঠো আপনাকে একটি ট্রেন্ড সংগ্রাহক বাস্তবায়ন করতে শেখায়

লেখক:ছোট্ট স্বপ্ন, তৈরিঃ 2020-04-16 12:44:03, আপডেটঃ 2023-10-11 19:57:00

img

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

এটি বিভিন্ন চাহিদা পূরণ করতে পারে, যেমনঃ

  • একাধিক রোবটকে ডেটা উত্স সরবরাহ করা যেতে পারে, যা প্রতিটি রোবটকে এক্সচেঞ্জ ইন্টারফেসে অ্যাক্সেস করার ফ্রিকোয়েন্সি হ্রাস করতে পারে।
  • আপনি যখন রোবটটি শুরু করবেন তখন একটি K-line BAR এর জন্য পর্যাপ্ত পরিমাণে K-line ডেটা পাবেন এবং রোবটটি শুরু করার সময় পর্যাপ্ত পরিমাণে K-line BAR থাকবে না বলে চিন্তা করবেন না।
  • ক্ষুদ্র মুদ্রা বাজারের তথ্য সংগ্রহ করা যেতে পারে, যা উদ্ভাবকদের একটি পরিমাণগত ট্রেডিং প্ল্যাটফর্মের পুনঃনির্ধারণ সিস্টেমের জন্য একটি কাস্টমাইজড ডেটা উত্স সরবরাহ করতে ব্যবহৃত হয়, যা পুনঃনির্ধারণ সিস্টেমের পুনঃনির্ধারণ কৌশল ব্যবহার করে।
  • অপেক্ষা করুন...

আমি পাইথন ব্যবহার করার পরিকল্পনা করছি, কেন? কারণ এটি খুব সুবিধাজনক:) যদি চাহিদা থাকে, তাহলে এগিয়ে আসুন!

প্রস্তুত

  • পাইথনের পাইমঙ্গো সংগ্রহশালা

    ডাটাবেস ব্যবহার করার জন্য, স্থায়ীভাবে সংরক্ষণ করুন।MongoDBএই ডাটাবেসের জন্য ড্রাইভার প্রয়োজন। পাইথনে ইনস্টল করুনpymongoআরে না, না।

  • হোস্টের ডিভাইসে MongoDB ইনস্টল করুন

    উদাহরণস্বরূপঃ ম্যাক ইনস্টল মঙ্গোডিবি, অবশ্যই WIN সিস্টেম ইনস্টল মঙ্গোডিবি প্রায় একই, অনলাইন অনেক টিউটোরিয়াল আছে অ্যাপল ম্যাক সিস্টেম ইনস্টল করার জন্য উদাহরণঃ

  • ডাউনলোড ডাউনলোড লিংকঃhttps://www.mongodb.com/download-center?jmp=nav#community

  • কমপ্রেস ডাউনলোডের পরে, ডিরেক্টরিতে আনকম্প্রেস করুনঃ/usr/local

  • পরিবেশের পরিবর্তনশীল কনফিগার করুন টার্মিনাল ইনপুটঃopen -e .bash_profileএই ফাইলটি খুললে, লিখুনঃexport PATH=${PATH}:/usr/local/MongoDB/binসংরক্ষণ করুন, টার্মিনাল ব্যবহার করুনsource .bash_profileএই পরিবর্তনগুলি কার্যকর করা হয়েছে।

  • ম্যানুয়ালি ডাটাবেস ফাইল এবং লগ ডিরেক্টরি কনফিগার করুন ক্যাটালগ তৈরি করুন/usr/local/data/dbএই ভিডিওটি একটি ফোল্ডারের জন্য। ক্যাটালগ তৈরি করুন/usr/local/data/logsএই ভিডিওটি একটি ফোল্ডারের জন্য।

  • প্রোফাইল সম্পাদনাmongo.conf

    #bind_ip_all = true                        # 任何机器可以连接
    bind_ip = 127.0.0.1                        # 本机可以访问
    port = 27017                               # 实例运行在27017端口(默认)
    dbpath = /usr/local/data/db                # 数据文件夹存放地址(db要预先创建)
    logpath = /usr/local/data/logs/mongodb.log # 日志文件地址
    logappend = false                          # 启动时 添加还是重写日志文件
    fork = false                               # 是否后台运行
    auth = false                               # 开启校验用户
    
  • মঙ্গোডিবি সার্ভিস চালান

    আদেশঃ

    ./mongod -f mongo.conf
    
  • সেবা বন্ধ

    use admin;
    db.shutdownServer();
    

সংগ্রাহক পদ্ধতি বাস্তবায়ন

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

সংগ্রাহক নীতি কোডঃ

import pymongo
import json

def main():
    Log("测试数据收集")
    
    # 连接数据库服务
    myDBClient = pymongo.MongoClient("mongodb://localhost:27017")   # mongodb://127.0.0.1:27017
    # 创建数据库
    huobi_DB = myDBClient["huobi"]
    
    # 打印目前数据库表
    collist = huobi_DB.list_collection_names()
    Log("collist:", collist)
    
    # 检测是否删除表
    arrDropNames = json.loads(dropNames)
    if isinstance(arrDropNames, list):
        for i in range(len(arrDropNames)):
            dropName = arrDropNames[i]
            if isinstance(dropName, str):
                if not dropName in collist:
                    continue
                tab = huobi_DB[dropName]
                Log("dropName:", dropName, "删除:", dropName)
                ret = tab.drop()
                collist = huobi_DB.list_collection_names()
                if dropName in collist:
                    Log(dropName, "删除失败")
                else :
                    Log(dropName, "删除成功")
    
    # 创建records表
    huobi_DB_Records = huobi_DB["records"]
    
    # 请求数据
    preBarTime = 0
    index = 1
    while True:
        r = _C(exchange.GetRecords)
        if len(r) < 2:
            Sleep(1000)
            continue
        if preBarTime == 0:
            # 首次写入所有BAR数据
            for i in range(len(r) - 1):
                # 逐根写入
                bar = r[i]
                huobi_DB_Records.insert_one({"index": index, "High": bar["High"], "Low": bar["Low"], "Open": bar["Open"], "Close": bar["Close"], "Time": bar["Time"], "Volume": bar["Volume"]})                
                index += 1
            preBarTime = r[-1]["Time"]
        elif preBarTime != r[-1]["Time"]:
            bar = r[-2]
            huobi_DB_Records.insert_one({"index": index, "High": bar["High"], "Low": bar["Low"], "Open": bar["Open"], "Close": bar["Close"], "Time": bar["Time"], "Volume": bar["Volume"]})
            index += 1
            preBarTime = r[-1]["Time"]
        LogStatus(_D(), "preBarTime:", preBarTime, "_D(preBarTime):", _D(preBarTime/1000), "index:", index)
        Sleep(10000)
        

পুরো পলিসির ঠিকানাঃলিঙ্ক

ডেটা ব্যবহার

ডেটা ব্যবহার করে কৌশলগত রোবট তৈরি করা। দ্রষ্টব্যঃ নির্বাচন করতে হবে"অঙ্কন লাইন ক্লাসিকাল"যদি না থাকে, তাহলে আপনার নিজের নীতিমালায় একটি অনুলিপি করতে পারেন।img

import pymongo
import json

def main():
    Log("测试使用数据库数据")
    
    # 连接数据库服务
    myDBClient = pymongo.MongoClient("mongodb://localhost:27017")   # mongodb://127.0.0.1:27017
    # 创建数据库
    huobi_DB = myDBClient["huobi"]
    
    # 打印目前数据库表
    collist = huobi_DB.list_collection_names()
    Log("collist:", collist)
    
    # 查询数据打印
    huobi_DB_Records = huobi_DB["records"]
    
    while True:
        arrRecords = []
        for x in huobi_DB_Records.find():
            bar = {
                "High": x["High"], 
                "Low": x["Low"], 
                "Close": x["Close"], 
                "Open": x["Open"], 
                "Time": x["Time"], 
                "Volume": x["Volume"]
            }
            arrRecords.append(bar)
        
        # 使用画线类库,把取到的K线数据画出来
        ext.PlotRecords(arrRecords, "K")
        LogStatus(_D(), "records length:", len(arrRecords))
        Sleep(10000)

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

চলমান

প্রশাসক প্রোগ্রাম চালানimg

হোস্টের ডিভাইসে এটি কাজ করেMongoDBডাটাবেস সেবা./mongod -f mongo.conf img

সংগ্রাহক কাজ করছে, উদ্ভাবকদের পরিমাণগত লেনদেনের প্ল্যাটফর্ম সংগ্রহের অ্যানিমেশন ডিস্কwexAppএরBTC_USDTলেনদেনের জন্যঃ ঠিকানাঃwexApp img

ডেটাবেজ ডেটা ব্যবহার করে রোবট A:img

ডেটাবেজ ডেটা ব্যবহারকারী বট বিঃimg

wexAppপাতাঃimg

এই ছবিতে দেখা যাচ্ছে যে, বিভিন্ন আইডির বট একসাথে একটি ডাটা সোর্স ব্যবহার করে কে-লাইন ডেটা শেয়ার করছে।

যে কোন সময়কালের K-রেখা তথ্য সংগ্রহ করা

ইনভেন্টরদের কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মের শক্তিশালী বৈশিষ্ট্যগুলির উপর নির্ভর করে, আমরা সহজেই যে কোনও চক্রের কে-লাইন ডেটা সংগ্রহ করতে পারি। উদাহরণস্বরূপ, আমি যদি 3 মিনিটের K লাইন সংগ্রহ করতে চাই, তবে এক্সচেঞ্জের 3 মিনিটের K লাইন নেই?

আমরা সংগ্রাহক রোবটের কনফিগারেশন পরিবর্তন করেছি, K-লাইন চক্রটি 3 মিনিটের জন্য সেট করেছি, এবং উদ্ভাবকরা কোয়ালিফাইড ট্রেডিং প্ল্যাটফর্মটি স্বয়ংক্রিয়ভাবে সংগ্রাহক প্রোগ্রামের জন্য 3 মিনিটের K-লাইন সংমিশ্রণ করে।img

আমরা প্যারামিটার ব্যবহার করি।删除表的名称, সেটিংঃ["records"]পূর্বে সংগৃহীত ১ মিনিট কে-লাইন ডেটা টেবিল মুছে ফেলুন. ৩ মিনিট কে-লাইন ডেটা সংগ্রহের জন্য প্রস্তুত।

চালু收集器程序পুনরায় চালু করুন使用数据的策略机器人

img

img

আপনি দেখতে পাচ্ছেন যে K লাইন চার্টটি আঁকা হয়েছে, BAR এর মধ্যে ব্যবধান 3 মিনিট, এবং প্রতিটি BAR হল 3 মিনিটের চক্রের K লাইন কলাম।

পরবর্তী ধাপে, আমরা কাস্টমাইজড ডেটা উত্সের চাহিদা বাস্তবায়নের চেষ্টা করব। ধন্যবাদ পড়ার জন্য।


সম্পর্কিত

আরো

সিকিটিচমৎকার

জিএলটিআইএমশীর্ষ

জিএলটিআইএমশীর্ষ

উপদেশপ্রশংসা

ডসাইডাসিশীর্ষ

ছোট্ট স্বপ্নধন্যবাদ, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন, আমি পাইথন।