وسائل لوڈ ہو رہے ہیں... لوڈنگ...

کریپٹوکرنسی میں لیڈ لیگ ثالثی کا تعارف (3)

مصنف:FMZ~Lydia, تخلیق: 2024-12-25 16:04:11, تازہ کاری:

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

مندرجہ ذیل ہےعوامی ضابطے کی سادگیاور FMZ API میں تبدیل کر دیا گیا ہے۔ اس اصل حکمت عملی کا کوڈ اصول بہت آسان ہے اور ایک بار بہت منافع بخش تھا۔ یہ فی الحال دستیاب نہیں ہے اور صرف حوالہ کے لئے ہے۔

لیڈ-لیگ ہائی فریکوئنسی حکمت عملی کا اصول

نام نہاد لیڈ لیگ کو اس طرح سمجھا جاسکتا ہے کہ کچھ تبادلے کی قیمتیں (یا کچھ اشارے) مجموعی طور پر مارکیٹ میں ہونے والی تبدیلیوں میں زیادہ معروف ہوں گی ، جبکہ دیگر تبادلے یا دیگر اشارے نسبتا پیچھے رہ جائیں گے۔ اس حکمت عملی میں ، قیمت_ 1 ، قیمت_ 2 ، قیمت_ 3 بالترتیب مختلف تبادلے کی مارکیٹ کے حالات کی نمائندگی کرتے ہیں۔ وہ مرکزی دھارے کے تبادلے ہیں۔ کیونکہ وہ مارکیٹ کی خبروں کے لئے زیادہ حساس ہیں ، یا ان کی تجارتی گہرائی اور شرکاء کی اقسام مختلف ہیں ، ایک بار جب بڑے خرید یا فروخت کے احکامات ہوں گے تو ، ان تبادلے کی قیمتیں پہلے اتار چڑھاؤ کریں گی۔ میچنگ میکانزم اور تجارتی گروپوں جیسے عوامل کی وجہ سے اصل تجارتی تبادلے قیمتوں میں تھوڑا سا پیچھے رہ جائیں گے۔ اس وقت ، تبادلے کی حالت لیڈ ، کچھ تاخیر ظاہر ہوتی ہے۔

ملٹی ایکسچینج آرڈر بک کراولنگ

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

رجحان سگنل کا فیصلہ

حکمت عملی بنیادی طور پر تین بیرونی تبادلے (okex ، binance ، huobipro) کی قیمتوں میں تبدیلیوں پر مرکوز ہے:

یہاں ، ہر رجحان ایکس کا تعین موجودہ قیمت اور پچھلی قیمت کے مابین فرق سے ہوتا ہے جو ایک خاص حد سے تجاوز کرتا ہے (سطح * قیمت میں اضافہ) ۔ تینوں تبادلے سے اپ / ڈاؤن سگنل کو شامل کرنے کے بعد ، اگر مجموعی رجحان > 0 ہے تو ، اس کا مطلب یہ ہے کہ مارکیٹ عام طور پر بڑھ رہی ہے ، اور حکمت عملی خریدنا ہے۔ اگر رجحان < 0 ہے تو ، اس کا مطلب یہ ہے کہ مارکیٹ عام طور پر گر رہی ہے ، اور حکمت عملی فروخت کرنا ہے۔

یکطرفہ آرڈر اور رسک کنٹرول

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

اس کے علاوہ ، یہ حکمت عملی ایک اعلی تعدد کی حکمت عملی ہے۔ آپ کو ہر آرڈر کے منافع یا نقصان پر توجہ دینے کی ضرورت نہیں ہے ، اور نہ ہی آپ کو نقصان کو روکنے کی ضرورت ہے۔ جب تک منافع کمانے کا امکان موجود ہے آپ جاری رکھ سکتے ہیں۔

ایف ایم زیڈ کی حکمت عملی کا نفاذ

پیرامیٹر کی ترتیبات

// Hyperparameter settings
const SYMBOL = "BTC_USDT"; // Trading pair
const PRICE_INCREMENT = 0.1; // Price increment
const LEVEL = 10; // Sensitivity of trend judgment
const RATIO = 10; // Order price adjustment ratio
const INTERVAL = 200; // Time interval (milliseconds)
const S_AMOUNT = 0.02; // Default transaction volume
const MIN_AMOUNT = 0.005; // Minimum transaction volume

// Initial state
let buyOrders = [];
let sellOrders = [];
let previousPrices = [0, 0, 0]; // Store the previous price
let loop = 0;

بنیادی منطق: ڈیٹا حاصل کرنا اور رجحانات کا اندازہ لگانا

// Get order book data
function fetchOrderBooks() {
    let orderBooks = [];
    let tasks = [];

    // Start asynchronous order book acquisition tasks for all exchanges
    for (let i = 0; i < exchanges.length; i++) {
        // Assume that each exchange object can call the Go method
        let task = exchanges[i].Go("GetDepth");
        tasks.push({ index: i, task: task });
    }

    // Wait for all tasks to complete and collect results
    for (let i = 0; i < tasks.length; i++) {
        let { index, task } = tasks[i];
        try {
            // Waiting for an asynchronous task to return a result
            let depth = task.wait(1000);

            // Check if the returned data is valid
            if (!depth || !depth.Bids || !depth.Asks) {
                throw new Error("The returned order book data is invalid");
            }

            // Add valid order book data to the result array
            orderBooks[index] = depth;
        } catch (error) {
            // Recording error logs
            Log(`Failed to obtain the order book of exchange ${index}: ${error.message}`);

            // Added default order book data to avoid crashes
            orderBooks[index] = {
                Bids: [[0, 0]],
                Asks: [[0, 0]]
            };
        }
    }

    return orderBooks;
}


// Judge the trends
function calculateTrend(orderBooks) {
    let trends = [];
    for (let i = 0; i < orderBooks.length; i++) {
        const midPrice = (orderBooks[i].Bids[0][0] + orderBooks[i].Asks[0][0]) / 2;
        if (midPrice > previousPrices[i] + LEVEL * PRICE_INCREMENT) {
            trends.push(1); // Upward trend
        } else if (midPrice < previousPrices[i] - LEVEL * PRICE_INCREMENT) {
            trends.push(-1); // Downward trend
        } else {
            trends.push(0); // No significant trend
        }
        previousPrices[i] = midPrice; // Update price record
    }
    return trends.reduce((a, b) => a + b, 0); // Return to overall trend
}

احکامات کی جگہ اور منسوخی

// Cancel all pending orders
function cancelOrders(orders) {
    for (let orderId of orders) {
        try {
            exchanges[0].CancelOrder(orderId); // Use the main exchange by default
            Log(`Cancel order: ${orderId}`);
        } catch (error) {
            Log(`Failed to cancel order: ${error.message}`);
        }
    }
}

// Create a buy order
function createBuyOrder(price, amount) {
    try {
        const orderId = exchanges[0].Buy(price, amount);
        buyOrders.push(orderId);
        Log(`Create a buy order: price ${price}, quantity ${amount}`);
    } catch (error) {
        Log(`Failed to create buy order: ${error.message}`);
    }
}

// Create a sell order
function createSellOrder(price, amount) {
    try {
        const orderId = exchanges[0].Sell(price, amount);
        sellOrders.push(orderId);
        Log(`Create a sell order: price ${price}, quantity ${amount}`);
    } catch (error) {
        Log(`Failed to create sell order: ${error.message}`);
    }
}

بنیادی حکمت عملی منطق

function main() {
    while (true) {
        try {
            // Get order book data
            const orderBooks = fetchOrderBooks();

            // Calculate trends
            const trend = calculateTrend(orderBooks);
            Log(`Current trend: ${trend}`);

            // Cancel pending order
            cancelOrders(buyOrders);
            cancelOrders(sellOrders);
            buyOrders = [];
            sellOrders = [];

            // Order based on trends
            if (trend > 0 && loop > 0) {
                const price = _N(orderBooks[0].Bids[0][0] + RATIO * PRICE_INCREMENT, 2);
                const amount = _N(Math.max(S_AMOUNT, MIN_AMOUNT), 4);
                createBuyOrder(price, amount);
            } else if (trend < 0 && loop > 0) {
                const price = _N(orderBooks[0].Asks[0][0] - RATIO * PRICE_INCREMENT, 2);
                const amount = _N(Math.max(S_AMOUNT, MIN_AMOUNT), 4);
                createSellOrder(price, amount);
            }

            // Loop count and interval
            loop++;
            Sleep(INTERVAL);

        } catch (error) {
            Log(`Main logic error: ${error.message}`);
        }
    }
}

حکمت عملی کی ناکامی کی وجوہات کا تجزیہ

مارکیٹیں موثر بن جاتی ہیں

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

زر مبادلہ کی پابندی یا فیس میں تبدیلی

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

لیکویڈیٹی میں کمی اور کمی

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

مارکیٹ کی اتار چڑھاؤ میں تبدیلی

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

خلاصہ

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


مزید