একটি সহজ ডিজিটাল মুদ্রার জন্য একটি রবট

লেখক:ছোট্ট স্বপ্ন, নির্মিতঃ 2021-02-18 16:09:43, আপডেটঃ 2023-09-26 20:57:30

img

একটি সহজ ডিজিটাল মুদ্রার জন্য একটি রবট

মুদ্রা খাতের অনেক বন্ধু আছে যারা ম্যানুয়ালি লেনদেন করে, তাদের জন্য একটি রোবট দরকার, কিন্তু 0 বেসিকের জন্য প্রোগ্রাম্যাটিক ডিজাইনের জন্য একটি দীর্ঘ সময় লাগে। আমরা এই ধরনের প্রয়োজনের ভিত্তিতে এই নিবন্ধটি একসাথে একটি সহজ তাত্ক্ষণিক রোবট তৈরি করেছি, যা 0 বেসিক শিখতে সহায়তা করবে।

প্রথমত, আমরা চাহিদা বিশ্লেষণ করব, এই রোবটের কাজটি হ'ল যখন একটি অ্যাকাউন্টে একটি ক্রয় বিক্রয় ক্রিয়াকলাপ ঘটে তখন অন্য অ্যাকাউন্টগুলি অনুসরণ করে। তাই, প্রথমে আমরা দুটি বিষয় স্পষ্ট করে বলবঃ

  • রিফারেন্স অ্যাকাউন্টঃ নজরদারি করা অ্যাকাউন্ট, এই অ্যাকাউন্টের প্রতিটি পদক্ষেপ পর্যবেক্ষণ করা হবে।
  • একক অ্যাকাউন্টঃ একক অ্যাকাউন্ট, যখন একটি রেফারেন্স অ্যাকাউন্টে একটি ক্রিয়া ঘটে, একক অ্যাকাউন্ট একই ক্রিয়া সম্পাদন করে।

এই প্রয়োজনটি প্রাথমিকভাবে স্পষ্ট করা হয়েছে, এবং আমরা পরবর্তী ধাপে চিন্তাভাবনা চালিয়ে যাবো। আমরা কীভাবে একটি রেফারেন্স অ্যাকাউন্টের পদক্ষেপকে চিহ্নিত করব?

রেফারেন্স অ্যাকাউন্টগুলি পর্যবেক্ষণ করা খুব সহজ, যেহেতু আমরা বর্তমান অ্যাকাউন্টগুলির জন্য সর্বশেষ অ্যাকাউন্টের তথ্যের তথ্যের সাথে সাম্প্রতিক অ্যাকাউন্টের তথ্যের তথ্যের সাথে তুলনা করে। যদি বর্তমান অ্যাকাউন্টের তথ্যের তথ্যের তথ্যে বর্তমান অ্যাকাউন্টের তথ্যের তথ্যের সংখ্যা আগের অ্যাকাউন্টের তুলনায় বেশি হয়, তবে এটি প্রমাণ করে যে রেফারেন্স অ্যাকাউন্টটি একটি ক্রয় অপারেশন সম্পাদন করেছে এবং ক্রয়টি সফল হয়েছে। বিপরীতভাবে, যদি কম কয়েন থাকে তবে রেফারেন্স অ্যাকাউন্টের জন্য একটি বিক্রয় অপারেশন সম্পাদন করুন। আমরা এই পদক্ষেপটি আবিষ্কার করার পরে, অন্যান্য এক্সচেঞ্জ অ্যাকাউন্টগুলিকে একই অপারেশনটি সম্পাদন করতে বলি।

যখন একটি রেফারেন্স অ্যাকাউন্ট একটি লেনদেন সম্পাদন করার পরে পাওয়া যায়, তখন সর্বশেষ অ্যাকাউন্টের ডেটা রেকর্ডটি আপডেট করা নিশ্চিত করুন, যা পরবর্তী অ্যাকাউন্টের তথ্যের সাথে তুলনা করে নতুন লেনদেনের ক্রিয়াকলাপ কিনা তা নির্ধারণ করতে ব্যবহৃত হয়।

উপরের লজিকটি কৌশলগত কোডে বর্ণনা করা হয়েছেঃ

        // 检测跟单
        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                                  // 更新参考交易所最近一次的账户信息,用于下次对比

কৌশলটির মূল সনাক্তকরণ যুক্তি হ'ল উপরের কোডটি। সরলীকরণের জন্য, কৌশলটি এফএমজেডের অফিসিয়াল ফিউশন ডিজিটাল মুদ্রা লেনদেনের লাইব্রেরির ফিউশন টেম্পলেট ব্যবহার করে।$.Buy , $.Sellএই টেমপ্লেটের ফাংশনগুলির মধ্যে একটি হল নিম্নলিখিত অপারেশনগুলি সম্পাদন করা।

আপনি যদি আপনার অ্যাকাউন্টের ডেটা মনিটর করতে চান তবে আপনার অ্যাকাউন্টের ডেটা মনিটরিংয়ের জন্য আপনার অ্যাকাউন্টের স্ট্যাটাস বারটি যুক্ত করুন।

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

এই কৌশলটি শুধুমাত্র শেখার জন্য, প্রশ্ন থাকলে মন্তব্য করুন।


সম্পর্কিত

আরো

সায়াহ্যালো, আপনি কি এই অ্যাপ্লিকেশনটি চালাতে সাহায্য করতে পারেন?

সায়াহ্যালো, আপনি কি এই অ্যাপ্লিকেশনটি চালাতে সাহায্য করতে পারেন?

মোটা বাচ্চাআপনি কি জানেন যে, আপনি যদি একটি হ্যান্ডহেল্ড ব্যবহার করেন, তাহলে আপনি কি এটি সনাক্ত করতে পারবেন?

13169222039হ্যালো, আমি আপনাকে একটি প্রশ্ন করতে চাই, আপনি কি এই ব্যক্তির নাম্বারটি মুদ্রার সাথে তুলনা করতে পারেন?

ছোট্ট স্বপ্নএই কৌশল কোডটি ওপেন সোর্স, কৌশল স্কয়ারে উন্মুক্ত, এটি এফএমজেড কমিউনিটি দ্বারা উত্থাপিত টিউটোরিয়ালগুলি দেখতে পারে।

রুটমিআপনি যদি আপনার কয়েন কিনতে চান, তাহলে আপনার কয়েন কিনতে অনেক দেরি হবে, আপনার দাম তাদের থেকে অনেক বেশি হতে পারে।