রিসোর্স লোড হচ্ছে... লোডিং...

পাইথন প্লেটফর্ম ভারসাম্য কৌশল

লেখক:উদ্ভাবকগণ - ক্যোটিফিকেশন - ছোট্ট স্বপ্ন, তৈরিঃ 2020-02-05 10:02:03, আপডেটঃ 2023-10-12 21:20:47

img

পাইথন প্লেটফর্ম ভারসাম্য কৌশল

জাভাস্ক্রিপ্ট

এই পাতাটি আলাপঃপ্রতিবন্ধী পাতা।https://www.fmz.com/strategy/345

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

কৌশলগত ব্যাখ্যা

জাভাস্ক্রিপ্ট সংস্করণ থেকে উদ্ধৃতিঃ

এই স্টোরেজটি তৈরি করতে হবে, উদাহরণস্বরূপ, আপনার অ্যাকাউন্টে 5000 ডলার আছে, এবং 1 টাকার সাথে, যদি টাকার মূল্য অ্যাকাউন্টের ব্যালেন্সের চেয়ে 5000 বেশি হয় এবং এর দামের পার্থক্যটি হ্রাসের চেয়ে বেশি হয়, উদাহরণস্বরূপ, টাকার মূল্য এখন 6000 ডলার, আপনি এটি বিক্রি করবেন, যদি টাকার মূল্য বৃদ্ধি পায়, আপনি এটি ফেরত পাবেন, যদি এটি হ্রাস পায়, উদাহরণস্বরূপ, 4000 ডলার, আপনি এটি কিনবেন, যদি এটি হ্রাস পায়, আপনি কিছু কিনবেন, যদি এটি হ্রাস পায়, আপনি এটি আবার বিক্রি করবেন, যেমন একটি সমতুল্য, উভয় পক্ষের বিভিন্ন হেজিং, তাই আমি এটিকে ভারসাম্যপূর্ণ কৌশল বলি।

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

কৌশলগত কোড

'''backtest
start: 2019-12-01 00:00:00
end: 2020-02-01 11:00:00
period: 1m
exchanges: [{"eid":"OKEX","currency":"BTC_USDT","stocks":1}]
'''

InitAccount = None

def CancelPendingOrders():
    ret = False
    while True:
        orders = _C(exchange.GetOrders)
        if len(orders) == 0 :
            return ret

        for j in range(len(orders)):
            exchange.CancelOrder(orders[j].Id)
            ret = True
            if j < len(orders) - 1:
                Sleep(Interval)
    return ret 

def onTick():
    acc = _C(exchange.GetAccount)
    ticker = _C(exchange.GetTicker)
    spread = ticker.Sell - ticker.Buy
    diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2
    ratio = diffAsset / acc.Balance
    LogStatus("ratio:", ratio, _D())
    if abs(ratio) < threshold:
        return False
    if ratio > 0 :
        buyPrice = _N(ticker.Sell + spread, ZPrecision)
        buyAmount = _N(diffAsset / buyPrice, XPrecision)
        if buyAmount < MinStock:
            return False
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio)
    else :
        sellPrice = _N(ticker.Buy - spread, ZPrecision)
        sellAmount = _N(-diffAsset / sellPrice, XPrecision)
        if sellAmount < MinStock:
            return False 
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio)
    return True

def main():
    global InitAccount, LoopInterval
    InitAccount = _C(exchange.GetAccount)
    LoopInterval = max(LoopInterval, 1)
    while True:
        if onTick():
            Sleep(1000)
            CancelPendingOrders()
            Log(_C(exchange.GetAccount))
        Sleep(LoopInterval * 1000)

কোড শুরু হয়

'''backtest
start: 2019-12-01 00:00:00
end: 2020-02-01 11:00:00
period: 1m
exchanges: [{"eid":"OKEX","currency":"BTC_USDT","stocks":1}]
'''

এটি হল রিসেট কনফিগারেশন, যার অর্থ হল রিসেট কনফিগারেশন (সেটিং) কোডের আকারে সংরক্ষণ করা হয়, যা রিসেট করার সময় স্বয়ংক্রিয়ভাবে এই সেটিং কনফিগারেশন অনুসারে সংরক্ষণ করা হয়। এই অংশটি মুছে ফেলা যায়, মুছে ফেলা হয়, রিসেট করার সময় ম্যানুয়ালি রিসেট পৃষ্ঠায় রিসেট কনফিগারেশন তথ্য সেট করা প্রয়োজন। তথ্যসূত্রঃhttps://www.fmz.com/bbs-topic/859

এই নীতির পরামিতিগুলি জাভাস্ক্রিপ্ট সংস্করণের সাথে পুরোপুরি সামঞ্জস্যপূর্ণ, নীতির কোডটিও বাক্যে বাক্যে পোর্ট করা হয়েছে, প্রোগ্রামের কাঠামোটি পরিবর্তন হয়নি এবং বাক্যে বাক্যে তুলনা করা যেতে পারে, বিভিন্ন ভাষায় লেখা নীতিগুলির পার্থক্য দেখুন।

পুনরায় পরীক্ষা

প্যারামিটার কনফিগারেশনimg

পরিসংখ্যানেimg

img

এই পাতাটি আলাপঃপুলিশ-পুলিশ-পুলিশ সম্পর্কিত।https://www.fmz.com/strategy/183374

এই কৌশলটি শুধুমাত্র রেফারেন্স লার্নিং, রি-টেস্টিং এবং আপগ্রেড অপ্টিমাইজ করার জন্য আগ্রহীদের জন্য।


সম্পর্কিত

আরো

স্বর্গীয় সম্পদভাল গরু।