리소스 로딩... 로딩...

템플릿 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?

단순함PY 버전은 어디 있나요?

yhfggPython에 익숙한 사람, Python 버전이 있나요?

발명가들의 수량화 - 작은 꿈디지털 화폐 선물의 거래 목록은 비공식적이기 때문에 거래소의 보유 인터페이스가 종종 지연되어 반복 주문을 유발할 수 있으므로 공개를 취소했습니다.

안녕하세요, 이것은 현금과 상품 선물입니다. 저는 그룹에서 질문했습니다. JS 디지털 화폐 선물 목록은 버그 때문에 사라졌습니다.

발명가들의 수량화 - 작은 꿈/upload/asset/16c4dcc69723e302152c.png 이 위치에서

발명가들의 수량화 - 작은 꿈그 당시의 경쟁사 가격, 그리고 조금 더 낮은 가격.

발명가들의 수량화 - 작은 꿈이 문서는 아직 작성되지 않았지만, 상품 선물의 Python 템플릿이 있습니다. 제 JS는 사실 상품 선물의 구조에 따라 작성되어 있습니다. 참고하십시오.

불법자이 문서는 OKEX 선물에 대한 Python 템플릿을 참조하여 js를 사용하지 않을 것입니다.

발명가들의 수량화 - 작은 꿈파이썬의 미래 기능이 없습니다. 이식되지 않았습니다.

발명가들의 수량화 - 작은 꿈return 는 함수를 임시로 저장하는 데 사용되는 함수입니다. return 는 함수를 임시로 저장하는 데 사용됩니다.

단순함감사합니다.

발명가들의 수량화 - 작은 꿈https://www.botvs.com/strategy/21104, JS의 버전과 약간 다를 수 있습니다.

발명가들의 수량화 - 작은 꿈파이썬 버전이 있지만 사용량이 적어 사용이 좋을 때 테스트하는 것이 좋습니다.