テンプレート3.2:デジタル通貨取引のクラスタデータベース (統合 現金,フューチャーサポート OKCoinフューチャー/BitVC)

作者: リン・ハーン小さな夢, 作成日: 2017-01-04 19:00:10, 更新日: 2017-10-11 10:27:01

テンプレート3.2:デジタル通貨取引のクラスタデータベース (統合 現金,フューチャーサポート OKCoinフューチャー/BitVC)


3.1章では,現貨取引のテンプレートを示し,現貨戦略の作成の困難を大幅に簡素化した.しかし,現貨とは非常に異なる取引処理が,現貨のテンプレートに基づいて統合されたフューチャー取引機能が公開されている.

img

メディアの報道によると,

img

  • 商品は:

    デジタル通貨の現金取引は,前回の仮想通貨の現金取引と同じである.

  • フューチャー:

    パラメータ:img

    img

    策略のテストコード:

    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]));
      }
    }
    

    フォローするimg

策略内のテストコード (引用テンプレートを選択)

img

テスト戦略:

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);
    }
}

この記事へのトラックバック一覧です.


もっと

ユンディなぜ私はJSの暗号通貨取引庫を見つけることができなかったのか?

私は悪いおじさんじゃない$Buy ((0.5) は,どの価格で使われますか?

違法Python版でもokexフューチャーに対応していますか?

シンプル・チュンRETは,英語の単語の略式,RECOVER T,RECOVER T,RECOVER T.

シンプル・チュンPY版はどこにありますか?

イーフグPythonのバージョンはありますか?

小さな夢デジタル通貨先物取引データベースは非公式であり,取引所の保有インターフェイスが頻繁に遅れており,重複注文を引き起こす可能性があるため,公開を中止した.

ユンディこんにちは,これは現貨と商品のフューチャーです. 私はグループで尋ねました. JSデジタル通貨のフューチャーデータベースはバグがあるため,もうありません.

小さな夢/upload/asset/16c4dcc69723e302152c.png /upload/asset/16c4dcc69723e302152c.png /upload/asset/16c4dcc69723e302152c.png /upload/asset/16c4dcc69723e302152c.png /upload/asset/16c4dcc69723e302 この場所です

小さな夢価格が下がったと,価格が少し下がった.

小さな夢商品フューチャーについて,私のJSは,実際に商品フューチャー構造に沿って書かれています.参照してください.

違法OKEXのフューチャーに関する python テンプレートを参照してください.

小さな夢Pythonにはフューチャー機能がありません 臓器移植は行っていません

小さな夢return は,通常,関数の値を一時的に保存するために使用される.

シンプル・チュンありがとうございました

小さな夢https://www.botvs.com/strategy/21104 は,JS のバージョンと少し異なる可能性があり,これはJS を移植したものです.

小さな夢Python のバージョンもありますが,使用が少ないので,テストしてみてください.