통계 BitVC 동적 이해/OKCoin이 적자를 달성했다 / 796 계좌 잔액 (2018-03-27 16:29:43)

저자:제로, 2014-11-12 17:48:41 날짜
태그:

2.67 버전의 새로 추가된 GetRawJSON 함수를 사용하여, 플랫폼 확장 매개 변수를 분석하기 위해 마지막 REST API 요청에서 반환된 원본 정보를 반환할 수 있습니다.


function main() {
    var eName = exchange.GetName();
    var coin = exchange.GetCurrency().toLowerCase();
    var isBitVC = eName == "Futures_BitVC";
    var isOKCoin = eName == "Futures_OKCoin";
    var is796 = eName == "Futures_796";
    if (!isBitVC && !isOKCoin && !is796) {
        throw "该策略为 BitVC/OKCoin/796 期货专用策略";
    }
    if (parseFloat(Version()) < 2.67) {
        throw "要求托管者2.67版本以上";
    }
    
    var lastVal = 0;
    LoopIntval = Math.max(LoopIntval, 1);
    Log(isBitVC ? "BitVC动态权益" : "OKCoin已实现盈亏", "将显示为收益曲线, 有变化后更新");
    while (true) {
        var account;
        while (!(account = exchange.GetAccount())) {
            Sleep(300);
        }
        // GetRawJSON返回GetAccount的原始信息
        var js = exchange.GetRawJSON();
        try {
            var obj = JSON.parse(js);
            var v = 0;
            if (isBitVC) {
                v = obj.dynamicRights;
            } else if (isOKCoin) {
                for (var i = 0; i < obj.info[coin].contracts.length; i++) {
                    v += obj.info[coin].contracts[i].profit;
                }        
            } else if (is796) {
                v = account.Stocks;
            }
            if (v != lastVal) {
                lastVal = v;
                LogProfit(lastVal, 'Stocks:', account.Stocks, 'FrozenStocks:', account.FrozenStocks);
            }
        } catch(e) {
            Log(e);
        }
        Sleep(LoopIntval * 1000);
    }
}

더 많은