Type/to search
8
Follow
1361
Followers
एक सरल डिजिटल मुद्रा स्पॉट ट्रेडिंग रोबोट को कार्यान्वित करें
Discussions
Created 2021-02-18 16:09:43  Updated 2023-09-26 20:57:30
 6
 4117

img

एक सरल डिजिटल मुद्रा स्पॉट ट्रेडिंग रोबोट को कार्यान्वित करें

क्रिप्टोकरेंसी की दुनिया में कई मैनुअल ट्रेडर्स हैं जिन्हें कॉपीकैट रोबोट की आवश्यकता होती है, लेकिन वे इस तथ्य से परेशान हैं कि प्रोग्रामेटिक डिज़ाइन के साथ शुरुआत करने में बहुत समय लगता है जबकि उनके पास कोई बुनियादी ज्ञान नहीं है। इस प्रकार की मांग के आधार पर, इस लेख में हम क्रिप्टोक्यूरेंसी सर्कल में उन दोस्तों की मदद करने के लिए एक सरल स्पॉट कॉपी ट्रेडिंग रोबोट डिज़ाइन करेंगे, जिन्हें एल्गोरिथम ट्रेडिंग का कोई बुनियादी ज्ञान नहीं है।

सबसे पहले, आइए ज़रूरतों का विश्लेषण करें। इस रोबोट का काम यह सुनिश्चित करना है कि जब एक अकाउंट में खरीद या बिक्री का ऑपरेशन हो, तो दूसरे कॉपी अकाउंट भी उसका अनुसरण करेंगे और इस ऑपरेशन को अंजाम देंगे।
इसलिए, हम पहले दो विषयों को स्पष्ट करते हैं:

  • संदर्भ खाता: एक निगरानीकृत खाता जो इस खाते की प्रत्येक गतिविधि पर नज़र रखता है।
  • कॉपी खाता: वह खाता जो आदेशों का पालन करता है। जब संदर्भ खाते में कोई कार्रवाई होती है, तो कॉपी खाता वही कार्रवाई करता है।

अब जबकि हमने प्रारंभिक रूप से इस आवश्यकता की पहचान कर ली है, हमें अगले कदम के बारे में सोचना जारी रखना होगा। हम संदर्भ खातों की गतिविधियों की पहचान कैसे करते हैं?

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

जब यह पाया जाता है कि किसी संदर्भ खाते पर कोई लेनदेन निष्पादित किया गया है, तो सबसे हालिया खाता डेटा रिकॉर्ड को अगली बार प्राप्त खाता जानकारी के साथ तुलना के लिए अद्यतन किया जाना चाहिए ताकि यह निर्धारित किया जा सके कि कोई नया लेनदेन कार्य हुआ है या नहीं।

उपरोक्त तर्क रणनीति कोड द्वारा वर्णित है:

javascript
// 检测跟单 var amount = (nowAcc.Stocks + nowAcc.FrozenStocks) - (initAcc.Stocks + initAcc.FrozenStocks) // 检测币数发生的变化 var func = null if (amount > 0) { // 币变多了 func = $.Buy // 买入 } else if (amount < 0) { // 币变少了 func = $.Sell // 卖出 } else { continue } // 执行跟单 Log("跟单!数量:", Math.abs(amount), "#FF0000") for (var i = 1 ; i < exchanges.length ; i++) { // i 等于 0 时,是参考交易所,不处理,处理其它的跟单交易所 func(exchanges[i], Math.abs(amount)) // 执行具体的交易函数,可能是$.Buy 或者是 $.Sell ,具体看amount 是大于0,还是小于0 } // 执行跟单之后更新参考交易所账户信息记录 initAcc = nowAcc // 更新参考交易所最近一次的账户信息,用于下次对比

रणनीति का मुख्य पता लगाने का तर्क उपरोक्त कोड है। डिजाइन में सरलता के लिए, रणनीति FMZ आधिकारिक [डिजिटल मुद्रा ट्रेडिंग लाइब्रेरी] टेम्पलेट का उपयोग करती है।$.Buy , $.Sellये सभी इस टेम्पलेट के कार्य हैं, और इनका कार्य ऑर्डर ऑपरेशन निष्पादित करना है।

प्रत्येक खाते के डेटा की निगरानी को सुविधाजनक बनाने के लिए रणनीति में कुछ स्टेटस बार डिस्प्ले जोड़ें। पूरी रणनीति इस प्रकार है:

javascript
function test() { // 测试函数 var ts = new Date().getTime() if (ts % (1000 * 60 * 60 * 6) > 1000 * 60 * 60 * 5.5) { Sleep(1000 * 60 * 10) var x = Math.random() if (x > 0.5) { $.Buy(exchange, x / 10) } else { $.Sell(exchange, x / 10) } } } function main() { LogReset(1) if (exchanges.length < 2) { throw "没有跟单的交易所" } var exName = exchange.GetName() // 检测参考交易所 if (exName.includes("Futures_")) { throw "仅支持现货跟单" } Log("开始监控", exName, "交易所", "#FF0000") // 检测跟单交易所 for (var i = 1 ; i < exchanges.length ; i++) { if (exchanges[i].GetName().includes("Futures_")) { throw "不支持期货交易所跟单" } } var initAcc = _C(exchange.GetAccount) while(1) { if(IsVirtual()) { // 测试函数 test() } Sleep(5000) // 更新参考账户当前的账户信息 var nowAcc = _C(exchange.GetAccount) // 参考交易所账户信息 var refTbl = { type : "table", title : "参考交易所", cols : ["名称", "币", "冻结币", "钱", "冻结钱"], rows : [] } refTbl.rows.push([exName, nowAcc.Stocks, nowAcc.FrozenStocks, nowAcc.Balance, nowAcc.FrozenBalance]) // 跟单交易所账户信息 var followTbl = { type : "table", title : "跟单交易所", cols : ["名称", "币", "冻结币", "钱", "冻结钱"], rows : [] } for (var i = 1 ; i < exchanges.length ; i++) { var acc = _C(exchanges[i].GetAccount) var name = exchanges[i].GetName() followTbl.rows.push([name, acc.Stocks, acc.FrozenStocks, acc.Balance, acc.FrozenBalance]) } // 状态栏显示 LogStatus(_D(), "\n`" + JSON.stringify(refTbl) + "`", "\n`" + JSON.stringify(followTbl) + "`") // 检测跟单 var amount = (nowAcc.Stocks + nowAcc.FrozenStocks) - (initAcc.Stocks + initAcc.FrozenStocks) var func = null if (amount > 0) { func = $.Buy } else if (amount < 0) { func = $.Sell } else { continue } // 执行跟单 Log("跟单!数量:", Math.abs(amount), "#FF0000") for (var i = 1 ; i < exchanges.length ; i++) { func(exchanges[i], Math.abs(amount)) } // 执行跟单之后更新参考交易所账户信息记录 initAcc = nowAcc } }

आइए FMZ के wexApp सिम्युलेटेड एक्सचेंज टेस्ट का उपयोग करके वास्तविक समय परीक्षण करें। यहां मैंने तीन wexApp खाते जोड़े हैं, जो एक दूसरे से स्वतंत्र हैं। उनमें से एक संदर्भ एक्सचेंज के रूप में कार्य करता है, और अन्य दो प्रतिलिपि एक्सचेंज के रूप में कार्य करते हैं।

img

फिर हम FMZ के ट्रेडिंग टर्मिनल का उपयोग करके मैन्युअल रूप से ऑर्डर देते हैं, यह देखने के लिए कि क्या रोबोट स्वचालित रूप से ऑर्डर का पालन करेगा।

img

आप देख सकते हैं कि रोबोट ने लेनदेन का पता लगा लिया और कॉपी ऑपरेशन निष्पादित कर दिया।

img

पूरी रणनीति: https://www.fmz.com/strategy/255182

यह रणनीति केवल सीखने के लिए है। यदि आपके कोई प्रश्न हों, तो कृपया संदेश छोड़ दें।

Related Recommendations
Comment
All comments (6)

    你好,可以帮忙部署吗,付费求助。感谢。微237650136

    5 years ago

    这个策略代码开源的,策略公开在策略广场了,可以看下FMZ社区置顶的教程,初级教程是教学使用的,会基本的使用就可以部署了。

    5 years ago

    你好,可以帮忙部署吗,付费求助。感谢。微237650136

    5 years ago

    挂单可以检测跟挂单么?

    5 years ago

    您好我想问一下这个可以拿来跟单币coin上面的人码

    5 years ago

    本身币coin上就有延迟,可能你的价格跟他们的就相差很多。

    5 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)