ٹریڈنگ ویو انتباہ سگنل ٹریڈنگ کا احساس کرنے کے لئے FMZ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع API کا استعمال کریں

مصنف:لیدیہ, تخلیق: 2022-12-14 13:42:41, تازہ کاری: 2023-09-20 10:17:53

img

ٹریڈنگ ویو انتباہ سگنل ٹریڈنگ کا احساس کرنے کے لئے FMZ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع API کا استعمال کریں

ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ API کو حال ہی میں براہ راست رسائی کی حمایت کے لئے اپ گریڈ کیا گیا ہے ، تاکہ یہ خودکار تجارت کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم روبوٹ کو ٹریڈنگ ویو الرٹ سگنل آسانی سے بھیج سکے۔ اگر آپ نہیں جانتے کہ توسیع API کیا ہے تو ، میری توجہ سے سنیں۔

ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ API

ایف ایم زیڈ پر اے پی آئی دستاویزات کے کچھ لنکس (https://www.fmz.com/api)

توسیع شدہ API کا بنیادی کام پروگرام کے آپریشن کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر مختلف افعال کے لئے انٹرفیس فراہم کرنا ہے ، جیسے روبوٹ کو بیک وقت بیچوں میں شروع کرنا ، روبوٹ کو شروع کرنے اور روکنے کا وقت ، روبوٹ کی معلومات کی تفصیلات پڑھنا وغیرہ۔ ہم ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ API کا استعمال ٹریڈنگ ویو الرٹ سگنل ٹریڈنگ کے مطالبہ کے منصوبے کو پورا کرنے کے لئے کرتے ہیں ، جو صرفCommandRobot(RobotId, Cmd)توسیع شدہ API میں انٹرفیس۔ یہ انٹرفیس روبوٹ کو ایک مخصوص آئی ڈی کے ساتھ انٹرایکٹو ہدایات بھیج سکتا ہے ، اور روبوٹ ہدایات موصول ہونے کے بعد اسی طرح کے عمل (جیسے خریدنے ، فروخت ، وغیرہ کا آرڈر دینا) انجام دے سکتا ہے۔ توسیع API استعمال کرنے کے لئے، آپ کو ایک تخلیق کرنے کی ضرورت ہےAPI KEYپہلے اپنے ایف ایم زیڈ اکاؤنٹ کے لیے:

img

راز کی چابیAPI KEYپر مشتمل ہےaccess keyاورsecret key. API KEYپروگرام کے آپریشن کے FMZ کوانٹ ٹریڈنگ پلیٹ فارم کو مقداری بنانے کی کلید ہے، لہذا اسے مناسب طریقے سے رکھا جانا چاہئے اور انکشاف نہیں کیا جانا چاہئے.API KEYFMZ پر، آپ کی اجازت کی وضاحت کر سکتے ہیں. مثال کے طور پر مندرجہ بالا اعداد و شمار صرف دیتا ہےAPI KEYرسائی کی اجازتCommandRobot(RobotId, Cmd)اس مثال کے لئے، سیکورٹی کے تحفظات کی بنیاد پر، براہ مہربانی صرف توسیعAPI KEYپر FMZ رسائی کی اجازتCommandRobot(RobotId, Cmd) interface.

توسیع شدہ API کا براہ راست رسائی کا موڈ

براہ راست رسائی موڈ کا مطلب ہے کہAPI KEYبراہ راست یو آر ایل استفسار میں لکھا جاتا ہے۔ مثال کے طور پر ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر توسیع شدہ اے پی آئی تک رسائی کے لئے یو آر ایل اس طرح لکھا جاسکتا ہے:

https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyyy&method=CommandRobot&args=[186515,"ok12345"]

کہاںhttps://www.fmz.com/api/v1انٹرفیس ایڈریس ہے،?کے بعد آتا ہےQuery، پیرامیٹرaccess_keyخفیہ کلید مثال کے طور پر xxx کی طرف سے نمائندگی کی جاتی ہے (اسے استعمال کرتے وقت اپنے اپنے FMZ اکاؤنٹ کی رسائی_کی میں بھریں) ۔ پیرامیٹرsecret_keyyyyy کی طرف سے نمائندگی کی جاتی ہے (آپ کے اپنے اکاؤنٹ secret_key میں بھریں جب آپ اسے استعمال کرتے ہیں). پیرامیٹرmethodتوسیع شدہ API انٹرفیس کا مخصوص نام ہے جس تک رسائی حاصل کی جائے گی، اورargsکے پیرامیٹر ہےmethodانٹرفیس بلایا جائے گا.

ہم FMZ کوانٹ ٹریڈنگ پلیٹ فارم روبوٹ کو لین دین کے احکامات بھیجنے کے لئے سگنل ماخذ کے طور پر ٹریڈنگ ویو کا استعمال کرتے ہیں.CommandRobot interface.

ٹریڈنگ ویو

سب سے پہلے، آپ کو ٹریڈنگ ویو پرو کی سطح کا اکاؤنٹ ہونا ضروری ہے۔ انتباہ میں ویب ہڈ فنکشن بنیادی سطح پر استعمال نہیں کیا جاسکتا۔

ٹریڈنگ ویو چارٹ میں، آپ چارٹ یا دیگر اسکرپٹ الگورتھم میں ایک اشارے کو شامل کر سکتے ہیں.MACDاشارے، اور پھر ہم 1 منٹ (تیز سگنل ٹرگرنگ اور آسان مظاہرے کے لئے) کے لئے K لائن مدت مقرر.

چارٹ پر دائیں کلک کریں اور پاپ اپ مینو سے Add Alert کو منتخب کریں۔

سیٹWebHookAlert پاپ اپ ونڈو میں. اس موقع پر، ہم FMZ مقدار ٹریڈنگ پلیٹ فارم پر سب سے پہلے نگرانی سگنل روبوٹ چلانے کر سکتے ہیں.img

نگرانی سگنل آرڈرنگ روبوٹ

حکمت عملی کا ماخذ کوڈ:

// Global variable
var BUY = "buy"     // Note: The command used for spot
var SELL = "sell"   //      The command used for spot
var LONG = "long"   // The command used for future
var SHORT = "short" // The command used for future
var COVER_LONG = "cover_long"   // The command used for future
var COVER_SHORT = "cover_short" // The command used for future

function main() {
    // Clear the log and delete it if not needed
    LogReset(1)

    // Set precision
    exchange.SetPrecision(QuotePrecision, BasePrecision)

    // Identify future or spot
    var eType = 0
    var eName = exchange.GetName()
    var patt = /Futures_/
    if (patt.test(eName)) {
        Log("The added exchange is a futures exchange:", eName, "#FF0000")
        eType = 1
        if (Ct == "") {
            throw "Ct Contract set to null"
        } else {
            Log(exchange.SetContractType(Ct), "set contract:", Ct, "#FF0000")
        }
    } else {
        Log("The added exchange is a spots exchange:", eName, "#32CD32")
    }
    
    var lastMsg = ""
    var acc = _C(exchange.GetAccount)
    while(true) {
        var cmd = GetCommand()
        if (cmd) {
            // Detect interactive commands
            lastMsg = "command:" + cmd + "time:" + _D()
            var arr = cmd.split(":")
            if (arr.length != 2) {
                Log("cmd incorrect information:", cmd, "#FF0000")
                continue
            }

            var action = arr[0]
            var amount = parseFloat(arr[1])

            if (eType == 0) {
                if (action == BUY) {               
                    var buyInfo = IsMarketOrder ? exchange.Buy(-1, amount) : $.Buy(amount)
                    Log("buyInfo:", buyInfo)
                } else if (action == SELL) {        
                    var sellInfo = IsMarketOrder ? exchange.Sell(-1, amount) : $.Sell(amount)
                    Log("sellInfo:", sellInfo)
                } else {
                    Log("The spots exchange is not supported!", "#FF0000")
                }
            } else if (eType == 1) {
                var tradeInfo = null
                var ticker = _C(exchange.GetTicker)
                if (action == LONG) {
                    exchange.SetDirection("buy")
                    tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                } else if (action == SHORT) {        
                    exchange.SetDirection("sell")
                    tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                } else if (action == COVER_LONG) {        
                    exchange.SetDirection("closebuy")
                    tradeInfo = IsMarketOrder ? exchange.Sell(-1, amount) : exchange.Sell(ticker.Buy, amount)
                } else if (action == COVER_SHORT) {        
                    exchange.SetDirection("closesell")
                    tradeInfo = IsMarketOrder ? exchange.Buy(-1, amount) : exchange.Buy(ticker.Sell, amount)
                } else {
                    Log("The futures exchange is not supported!", "#FF0000")
                }
                if (tradeInfo) {
                    Log("tradeInfo:", tradeInfo)
                }
            } else {
                throw "eType error, eType:" + eType
            }
            acc = _C(exchange.GetAccount)
        }
        var tbl = {
            type : "table", 
            title : "status information", 
            cols : ["data"], 
            rows : []
        }
        // tbl.rows.push([JSON.stringify(acc)])   // Use it when testing
        LogStatus(_D(), eName, "Last received command:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
        Sleep(1000)
    }
}

حکمت عملی کا ماخذ کوڈ (https://www.fmz.com/strategy/203063)

حکمت عملی کا کوڈ بہت آسان ہے. یہ واپسی کی قیمت کا پتہ لگاتا ہےGetCommandجب ایک انٹرایکٹو پیغام حکمت عملی کے پروگرام میں بھیجا جاتا ہے،GetCommandفنکشن پیغام واپس کرتا ہے ، اور حکمت عملی پروگرام پیغام کے مواد کے مطابق اسی ٹرانزیکشن آپریشن کرتا ہے۔ انٹرایکٹو فنکشن کی جانچ کرنے کے لئے اس حکمت عملی پر انٹرایکٹو بٹن سیٹ کیا گیا ہے۔ مثال کے طور پر ، اس حکمت عملی کو چلائیں اور روبوٹ کو تشکیل دیںWexApp، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کا ایک مشابہ تبادلہ۔

ہم خریدنے کے آرڈر کو وصول کرنے کے روبوٹ کی تقریب کی جانچ کرنے کے لئے انٹرایکٹو بٹن پر کلک کریں، پھر ہم دیکھ سکتے ہیں کہ روبوٹ کی طرف سے موصول کمانڈ سٹرنگ ہے:buy:0.01.

ہم صرف ویب ہک درخواست یو آر ایل بنانے کی ضرورت ہے جب ٹریڈنگ ویو الرٹ تک رسائی حاصل کرنے کے لئے شروع کیا جاتا ہےCommandRobotایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم توسیع API کے انٹرفیس، پیرامیٹر لے جاتا ہےbuy:0.01.

ٹریڈنگ ویو کا ویب ہک سیٹ کریں

واپس ٹریڈنگ ویو میں، ہم ویب ہک کے یو آر ایل میں بھرنے. پیرامیٹرز کے لئے آپ کے اپنے API کلید میں بھرنےaccess_key, secret_key.methodطے شدہ ہے. ہم صرف تک رسائی حاصل کرنے کی ضرورت ہےCommandRobotتوسیع API انٹرفیس. پیرامیٹرargsکی شکل میں ہے[Robot ID, Command String]ہم روبوٹ ID حاصل کر سکتے ہیں روبوٹ کے صفحے کے ذریعے، براہ راست کے طور پر شکل میں دکھایا گیا ہے:

img

اس بار، ہم سگنل کو ٹرگر کرتے ہیں، 0.02 سکے خریدتے ہیں، اور کمانڈ سٹرنگ یہ ہے:buy:0.02. پھر ویب ہک یو آر ایل مکمل ہے. یہ طریقہ صرف یو آر ایل میں سگنل لکھنے کی حمایت کرتا ہے. اگر آپ انتباہی پیغام کا مواد حاصل کرنا چاہتے ہیں جو ٹی وی کی حکمت عملی کے ذریعہ خود بھیجا جاسکتا ہے تو ، ملاحظہ کریںhttps://www.fmz.com/api#براہ راست تصدیق

https://www.fmz.com/api/v1?access_key=e3809e173e23004821a9bfb6a468e308&secret_key=45a811e0009d91ad21154e79d4074bc6&method=CommandRobot&args= [191755,"buy:0.02"]

ٹریڈنگ ویو پر سیٹ کریں:

img

سگنل کے ٹرگر ہونے کا انتظار کریں... سگنل کے ٹرگر ہونے کا انتظار کریں... سگنل کے ٹرگر ہونے کا انتظار کریں... ...

img

اس کے بعد روبوٹ سگنل وصول کرے گا ، اس طرح ، ہم ٹریڈنگ ویو پر مختلف چارٹ افعال اور اشارے کے الگورتھم استعمال کرسکتے ہیں تاکہ آپ کی مطلوبہ خودکار تجارت کے حصول کے لئے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے حکمت عملی روبوٹ کے ساتھ تعاون کریں۔ ٹریڈنگ ویو پر حکمت عملیوں کو جاوا اسکرپٹ اور پائتھون زبانوں میں پورٹ کرنے کی دشواری کے مقابلے میں ، مشکل کم ہوجاتی ہے۔

روبوٹ کا حکمت عملی کا کوڈ نگرانی سگنلز کے ذریعہ آرڈر دینے کے لئے صرف سیکھنے اور تحقیق کے لئے ہے۔ حقیقی روبوٹ پر استعمال کو خود کو بہتر بنانے اور فیوچر کی حمایت کرنے کے لئے ایڈجسٹ کرنے کی ضرورت ہے۔ اسے مارکیٹ پرائس آرڈر موڈ پر ترتیب دینے کی سفارش کی جاتی ہے۔ تفصیلات کے لئے حکمت عملی کا کوڈ پیرامیٹرز دیکھیں۔ اگر آپ کے پاس کوئی سوالات یا تجاویز ہیں تو، براہ کرم ایک پیغام چھوڑنے کے لئے آزاد محسوس کریں.


متعلقہ

مزید