avatar of 发明者量化-小小梦 发明者量化-小小梦
fokus pada mesej peribadi
4
fokus pada
1271
Pengikut

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

Dicipta dalam: 2017-01-04 19:00:10, dikemas kini pada: 2017-10-11 10:27:01
comments   19
hits   5333

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)


Bahagian 3.1 menunjukkan templat dagangan tunai, yang sangat memudahkan penulisan strategi tunai. Namun, pemprosesan dagangan berjangka sangat berbeza dari perdagangan tunai, jadi fungsi perdagangan berjangka telah diintegrasikan berdasarkan templat tunai dan kini tersedia.

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

Ini adalah satu-satunya cara untuk membetulkan keadaan di Malaysia.

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

  • ### Penghantaran:

Dalam aspek wang tunai, ia sama seperti yang sebelum ini.

  • ### Masa hadapan:

parameter: 3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

Kode ujian untuk strategi ini:

  function main() {
    if (exchange.GetName() === 'Futures_OKCoin') {
        var info = exchange.SetContractType("this_week");
        Log("info 返回值:", info);
        Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
        var depth = exchange.GetDepth();
        var p = $.NewPositionManager();
        p.OpenShort("this_week", 10, depth.Bids[0].Price - 2);
        Log(exchange.GetPosition());
        Sleep(500 * 1000);
        depth = exchange.GetDepth();
        var ret = p.Cover("this_week", depth.Bids[0].Price + 2, 5);
        Log("cover ret:", ret);
        //LogProfit(p.Profit());
        Log(exchange.GetPosition());
        Log("-----------------------------测试分割线----------------------------------------");
        var depth = exchange.GetDepth();
        p.OpenLong("this_week", 20, depth.Bids[0].Price + 2);
        Log(exchange.GetPosition());
        Sleep(500 * 1000);
        depth = exchange.GetDepth();
        var ret = p.Cover("this_week", depth.Bids[0].Price - 2, 10, PD_LONG);
        Log("cover ret:", ret);
        Log(exchange.GetPosition());
        Log("-----------------------------测试分割线----------------------------------------");
        var ret = p.Cover("this_week", depth.Bids[0].Price - 3, 10, PD_LONG);
        Log("cover ret:", ret);
        var ret = p.Cover("this_week", depth.Bids[0].Price + 3, 5, PD_SHORT);
        Log("cover ret:", ret);
        Log(exchange.GetPosition());
    } else if (exchange.GetName() === 'Futures_BitVC') {
        var info = exchange.SetContractType("week");
        Log("info 返回值:", info);
        Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
        var depth = exchange.GetDepth();
        var p = $.NewPositionManager();
        p.OpenLong("week", 500, depth.Bids[0].Price + 2);
        Log(exchange.GetPosition());
        Sleep(500 * 1000);
        depth = exchange.GetDepth();
        var ret = p.Cover("week", depth.Bids[0].Price - 2, 500);
        Log("cover ret:", ret);
        Log(exchange.GetPosition());
        Log("-----------------------------测试分割线----------------------------------------");
        var info = exchange.SetContractType("week");
        Log("info 返回值:", info);
        Log("当前持仓信息", exchange.GetPosition(), _C(exchange.GetTicker));
        var depth = exchange.GetDepth();
        p.OpenShort("week", 600, depth.Bids[0].Price - 2);
        Log(exchange.GetPosition());
        Sleep(500 * 1000);
        depth = exchange.GetDepth();
        var ret = p.Cover("week", depth.Bids[0].Price - 2, 500, PD_SHORT);
        Log("cover ret:", ret);
        Log(exchange.GetPosition());
        Log("-----------------------------测试分割线----------------------------------------");
        var ret = p.Cover("week", depth.Bids[0].Price + 3, 100, PD_SHORT);
        Log("cover ret:", ret);
        //p.Cover("week", depth.Asks[0].Price - 3, 300, PD_LONG);
        Log(exchange.GetPosition());
    } else if(exchange.GetName() === 'huobi' || exchange.GetName() === 'OKCoin'){
        Log($.GetAccount());
        Log($.Buy(0.5));
        Log($.Sell(0.5));
        exchange.Buy(1000, 3);
        $.CancelPendingOrders(exchanges[0]);
        Log($.Cross(30, 7));
        Log($.Cross([1,2,3,2.8,3.5], [3,1.9,2,5,0.6]));
    }
  }

Penggunaan: 3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

Kod ujian dalam strategi ((pilih templat rujukan)

3.2 Templat: Perpustakaan perdagangan mata wang digital (spot bersepadu dan niaga hadapan menyokong niaga hadapan OKCoin/BitVC)

Strategi Ujian:

function main(){
    var p = $.NewPositionManager();
    var i = 0;
    exchanges[0].SetContractType("this_week");
    var isFirst = true;
    var ret = null;
    while(true){
        var depth = _C(exchanges[0].GetDepth);
        var positions = _C(exchanges[0].GetPosition);
        var len = positions.length;
        if(isFirst === true && i % 3 === 0 && len === 0){
            ret = p.OpenLong("this_week", 1 + (i % 3) + (i % 2), depth.Asks[0].Price);
            isFirst = false;
        }else if(isFirst === false){
            ret = p.OpenShort("this_week", 1 + (i % 3) + (i % 2), depth.Bids[0].Price);
            isFirst = true;
        }else{
            for(var j = 0 ; j < len; j++){
                if(positions[j].Type === PD_LONG){
                    ret = p.Cover("this_week", depth.Bids[0].Price - 2, positions[j].Amount, PD_LONG);
                }else if(positions[j].Type === PD_SHORT){
                    ret = p.Cover("this_week", depth.Asks[0].Price + 2, positions[j].Amount, PD_SHORT);    
                }
                Log("ret:", ret);
            }
        }
        Log("ret", ret, "---------------------#FF0000");
        i++;
        Sleep(1000 * 60 * 15);
    }
}

Jika anda mempunyai soalan, BUG, sila hubungi penulis, terima kasih banyak!