রিসোর্স লোড হচ্ছে... লোডিং...

একক প্ল্যাটফর্ম সমীকরণ কৌশল

লেখক:শূন্য, তারিখ: ২০১৪-০৮-১৪ ২০ঃ২০ঃ৪৮
ট্যাগঃব্যালেন্স

এই স্টোরেজটি তৈরি করতে হবে, উদাহরণস্বরূপ, আপনার অ্যাকাউন্টে 5000 ডলার আছে, এবং 1 টাকার সাথে, যদি টাকার মূল্য অ্যাকাউন্টের ব্যালেন্সের চেয়ে 5000 বেশি হয় এবং এর দামের পার্থক্যটি হ্রাসের চেয়ে বেশি হয়, উদাহরণস্বরূপ, টাকার মূল্য এখন 6000 ডলার, আপনি এটি বিক্রি করবেন, যদি টাকার মূল্য বৃদ্ধি পায়, আপনি এটি ফেরত পাবেন, যদি এটি হ্রাস পায়, উদাহরণস্বরূপ, 4000 ডলার, আপনি এটি কিনবেন, যদি এটি হ্রাস পায়, আপনি কিছু কিনবেন, যদি এটি হ্রাস পায়, আপনি এটি আবার বিক্রি করবেন, যেমন একটি সমতুল্য, উভয় পক্ষের বিভিন্ন হেজিং, তাই আমি এটিকে ভারসাম্যপূর্ণ কৌশল বলি।


/*backtest
start: 2018-03-01 00:00:00
end: 2018-08-01 11:00:00
period: 15m
exchanges: [{"eid":"OKCoin_EN","currency":"BTC"}]
*/

function CancelPendingOrders() {
    var ret = false;
    while (true) {
        var orders = null;
        while (!(orders = exchange.GetOrders())) {
            Sleep(Interval);
        }

        if (orders.length == 0) {
            return ret;
        }

        for (var j = 0; j < orders.length; j++) {
            exchange.CancelOrder(orders[j].Id);
            ret = true;
            if (j < (orders.length-1)) {
                Sleep(Interval);
            }
        }
    }
    return ret;
}

var InitAccount = null;

function onTick() {
    var acc = _C(exchange.GetAccount);
    var ticker = _C(exchange.GetTicker);
    var spread = ticker.Sell - ticker.Buy;
    var diffAsset = (acc.Balance - (acc.Stocks * ticker.Sell)) / 2;
    var ratio = diffAsset / acc.Balance;
    LogStatus('ratio:', ratio, _D());
    if (Math.abs(ratio) < threshold) {
        return false;
    }
    if (ratio > 0) {
        var buyPrice = _N(ticker.Sell + spread, ZPrecision);
        var buyAmount = _N(diffAsset / buyPrice, XPrecision);
        if (buyAmount < MinStock) {
            return false;
        }
        exchange.Buy(buyPrice, buyAmount, diffAsset, ratio);
    } else {
        var sellPrice = _N(ticker.Buy - spread, ZPrecision);
        var sellAmount = _N(-diffAsset / sellPrice, XPrecision);
        if (sellAmount < MinStock) {
            return false;
        }
        exchange.Sell(sellPrice, sellAmount, diffAsset, ratio);
    }
    return true;
}

function main() {
    InitAccount = _C(exchange.GetAccount);
    LoopInterval = Math.max(LoopInterval, 1);
    while (1) {
        if (onTick()) {
            Sleep(1000);
            CancelPendingOrders();
            Log(_C(exchange.GetAccount));
        }
        Sleep(LoopInterval * 1000);
    }
}

সম্পর্কিত

আরো

রানিংবিটসআল কুরআন, আল-কুরআন,

জ্যামিংএটি কিংবদন্তি ৫০-৫০ কৌশল, উচ্চ ফ্রিকোয়েন্সির প্রয়োজন নেই।

কোয়ান্টামাইজড রোবটউদাহরণস্বরূপ, বিটকয়েন vs ইউএসডি পণ, প্রাথমিক শর্ত হল অ্যাকাউন্টে বেশি টাকা, কম মুদ্রা, যদি বিপরীত হয় তবে রক্তপাত হবে।

হাইলানিয়েএই আইডিয়াটি অনন্য, শিখেছি, শেয়ার করার জন্য ধন্যবাদ।

মোমোক্সএডভোকেট জেন, এই বাক্যটি এই কৌশল আর উপযুক্ত নয় কিন্তু, সহজ কোড, আসলে সবচেয়ে অদ্ভুত কৌশল, পূজা

দক্ষিণ কোরিয়ার ছোট গাছএটাকে হতে হবে হরিণবাজারে টাকাপয়সা, ষাঁড়বাজারে টাকাপয়সা