একাধিক প্ল্যাটফর্মের মোট সম্পদের পরিবর্তন পর্যবেক্ষণ এবং দেখান

লেখক:শূন্য, তারিখঃ ২০১৪-০৯-০১ ১৫ঃ১৪ঃ৫০
ট্যাগঃসরঞ্জাম

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


var LastState = null;

function adjustFloat(v) {
    return Math.floor(v*1000)/1000;
}

function getExchangesState() {
    var isUpdate = false;
    var allBalance = 0;
    var allNetStocks = 0;
    var Cache = [];
    var CurrencyCache = [];
    for (var i = 0; i < exchanges.length; i++) {
        var account = null;
        var ticker = null;
        while (!(account = exchanges[i].GetAccount())) {
            Sleep(Interval);
        }
        while (!(ticker = exchanges[i].GetTicker())) {
            Sleep(Interval);
        }        
        var name = typeof(exchanges[i].GetLabel) == 'undefined' ? exchanges[i].GetName() : exchanges[i].GetLabel();
        var currency = exchanges[i].GetCurrency();
        if (typeof(CurrencyCache[currency]) == 'undefined') {
            CurrencyCache[currency] = 0;
        }
        CurrencyCache[currency] = adjustFloat(CurrencyCache[currency] + account.Stocks + account.FrozenStocks);
        if (typeof(Cache[name]) == 'undefined') {
            Cache[name] = true;
            allBalance += account.Balance + account.FrozenBalance;
        }
        allNetStocks += (account.Stocks + account.FrozenStocks) * ticker.Last;
    }
    var update = false;
    var str = "";
    for (var currency in CurrencyCache) {
        str += ' '+currency + ': ' + CurrencyCache[currency];
        if (LastState != null) {
            if (LastState.CurrencyCache[currency] != CurrencyCache[currency]) {
                update = true;
            }
        }
    }
    allBalance = adjustFloat(allBalance);
    if (LastState != null) {
        if (LastState.allBalance != allBalance) {
            update = true;
        }
    }
    
    return {allStocks: str, Net: adjustFloat(allNetStocks + allBalance), CurrencyCache: CurrencyCache, allBalance: allBalance, update: (LastState == null) || update};
}

function main() {
    Log("所有平台的钱和币将换算成净资产显示到收益曲线里");
    while (true) {
        var state = getExchangesState();
        if (state.update) {
            LastState = state;
            Log('总钱: ', state.allBalance, '总币: ', state.allStocks);
            LogProfit(state.Net);
        }
        Sleep(Math.max(TickInterval, 100));
    }
}

সম্পর্কিত

আরো

নামএই কৌশলটি কি সম্পদ পরিবর্তনগুলিকে গতিশীলভাবে ট্র্যাক করতে পারে না? মনে হচ্ছে এটি চালু হওয়ার সময় একবার আপডেট হয় এবং তারপরে এটি আপডেট হয় না?