बिनेंस फ्यूचर्स बॉट
dYdX बॉट
मैं हमेशा गारंटी देता हूं कि उपज वक्र बनाने के लिए बिल्कुल कोई रिचार्ज नहीं है।
यह सिर्फ इतना है कि पहले संस्करण का रणनीति डिजाइन अपेक्षाकृत सरल और मोटा है। इंटरफ़ेस पर केवल एक स्थिति और कुल इक्विटी डेटा निर्यात है। लाभ वक्र केवल महसूस किए गए लाभ और हानि को प्रिंट करता है, और फ्लोटिंग हानि को नहीं गिनता है। कई नए छात्रों ने शिकायत की और प्रदर्शन को अनुकूलित करने के लिए कहा।
इस लेख में, मैं आपके साथ इस रणनीति को अपग्रेड करने के लिए काम करूंगा, जो पिछले छह महीने से स्थिर और व्यावहारिक रही है।
उन्नयन से पहले की रणनीति का संस्करण रणनीति के
यह भी मेरे व्यक्तिगत विकास की आदत है. यह पर रणनीति विकास और पुनरावृत्ति के हर बिट रिकॉर्ड करने के लिए बहुत सुविधाजनक हैFMZ.COM.
अपग्रेड शुरू करो!
सबसे पहले, चलो LogStatus
function FMZ पर स्थिति पट्टी डेटा प्रदर्शित करने के लिए प्रयोग किया जाता है. फिर, हम इस प्रविष्टि बिंदु को खोजने और कोड डिजाइन करने के लिए शुरू.
इसके बाद, यहाँ कोड का एक बड़ा टुकड़ा जोड़ेंः
var tblPos = {
"type" : "table",
"title" : "position",
"cols" : ["position amount", "position direction", "position average price", "position profit and loss", "contract code", "custom feild / " + SpecifyPosField],
"rows" : []
}
var descType = ["long position", "short position"]
for (var posIndex = 0 ; posIndex < pos.length ; posIndex++) {
tblPos.rows.push([pos[posIndex].Amount, descType[pos[posIndex].Type], pos[posIndex].Price, pos[posIndex].Profit, pos[posIndex].ContractType, SpecifyPosField == "" ? "--" : pos[posIndex].Info[SpecifyPosField]])
}
var tbl = {
"type" : "table",
"title" : "data",
"cols" : ["current total equity", "actual profit and loss", "current price", "buy order price/amount", "sell order price/amount"],
"rows" : []
}
var buyOrder = null
var sellOrder = null
for (var orderIndex = 0 ; orderIndex < orders.length ; orderIndex++) {
if (orders[orderIndex].Type == ORDER_TYPE_BUY) {
buyOrder = orders[orderIndex]
} else {
sellOrder = orders[orderIndex]
}
}
var realProfit = currTotalEq - totalEq
if (exchange.GetName() == "Futures_Binance") {
_.each(pos, function(p) {
realProfit += parseFloat(p.Info.unRealizedProfit)
})
}
var t = exchange.GetTicker()
tbl.rows.push([currTotalEq, realProfit, t ? t.Last : "--", (buyOrder.Price + "/" + buyOrder.Amount), (sellOrder.Price + "/" + sellOrder.Amount)])
// Update the chart data
if (t && showLine) {
_.each(pos, function(p) {
$.PlotLine(descType[p.Type] + "position price", p.Price)
})
$.PlotLine("buy order price", buyOrder.Price)
$.PlotLine("sell order price", sellOrder.Price)
$.PlotLine("current price", t.Last)
}
// Update the status bar data
LogStatus("time:" + _D() + "\n" + "`" + JSON.stringify(tblPos) + "`" + "\n" + "`" + JSON.stringify(tbl) + "`")
पिछले कच्चे की जगहLogStatus
export.
LogStatus(_D(), "Current total equity:", currTotalEq, "position:", pos)
इस रणनीति में दो पैरामीटर जोड़े गए हैंः
showLine इसे चेक करें, और आप लाइन ड्राइंग लाइब्रेरी का उपयोग बॉट पृष्ठ पर आकर्षित करने के लिए कर सकते हैं, और स्थिति मूल्य, लंबित आदेश मूल्य और वर्तमान मूल्य घटता आकर्षित.
निर्दिष्ट करेंPosField इसका उपयोग स्थिति की जानकारी के कच्चे क्षेत्र को सेट करने के लिए किया जाता है जिसे प्रदर्शित करने की आवश्यकता होती है, क्योंकि प्रत्येक प्लेटफ़ॉर्म के कच्चे स्थिति डेटा क्षेत्र का नाम अलग होता है। इसलिए यहां एक कस्टम पैरामीटर प्रदर्शित किए जाने वाले क्षेत्र के नाम को निर्दिष्ट करने के लिए डिज़ाइन किया गया है। जैसे, मेरा बिनेंस बॉट:
मैं प्रदर्शित करना चाहता हूँunRealizedProfit
स्थिति सूचना डेटा (प्लेटफ़ॉर्म इंटरफ़ेस के कच्चे डेटा) के सूचना क्षेत्र में विशेषता, यानी, स्थिति ने लाभ या हानि का एहसास नहीं किया है। आप पैरामीटर सेट कर सकते हैं SpecifyPosField unRealizedProfit के लिए, और इसे स्थिति पट्टी में प्रदर्शित किया।
इस तरह के समान डिजाइन से रणनीति को गैर-एकसमान डेटा को अनुकूलित रूप से निर्यात करने की अनुमति मिलती है, जिससे उपयोगकर्ताओं को निर्यात सामग्री को अनुकूलित करने का विकल्प मिलता है।
आप एक नज़र में प्रदर्शित करने की आवश्यकता है कि डेटा देख सकते हैं. यह रणनीति की व्यापार प्रगति, वर्तमान स्थिति मूल्य, लाभ और हानि, और आदेश मूल्य का निरीक्षण करने के लिए बहुत अधिक सुविधाजनक है. इस रणनीति में कुछ जोखिम हैं, और बॉट अपने स्वयं के जोखिम नियंत्रण के अनुसार विशिष्ट मापदंड निर्धारित करेगा, और अपने स्वयं के लाभ और नुकसान के लिए जिम्मेदार होगा। यह रणनीति केवल संचार और अध्ययन के लिए खुलासा किया जाता है।