मुद्राओं को सूचीबद्ध करने की बाइनेंस की घोषणा को क्रॉल करना

लेखक:अच्छाई, बनाया गयाः 2019-02-20 11:28:46, अद्यतन किया गयाः

रणनीति का उद्देश्य:

15 फरवरी को, बिनेंस ने CLOAK, MOD, SALT, SUB, WINGS की घोषणा को बंद करने की घोषणा की। घोषणा के बाद, मुद्रा में शामिल तुरंत गिरना शुरू हो गया, आम तौर पर एक घंटे में 15% गिर गया, अधिक से अधिक उपयोगकर्ताओं ने खबर को जान लिया, गिरावट जारी रही और कोई रिबाउंड नहीं हुआ, और यह अब तक आधे से गिर गया है। यदि आप घोषणा के बाद पहली बार में रखे गए सिक्कों को बेच सकते हैं, तो आप बहुत सारे नुकसान की वसूली कर सकते हैं।

यह रणनीति FMZ मात्रात्मक व्यापार मंच (पूर्व BotVS) पर चलती है।

विचार:

बिनेंस सुरक्षा घोषणा पृष्ठों को क्रॉल करें और घोषणा के निकटतम दो समय की जानकारी देखें। विशिष्ट प्रारूप है बिनेंस क्लॉक, एमओडी, SALT, एसयूबी, विंग्स, बिनेंस 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. घोषणा पृष्ठ एक मिनट में एक बार क्रॉल किया जा सकता है, जो सामान्य उपयोगकर्ता से पहले बेचने के लिए पर्याप्त समय होगा।

लेकिन कुछ समस्याएं हो सकती हैं, जैसे क्रॉलिंग अवरुद्ध हो रही है, घोषणा प्रारूप परिवर्तन, आदि। यदि मुद्रा बिनेंस पर नहीं है, तो आप इस रणनीति को अन्य एक्सचेंजों के लिए भी संदर्भित कर सकते हैं। आखिरकार, डिलिस्ट मुद्रा सभी प्लेटफार्मों को प्रभावित करेगी।


अधिक