3
پر توجہ دیں
1444
پیروکار

کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں

میں تخلیق کیا: 2023-12-24 21:37:45, تازہ کاری: 2023-12-26 15:40:23
comments   7
hits   5240

کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں

مواقع کا مشاہدہ

حال ہی میں، جب میں مارکیٹ کو دیکھ رہا تھا، مجھے اتفاق سے معلوم ہوا کہ Binance پر ایک سکہ STORJ بہت عجیب تھا اور ٹریڈنگ فریکوئنسی بہت تیز تھی ایک منٹ کی مخصوص مندرجہ ذیل ہے آپ دیکھ سکتے ہیں کہ ٹریڈنگ والیوم فی منٹ ہے یہ کافی مستقل ہے، اور منٹ لائن پر ایک لمبا نچلا سایہ دیکھا جا سکتا ہے۔ کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں Binance کی 1-سیکنڈ K-line کا مشاہدہ کرنے سے، ہمیں ایک اشارہ ملا کہ کوئی شخص ہر 5-7 سیکنڈ میں 10,000 سے 20,000 STORJ فروخت کرے گا، اور K-لائن میں براہ راست ایک چھوٹا سا سوراخ کر دے گا۔ یہ آپریشن واضح طور پر ایک روبوٹ کی وجہ سے ہوا تھا جسے آئس برگ نے بنایا تھا۔ یہ فروخت کا عمل بہت طویل عرصے تک جاری رہا، اور کل رقم کا تخمینہ دسیوں ملین ڈالر لگایا گیا تھا، بہت سے معاملات میں پھسلن 11000 تک پہنچ گئی تھی، جس کا مطلب ہے کہ اس حکمت عملی کو انجام دینے والے کو دسیوں ہزار ڈالر کا نقصان ہوا۔ صرف ڈالر کے لین دین کی وجہ سے۔ تاہم، اس طرح کے مکینیکل آپریشنز اور فعال لین دین مارکیٹ بنانے اور اسکیلپنگ کے لیے واضح مواقع پیدا کرتے ہیں۔ کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں

اصل اسپاٹ ہائی فریکونسی حکمت عملی میں صرف ترمیم کرکے، اس روبوٹ کو بنانے میں صرف چند منٹ لگے جو خاص طور پر آئس برگ آرڈرز کی بے ہودہ فروخت کا فائدہ اٹھاتا ہے۔

اسٹریٹجک سوچ

چونکہ ہر چند سیکنڈ میں مارکیٹ میں سیلنگ ہوگی، ہمیں خرید آرڈر بک میں صرف 10,000 کی گہرائی تلاش کرنی ہوگی اور آرڈر کو سامنے رکھنا ہوگا۔ اس طرح، جب یہ آئس برگ فروخت ہوتا ہے، تو اس بات کا بہت زیادہ امکان ہوتا ہے کہ مارکیٹ بنانے والا روبوٹ اسے حاصل کر سکے گا، اس وقت ٹریڈنگ بہت فعال ہے، اور قیمتوں میں فوری کمی بھی کچھ خرید کے آرڈرز کو متحرک کرتی ہے۔ فروخت کے آرڈر دینے اور اس کے مطابق آپریشن کو دہرانے پر بھی یہی اصول لاگو ہوتا ہے۔ لین دین کی تعدد بہت زیادہ ہے، اور یہاں تک کہ اگر ہر بار واپسی کی شرح زیادہ نہیں ہے، تب بھی کل منافع کافی ہے۔ بلاشبہ، ہر چیز کی بنیاد کم ٹرانزیکشن فیس کے ساتھ ایک اکاؤنٹ ہونا ہے، اگر خرید و فروخت کے لیے لین دین کی فیس 0.1% ہے، تو یہ جگہ لین دین کی فیس ادا کرنے کے لیے کافی نہیں ہے۔

حکمت عملی کی کارکردگی

حکمت عملی کی کارکردگی مندرجہ ذیل ہے، میں نے آج دوپہر میں اسے تبدیل کیا اور منافع کو پرنٹ کیا، ہر بار 5000 کے بارے میں، اس طرح بہترین ثالثی کی مدت گزر گئی. شروع میں، آپ تقریباً 100-200U فی گھنٹہ کما سکتے ہیں اہم بات یہ ہے کہ یہ خطرے سے پاک اور کم قیمت ہے۔ دوسری طرف سے دیکھتے ہوئے، اگر آپ حکمت عملی لکھنا جانتے ہیں، تو آپ آرڈر کے سائز کا تعین کرنے کے لیے FMZ پر ایک تحریر لکھ سکتے ہیں۔ قیمت، اور زیر التواء آرڈر کے سائز کو ایڈجسٹ کرنے کے لیے ایکٹو خرید آرڈر کے سائز کا مشاہدہ کریں اور آئس برگ کی سپردگی کی حکمت عملی جیسے کہ مارکیٹ پر قبضہ کرنا دسیوں ہزار ڈالر آسانی سے بچا سکتا ہے۔

کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں

حکمت عملی کا ماخذ کوڈ

حکمت عملی کوڈ بہت آسان ہے، صرف 80 لائنز۔ شروع کرنے والوں کے لیے موزوں ہے جیسے کہ ایک ہی درستگی آپ ان میں ترمیم کر سکتے ہیں جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے۔ ایک اور پاگل ٹرانزیکشن ہے آپ ان سے کسی بھی وقت کچھ سود وصول کر سکتے ہیں۔ کوڈ کی 80 لائنوں میں اعلی تعدد کی حکمت عملی کے ساتھ بے عقل فروخت کرنے والے روبوٹ کا استحصال کیسے کریں

function CancelPendingOrders() {
    var orders = _C(exchange.GetOrders)
    for (var j = 0; j < orders.length; j++) {
        exchange.CancelOrder(orders[j].Id, orders[j])
    }
}

function onexit(){
    CancelPendingOrders()
}

function GetPrice(Type, Depth) {
    var sumAmount = 0
    var checkAmount = Type == "Buy" ? CheckBuyAmount : CheckSellAmount
    var deep = Type == "Buy" ? Depth.Bids : Depth.Asks
    for(var i = 0; i < Math.min(20, deep.length); i++) {
        if(Type == "Buy"  && deep[i].Price == lastBuyPrice && buyId){
            sumAmount += deep[i].Amount - amountBuy //这里要减去自己的挂单
        }else if(Type == "Sell"  && deep[i].Price == lastSellPrice && sellId){
            sumAmount += deep[i].Amount - amountSell
        }else{
            sumAmount += deep[i].Amount
        }
        if(sumAmount >= checkAmount){
            return deep[i].Price
        }
    }
    return deep[19].Price
}

function OnTick() {
    var depth = _C(exchange.GetDepth)
    var buyPrice = _N(Math.min(GetPrice("Buy", depth) + 0.0001, depth.Asks[0].Price-0.0001) , 4) //保证在盘口
    var sellPrice = _N(Math.max(GetPrice("Sell", depth) - 0.0001, depth.Bids[0].Price+0.0001), 4)
    LogStatus('buy_price:'+buyPrice, '  sell price: '+sellPrice)
    if ((sellPrice - buyPrice) < DiffPrice) {
        buyPrice = 0
    }
    if(sellPrice != lastSellPrice && sellId){
        exchange.CancelOrder(sellId);
        sellId = 0
        lastSellPrice = 0
    }
    if(buyPrice != lastBuyPrice && buyId){
        exchange.CancelOrder(buyId);
        buyId = 0
        lastBuyPrice = 0
    }   
    var acc = _C(exchange.GetAccount)
    if(account.Stocks+account.FrozenStocks != acc.Stocks+acc.FrozenStocks){
        LogProfit((acc.Stocks+acc.FrozenStocks)*depth.Bids[0].Price+acc.Balance+acc.FrozenBalance - 2000)
        Log('free '+acc.Stocks, ' lock: '+ acc.FrozenStocks, ' total: ' , (acc.Stocks+acc.FrozenStocks)*depth.Bids[0].Price+acc.Balance+acc.FrozenBalance)
    }
    account = acc
    amountBuy = _N(Math.min(account.Balance / buyPrice - 0.1, Amount), 0)
    amountSell = _N(account.Stocks, 0)
    if (sellPrice > 0 && amountSell > 40 && sellId == 0) {
        sellId = exchange.Sell(_N(sellPrice,4), amountSell)
        lastSellPrice = sellPrice
    }
    if (buyPrice>0 && amountBuy > 40 && buyId == 0) {
        buyId = exchange.Buy(_N(buyPrice,4), amountBuy)
        lastBuyPrice = buyPrice
    }
    Sleep(Interval)
}
var account = {Stocks:0, FrozenStocks:0, Balance:0, FrozenBalance:0}
var buyId = 0
var sellId = 0
var lastBuyPrice = 0
var lastSellPrice = 0
var amountSell = 0
var amountBuy = 0
function main() {
    CancelPendingOrders()
    while (true) {
        OnTick()
    }
}