মুদ্রার তালিকা থেকে মুদ্রা সরিয়ে নেওয়ার বিষয়ে বাইনান্সের ঘোষণার উপর ক্রলিং

লেখক:ভাল, তৈরিঃ 2019-02-20 11:28:46, আপডেটঃ

কৌশল উদ্দেশ্যঃ

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

এই কৌশলটি FMZ পরিমাণগত ট্রেডিং প্ল্যাটফর্মে (পূর্বে BotVS) চালিত হয়।

আইডিয়াঃ

বাইনারেন্সের সিকিউরিটি বিজ্ঞপ্তি পৃষ্ঠাগুলি ক্রল করে দেখুন এবং সর্বশেষ দুটি বিজ্ঞপ্তির তথ্য দেখুন। নির্দিষ্ট ফর্ম্যাটটি হল বাইনারেন্স ক্লোক, মোড, সল্ট, এসইবি, উইংস, , বাইনারেন্স BCN, চ্যাট, আইসিএন, ট্রাইগ তালিকাভুক্ত করবে।

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

ক্রলিং কোডঃ

var html = HttpQuery('https://support.binance.com/hc/zh-cn/sections/115000202591-%E6%9C%80%E6%96%B0%E5%85%AC%E5%91%8A')//Announcement page
html = html.slice(html.indexOf('article-list'),html.indexOf('pagination')) // Article list section
if(html.indexOf('will delist')>0){
    if(html.slice(html.indexOf('will delist')+3,html.indexOf('</a>')) != title){ //crawl only the first delist information
        var title = html.slice(html.indexOf('delist')+3,html.indexOf('</a>'))
        var downList = title.split('、')
        Log('New announcement is detected, the currency will be delist:', title, '@')//WeChat push release announcement
    }
}

অর্ডার কোড প্রত্যাহার করছি:

function cancellOrder(){
    var openOrders = exchange.IO('api', 'GET', '/api/v3/openOrders')//Get all unexecuted orders
    for (var i=0; i<openOrders.length; i++){
        var order = openOrders[i];
        for (var j=0;j<downList.length;j++){
            if(order.symbol.startsWith(downList[j])){
                var currency = downList[j] + '_' + order.symbol.slice(downList[j].length);
                Log('There is a delist currency order exist, revoked', currency)
                exchange.IO("currency", currency)//To revoke a order, you need the trading pair information, so you must first switch to the trading pair.
                exchange.CancelOrder(order.orderId)
            }
        }
    }
}

চেক অ্যাকাউন্ট কোডঃ

function checkAccount(){
    var done = false
    while(!done){
        account = _C(exchange.GetAccount)
        done = true
        for (var i=0; i<account.Info.balances.length; i++){
            if(downList.indexOf(account.Info.balances[i].asset)>-1 && parseFloat(account.Info.balances[i].free)>pairInfo[account.Info.balances[i].asset+'BTC'].minQty){
                Log('delist currency will be emptied', account.Info.balances[i].asset)
                sellAll(account.Info.balances[i].asset, parseFloat(account.Info.balances[i].free))
                done = false
            }
        }
        Sleep(1000)
    }
    Log('Sale completed')
}

অর্ডার কোডঃ

var exchangeInfo = JSON.parse(HttpQuery('https://api.binance.com/api/v1/exchangeInfo'))
var pairInfo = {}  //Trading pair information, storing transaction progress, minimum trading volume and other related information, placing order will needed
if(exchangeInfo){
    for (var i=0; i<exchangeInfo.symbols.length; i++){
        var info = exchangeInfo.symbols[i];
        pairInfo[info.symbol] = {minQty:parseFloat(info.filters[2].minQty),tickerSize:parseFloat(info.filters[0].tickSize), 
            stepSize:parseFloat(info.filters[2].stepSize), minNotional:parseFloat(info.filters[3].minNotional)}
    }
}else{
    Log('Failed to get transaction information')
}
function sellAll(coin, free){
    var symbol = coin + 'BTC'
    exchange.IO("currency", coin+'_BTC') //switching trading pair
    var ticker = _C(exchange.GetTicker)
    var sellPrice = _N(ticker.Buy*0.7, parseInt((Math.log10(1.1/pairInfo[symbol].tickerSize))))
    var sellAmount = _N(free, parseInt((Math.log10(1.1/pairInfo[symbol].stepSize))))
    if (sellAmount > pairInfo[symbol].minQty && sellPrice*sellAmount > pairInfo[symbol].minNotional){
        exchange.Sell(sellPrice, sellAmount, symbol)
    }
}

সংক্ষেপেঃ

উপরের কোডটি শুধুমাত্র প্রদর্শনীর জন্য, সম্পূর্ণ কোডটি পাওয়া যাবেFMZ.COM. বিজ্ঞপ্তি পৃষ্ঠাটি প্রতি মিনিটে একবার ক্রল করা যায়, যা সাধারণ ব্যবহারকারীর আগে বিক্রি করার জন্য যথেষ্ট সময় থাকবে।

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


আরো