রিসোর্স লোড হচ্ছে... লোডিং...

ট্রেডিং টার্মিনাল

FMZ কোয়ান্ট ট্রেডিং প্ল্যাটফর্ম একটি মডুলার এবং কাস্টমাইজযোগ্যবাণিজ্যআপনি অবাধে বিভিন্ন তথ্য মডিউল এবং ট্রেডিং ফাংশন মডিউল যোগ করতে পারেন, এবং এমনকি তাদের নিজস্ব কোড মডিউল (ট্রেডিং টার্মিনাল প্লাগইন) বিকাশ। এটি অত্যন্ত নমনীয় এবং বিনামূল্যে ব্যবহারের সাথে, এটি ম্যানুয়াল ট্রেডিং এবং আধা-প্রোগ্রাম্যাটিক ট্রেডিংয়ের ব্যবহারকারীদেরও ব্যাপকভাবে সহজ করে তোলে। ট্রেড পৃষ্ঠায় বিভিন্ন মডিউল টেনে আনতে এবং জুম করা যায়, মডিউলগুলির দ্বারা আবদ্ধ ট্রেডিং জোড়া এবং এক্সচেঞ্জের সেটিংস সংশোধন করা যায় এবং একই ধরণের একাধিক মডিউল যুক্ত করা যেতে পারে।

এফএমজেড কোয়ান্ট ট্রেডিং প্ল্যাটফর্মটি ট্রেডিং টার্মিনালের কার্যকারিতা উন্নত করেছে, ম্যানুয়াল ট্রেডিংকে আরও সহজ করেছে এবং ট্রেডিং টার্মিনালের ট্রেডিং প্লাগ-ইন ফাংশন চালু করেছে।

প্লাগইনের নীতি

নীতিটি একই রকম।ডিবাগিং টুল: 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
    

More Strategies এর অন্যান্য উদাহরণ রয়েছে, যেমন ছোট পরিমাণে কিনুন / বিক্রি করুন।

কিভাবে ব্যবহার করবেন

  • ট্রেডিং টার্মিনালের প্লাগইন মডিউল যোগ করুন Trade টার্মিনাল পৃষ্ঠায় মডিউল যোগ মেনু খুলুন, ট্রেডিং টার্মিনাল প্লাগইনকৌশল গ্রন্থাগারবর্তমান এফএমজেড অ্যাকাউন্টটি স্বয়ংক্রিয়ভাবে তালিকায় প্রদর্শিত হবে, যোগ করা প্লাগইনটি খুঁজুন এবং Add ক্লিক করুন।
  • প্লাগইন চালান Execute ক্লিক করুন, এবং ট্রেডিং টার্মিনাল প্লাগইন চালানো শুরু হবে। প্লাগইন লগ প্রদর্শন করবে না, কিন্তু এটি প্রদর্শন টেবিল ফেরত দিতে পারেন.
  • প্লাগইন চালানোর সময় প্লাগইনের সর্বাধিক চলমান সময় 3 মিনিট; এবং এটি 3 মিনিটের বেশি পরে স্বয়ংক্রিয়ভাবে চলমান বন্ধ হবে।
বর্ধিত এপিআই ইন্টারফেস তথ্য অনুসন্ধান