গ্রিড স্ট্র্যাটেজি এর নতুন সংস্করণে মাত্র ৫০টি কোডিং লাইন রয়েছে!

লেখক:ভাল, তৈরিঃ 2018-08-28 14:18:15, আপডেটঃ 2019-12-03 17:27:50

গ্রিড স্ট্র্যাটেজি এর নতুন সংস্করণে মাত্র ৫০টি কোডিং লাইন রয়েছে!www.fmz.com

আপনি কি এখনও বিখ্যাত গ্রিড কৌশল (https://www.fmz.com/bbs-topic/2268)?

আমাদের এফএমজেড প্ল্যাটফর্মে কৌশল লিখতে শেখার জন্য এটি একটি চমৎকার উদাহরণ।

কিছু বন্ধু মনে করেন যে এই কৌশলটির মূল সংস্করণটি খুব জটিল, তারা ভাবছে যে এর আরও সংক্ষিপ্ত সংস্করণ আছে কিনা।

এখানে এটি আসে, আমাদের প্রতিভা প্রোগ্রামারদের একচেটিয়া কোডিং দক্ষতার অধীনে, আমরা এটি পুনরায় লিখছি (এখনও জাভাস্ক্রিপ্ট ব্যবহার করে) শুধুমাত্র 50 টি কোডিং লাইন ব্যবহার করে। মূলটি 700 টিরও বেশি কোডিং লাইন।

এটি আপনার জন্য একটি ভাল সুযোগ কিভাবে আমাদের প্ল্যাটফর্ম বিকশিত হয়েছে তা খুঁজে বের করার জন্য, কিভাবে জটিল কোডিং অগ্রগতি মূল উদ্দেশ্য কোন ফাংশন হারানো ছাড়া কোডিং বাক্য মাত্র কয়েক ডজন মধ্যে সংকুচিত করা যেতে পারে।

এখানে মূল 700+ লাইন কোড আছেঃhttps://www.fmz.com/bbs-topic/2268

var _StopLoss = 0
var _StopWin = 0
var _Grid = []

function UpdateGrid(nowBidsPrice, nowAsksPrice, direction){    // up 1, down -1
    if(_Grid.length == 0 || (direction == 1 && nowBidsPrice - _Grid[_Grid.length - 1].price > _GridPointDis) || 
        (direction == -1 && _Grid[_Grid.length - 1].price - nowAsksPrice > _GridPointDis)){

        var nowPrice = direction == 1 ? nowBidsPrice : nowAsksPrice
        _Grid.push({
            price: _Grid.length == 0 ? nowPrice : _Grid[_Grid.length - 1].price + _GridPointDis * direction,
            hold : {price: 0, amount: 0}, 
            coverPrice : _Grid.length == 0 ? nowPrice - direction * _GridCovDis : _Grid[_Grid.length - 1].price + _GridPointDis * direction - direction * _GridCovDis
        })

        var tradeInfo = direction == 1 ? $.Sell(_GridPointAmount) : $.Buy(_GridPointAmount)
        _Grid[_Grid.length - 1].hold.price = tradeInfo.price
        _Grid[_Grid.length - 1].hold.amount = tradeInfo.amount
        $.PlotFlag(new Date().getTime(), JSON.stringify(tradeInfo), "O")
    }
    if(_Grid.length > 0 && 
        ((direction == 1 && nowAsksPrice < _Grid[_Grid.length - 1].coverPrice) || (direction == -1 && nowBidsPrice > _Grid[_Grid.length - 1].coverPrice))){
        
        var coverInfo = direction == 1 ? $.Buy(_Grid[_Grid.length - 1].hold.amount) : $.Sell(_Grid[_Grid.length - 1].hold.amount)
        _Grid.pop()
        $.PlotFlag(new Date().getTime(), JSON.stringify(coverInfo), "C")
        _StopWin++
    } else if(_Grid.length > _GridNum){
        var coverfirstInfo = direction == 1 ? $.Buy(_Grid[0].hold.amount) : $.Sell(_Grid[0].hold.amount)
        _Grid.shift()
        $.PlotFlag(new Date().getTime(), JSON.stringify(coverfirstInfo), "C")
        _StopLoss++
    }

}

function main(){
    while(1){
        var ticker = _C(exchange.GetTicker)
        var records = _C(exchange.GetRecords)
        $.PlotRecords(records, "kline")
        UpdateGrid(ticker.Buy, ticker.Sell, direction)       
        var msg = ""
        for(var i = 0; i < _Grid.length; i++){
            msg += JSON.stringify(_Grid[i]) + "\n"
        }
        LogStatus(_D(), "_StopWin:", _StopWin, "_StopLoss:", _StopLoss, _C(exchange.GetAccount), "\n", "_Grid.length:", _Grid.length, "_GridNum:", _GridNum, "\n", msg)
        Sleep(500)
    }
}

আরো

ছোট্ট স্বপ্নদারুণ!