संसाधन लोड हो रहा है... लोड करना...

ट्रेडिंग टर्मिनल

एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म एक मॉड्यूलर और अनुकूलन योग्यव्यापारआप स्वतंत्र रूप से विभिन्न डेटा मॉड्यूल और ट्रेडिंग फ़ंक्शन मॉड्यूल जोड़ सकते हैं, और यहां तक कि अपने कोड मॉड्यूल (ट्रेडिंग टर्मिनल प्लगइन्स) विकसित कर सकते हैं। अपने अत्यधिक लचीले और मुफ्त उपयोग के साथ, यह मैनुअल ट्रेडिंग और अर्ध-प्रोग्रामेटिक ट्रेडिंग के उपयोगकर्ताओं को भी बहुत सुविधाजनक बनाता है। Trade पृष्ठ पर विभिन्न मॉड्यूल को खींच और ज़ूम किया जा सकता है, मॉड्यूल द्वारा बंधे ट्रेडिंग जोड़े और एक्सचेंजों की सेटिंग्स को संशोधित किया जा सकता है, और एक ही प्रकार के कई मॉड्यूल जोड़े जा सकते हैं।

एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म ने ट्रेडिंग टर्मिनल की कार्यक्षमता में सुधार किया, मैन्युअल ट्रेडिंग को बेहतर तरीके से सुविधाजनक बनाया और ट्रेडिंग टर्मिनल का ट्रेडिंग प्लग-इन फ़ंक्शन पेश किया।

प्लगइन का सिद्धांत

सिद्धांत समान है।डिबगिंग उपकरण: निष्पादित करने के लिए Trade टर्मिनल पृष्ठ के डॉकर को कोड का एक टुकड़ा भेजें, और चार्ट और तालिकाओं की वापसी का समर्थन करें (डिबगिंग टूल अपग्रेड का भी समर्थन करता है) ।डिबगिंग उपकरण, यह केवल 3 मिनट के लिए निष्पादित किया जा सकता है, चार्ज के बिना. यह कुछ सरल छोटे कार्यों का एहसास कर सकते हैं, जटिल रणनीतियों अभी भी लाइव व्यापार में चलाने की जरूरत है.

प्लगइन लेखन

ट्रेडिंग टर्मिनल प्लगइन बनाने के लिए, आप रणनीति प्रकार सेट कर सकते हैंःTrading pluginपरनई रणनीतिपृष्ठ. व्यापार प्लगइन समर्थन करता हैJavaScript, Python, C++, औरMyLanguage.

प्लगइन का प्रयोग

प्लगइन समय की एक अवधि के लिए कोड निष्पादित कर सकते हैं, और यह कुछ सरल संचालन कर सकते हैं, जैसे किआइसबर्ग आदेश, लंबित आदेश, आदेश रद्द करनाऔरआदेश की गणना. उसी के रूप मेंडिबगिंग उपकरण, यह उपयोग करता हैreturnपरिणामों को वापस करने के लिए, और यह भी सीधे चार्ट और तालिकाओं को वापस कर सकते हैं. यहाँ कुछ उदाहरण दिए गए हैं, और अन्य कार्यों को आप स्वयं से पता लगा सकते हैं।

  • गहराई स्नैपशॉट पर लौटें

    // Return to the depth snapshot
    function main() {
        var tbl = { 
            type: 'table', 
            title: 'snapshot of the order depth @ ' + _D(), 
            cols: ['#', 'Amount', 'Ask', 'Bid', 'Amount'], 
            rows: []
        }
        var d = exchange.GetDepth()
        for (var i = 0; i < Math.min(Math.min(d.Asks.length, d.Bids.length), 15); i++) {
            tbl.rows.push([i, d.Asks[i].Amount, d.Asks[i].Price+'#ff0000', d.Bids[i].Price+'#0000ff', d.Bids[i].Amount])
        }
        return tbl
    }
    
    def main():
        tbl = {
            "type": "table",
            "title": "snapshot of the order depth @ " + _D(),
            "cols": ["#", "Amount", "Ask", "Bid", "Amount"],
            "rows": []
        }
        d = exchange.GetDepth()
        for i in range(min(min(len(d["Asks"]), len(d["Bids"])), 15)):
            tbl["rows"].append([i, d["Asks"][i]["Amount"], str(d["Asks"][i]["Price"]) + "#FF0000", str(d["Bids"][i]["Price"]) + "#0000FF", d["Bids"][i]["Amount"]])
        return tbl
    
    void main() {
        json tbl = R"({
            "type": "table",
            "title": "abc",
            "cols": ["#", "Amount", "Ask", "Bid", "Amount"],
            "rows": []   
        })"_json;
        
        tbl["title"] = "snapshot of the order depth @" + _D(); 
        auto d = exchange.GetDepth();
        for(int i = 0; i < 5; i++) {
            tbl["rows"].push_back({format("%d", i), format("%f", d.Asks[i].Amount), format("%f #FF0000", d.Asks[i].Price), format("%f #0000FF", d.Bids[i].Price), format("%f", d.Bids[i].Amount)});
        }
        
        LogStatus("`" + tbl.dump() + "`");
        // C++ does not support "return json" to display the table, and you can create the live trading to display the table of the status bar
    }
    
  • क्रॉस-पीरियड स्प्रेड निकालें

    // Draw cross-period spreads
    var chart = { 
        __isStock: true,    
        title : { text : 'spread analysis chart'},                     
        xAxis: { type: 'datetime'},                 
        yAxis : {                                        
            title: {text: 'spread'},                   
            opposite: false                   
        },
        series : [                    
            {name : "diff", data : []}
        ]
    }  
    
    function main() {
        exchange.SetContractType('quarter')
        var recordsA = exchange.GetRecords(PERIOD_M5)
        exchange.SetContractType('this_week')
        var recordsB = exchange.GetRecords(PERIOD_M5)
        
        for(var i = 0; i < Math.min(recordsA.length, recordsB.length); i++){
            var diff = recordsA[recordsA.length - Math.min(recordsA.length, recordsB.length) + i].Close - recordsB[recordsB.length - Math.min(recordsA.length, recordsB.length) + i].Close
            chart.series[0].data.push([recordsA[recordsA.length - Math.min(recordsA.length, recordsB.length) + i].Time, diff])
        }
        return chart
    }
    
    chart = {
        "__isStock": True,
        "title": {"text": "spread analysis chart"},
        "xAxis": {"type": "datetime"},
        "yAxis": {
            "title": {"text": "spread"}, 
            "opposite": False
        }, 
        "series": [
            {"name": "diff", "data": []}
        ]
    }  
    
    def main():
        exchange.SetContractType("quarter")
        recordsA = exchange.GetRecords(PERIOD_M5)
        exchange.SetContractType("this_week")
        recordsB = exchange.GetRecords(PERIOD_M5)  
    
        for i in range(min(len(recordsA), len(recordsB))):
            diff = recordsA[len(recordsA) - min(len(recordsA), len(recordsB)) + i].Close - recordsB[len(recordsB) - min(len(recordsA), len(recordsB)) + i].Close
            chart["series"][0]["data"].append([recordsA[len(recordsA) - min(len(recordsA), len(recordsB)) + i]["Time"], diff])
        return chart
    
    // C++ does not support "return json" structure drawing
    

अधिक रणनीतियों में अन्य उदाहरण हैं, जैसे कि छोटी मात्रा में खरीदें / बेचें।

उपयोग कैसे करें

  • ट्रेडिंग टर्मिनल के प्लगइन मॉड्यूल जोड़ें Trade टर्मिनल पृष्ठ पर मॉड्यूल जोड़ें मेनू खोलें, व्यापार टर्मिनल प्लगइन्स मेंरणनीति पुस्तकालयवर्तमान FMZ खाते की सूची में स्वचालित रूप से प्रदर्शित किया जाएगा, प्लगइन जोड़ने के लिए खोजें और Add पर क्लिक करें.
  • प्लगइन चलाएँ Execute पर क्लिक करें, और ट्रेडिंग टर्मिनल प्लगइन चलना शुरू हो जाएगा. प्लगइन लॉग प्रदर्शित नहीं करेगा, लेकिन यह प्रदर्शन तालिका वापस कर सकता है.
  • प्लगइन चलाने का समय प्लगइन का अधिकतम चलने का समय 3 मिनट है; और यह 3 मिनट से अधिक होने के बाद स्वचालित रूप से चलना बंद कर देगा।
विस्तारित एपीआई इंटरफ़ेस डेटा अन्वेषण