टेम्पलेट 3.2: डिजिटल मुद्रा लेनदेन वर्ग सूची (एकीकृत, नकदी, ओकेकोइन वायदा / बिटवीसी के लिए वायदा समर्थन)

लेखक:छोटे सपने, बनाया गयाः 2017-01-04 19:00:10, अद्यतनः 2017-10-11 10:27:01

टेम्पलेट 3.2: डिजिटल मुद्रा लेनदेन वर्ग सूची (एकीकृत, नकदी, ओकेकोइन वायदा / बिटवीसी के लिए वायदा समर्थन)


अध्याय 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 के संस्करण में भी okx वायदा समर्थित है?

सरल-चुनकृपया बताएं कि ret का क्या अर्थ है? क्या यह अंग्रेजी में एक शब्द है? RECOVER T?

सरल-चुनकृपया पीवाई संस्करण कहां है?

यहफगPython का उपयोग करते हैं, क्या कोई Python संस्करण है?

छोटे सपनेक्रिप्टोकरेंसी वायदा के लिए ट्रेडिंग कैटलॉग अनौपचारिक है, क्योंकि एक्सचेंजों को अक्सर स्टॉक इंटरफेस में देरी होती है, जिससे दोहराए जाने वाले ऑर्डर हो सकते हैं, इसलिए इसे सार्वजनिक रूप से रद्द कर दिया जाता है।

यंडिनमस्ते, यह एक वस्तु और वस्तु वायदा है, मैंने समूह में पूछा, जेएस डिजिटल मुद्रा वायदा सूची एक बग के कारण नहीं है

छोटे सपने/upload/asset/16c4dcc69723e302152c.png इस स्थान पर

छोटे सपनेइस तरह की एक तस्वीर में, हम देख सकते हैं कि क्या हुआ था।

छोटे सपनेयह फिलहाल नहीं लिखा गया है, लेकिन कमोडिटी फ्यूचर्स के लिए एक फ्यूचर्स पायथन टेम्पलेट है, और मेरा जेएस वास्तव में कमोडिटी फ्यूचर्स के अनुरूप है।

अवैधक्या आप ओकेएक्स फ्यूचर्स के बारे में पाइथन टेम्पलेट के संदर्भ में जेएस का उपयोग नहीं करेंगे?

छोटे सपनेपायथन में कोई वायदा कार्य नहीं है। कोई प्रत्यारोपण नहीं

छोटे सपनेreturn का अर्थ है लौटाएँ, आमतौर पर एक फ़ंक्शन को अस्थायी रूप से संग्रहीत करने के लिए उपयोग किया जाता है जो लौटाता है।

सरल-चुनधन्यवाद धन्यवाद

छोटे सपनेhttps://www.botvs.com/strategy/21104, जो कि JS के संस्करण से थोड़ा अलग हो सकता है, इसे JS के बाद पोर्ट किया गया है।

छोटे सपनेपायथन संस्करण है, लेकिन इसका उपयोग अपेक्षाकृत कम किया जाता है।