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

مصنف:نینا باداس, تخلیق: 2022-03-30 16:28:09, تازہ کاری: 2022-03-31 17:32:25

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

بیلی بیلی پر ویڈیو لنک

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

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

FMZ API دستاویزات میں متعلقہ حصہ کا لنک

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

توسیع API استعمال کرنے کے لئے، آپ سب سے پہلے آپ کے اپنے اکاؤنٹ بنانے کی ضرورت ہےAPI KEYFMZ پر:img

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

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

براہ راست رسائی موڈ براہ راست لکھنے کا اشارہ کرتا ہےAPI KEYURL کی استفسار میں؛ مثال کے طور پر FMZ Quant پلیٹ فارم کے توسیع شدہ API تک رسائی حاصل کرنے والا URL اس طرح لکھا جاسکتا ہے:

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.

ٹریڈنگ ویو

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

img

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

img

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

img

سیٹWebHook انتباہ پاپ اپ ونڈو میں۔ اس وقت ، آپ کو اس کی ترتیب کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ آئیے پہلے اس بوٹ کو چلائیں جو ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر سگنلز کی نگرانی کرتا ہے۔

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

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

// global variable 
var BUY = "buy"     // Note: the command used for spot
var SELL = "sell"   //       the command used for futures 
var LONG = "long"   //       the command used for futures
var SHORT = "short" //       the command used for futures
var COVER_LONG = "cover_long"   // the command used for futures
var COVER_SHORT = "cover_short" // the command used for futures

function main() {
    // Empty the logs; delete, if not needed 
    LogReset(1)

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

    // Judge whether it is spot or futures 
    var eType = 0
    var eName = exchange.GetName()
    var patt = /Futures_/
    if (patt.test(eName)) {
        Log("The added platform is a futures platform:", 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 platform is a spot platform:", eName, "#32CD32")
    }
    
    var lastMsg = ""
    var acc = _C(exchange.GetAccount)
    while(true) {
        var cmd = GetCommand()
        if (cmd) {
            // Detect the interactive command 
            lastMsg = "Command:" + cmd + "Time:" + _D()
            var arr = cmd.split(":")
            if (arr.length != 2) {
                Log("Wrong cmd 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("Spot trading platforms are 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("Futures trading platforms are 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)])   // Used during testing 
        LogStatus(_D(), eName, "The command received last time:", lastMsg, "\n", "`" + JSON.stringify(tbl) + "`")
        Sleep(1000)
    }
}

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

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

img

خریدنے کے لئے ایک کمانڈ حاصل کرنے کے لئے بوٹ کی صلاحیت کی جانچ کرنے کے لئے بات چیت کے بٹن پر کلک کریں.

img

ہم دیکھ سکتے ہیں کہ روبوٹ کی طرف سے موصول کمانڈ سٹرنگ ہے:buy:0.01.

ہم صرف لے پیرامیٹر بننے کے لئے کی ضرورت ہےbuy:0.01رسائی کے دورانCommandRobotFMZ Quant توسیع API کے انٹرفیس میں WebHook درخواست یو آر ایل، جب TradingView انتباہ چالو کیا جاتا ہے.

ٹریڈنگ ویو کی ویب ہک ترتیب

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

اس بار جب ہم سگنل کو ٹرگر کرتے ہیں، 0.02 سکے خریدتے ہیں، اور کمانڈ سٹرنگ یہ ہے:"buy:0.02". کہ WebHook یو آر ایل مکمل.

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

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

img

سگنل کے ٹرگر ہونے کا انتظار کریں۔ جب بوٹ سگنل وصول کرتا ہے، آپ صفحے کے اوپری دائیں جانب سگنل الرٹ دیکھ سکتے ہیں، اور صفحے کے نیچے دائیں جانب ٹرگر لاگ دیکھ سکتے ہیں۔

روبوٹ نے سگنل موصول کیا:img

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

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


مزید