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

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

میں تخلیق کیا: 2024-12-24 15:43:36, تازہ کاری: 2024-12-26 12:14:45
comments   2
hits   2012

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

پچھلے مضمون میں، ہم نے کراس ایکسچینج “ثالثی” ثالثی کو متعارف کرایا تھا۔ اس بار، ہم اس بات پر گہرا غوطہ لگائیں گے کہ لیڈ-لیگ اثر کو ہائی فریکوئنسی ٹریڈنگ پر کیسے لاگو کیا جائے، جس کے لیے بہت کم وقت میں قیمتوں کے چھوٹے فرق کو حاصل کرنے اور فوری منافع کمانے کی ضرورت ہوتی ہے۔ Lead-Lag اثر تاجروں کو پیشن گوئی کی معلومات فراہم کرتا ہے، جس سے انہیں قلیل مدتی قیمت کے رجحان کا تعین کرنے میں مدد ملتی ہے اور اس طرح مختلف تبادلوں کے درمیان ثالثی حاصل ہوتی ہے۔

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


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

نام نہاد “Lead-Lag” کو سمجھا جا سکتا ہے کیونکہ کچھ ایکسچینجز کی قیمتیں (یا کچھ اشارے) مجموعی مارکیٹ کی تبدیلیوں میں زیادہ “لیڈنگ” ہوں گے، جبکہ دیگر ایکسچینجز یا دیگر اشارے نسبتاً “لیگنگ” ہوں گے (Lag) . اس حکمت عملی میں، “قیمت_1، قیمت_2، قیمت_3” مختلف ایکسچینجز کی مارکیٹ کے حالات کی نمائندگی کرتے ہیں، جو کہ مارکیٹ کی خبروں کے لیے زیادہ حساس ہوتے ہیں، یا ان کی ٹریڈنگ کی گہرائی اور حصہ لینے والوں کی قسمیں ایک بار جب ایک بڑی خرید و فروخت کا آرڈر ہوتا ہے۔ ان تبادلوں کی قیمتیں پہلے اتار چڑھاؤ ہوں گی۔ اصل تجارتی تبادلے کی قیمتوں میں اتار چڑھاؤ کچھ عوامل جیسے میچنگ میکانزم اور ٹریڈنگ گروپس کی وجہ سے تھوڑا پیچھے رہ جائے گا۔ اس مقام پر ’’کچھ آگے ہیں اور کچھ پیچھے ہیں‘‘ کی صورت حال ابھرتی ہے۔

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

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

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

حکمت عملی بنیادی طور پر تین بیرونی ایکسچینجز (اویکس، بائنانس، ہوبیپرو) کی قیمتوں میں تبدیلیوں پر مرکوز ہے:

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

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

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

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


FMZ حکمت عملی کا نفاذ

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

// 超参设置
const SYMBOL = "BTC_USDT"; // 交易对
const PRICE_INCREMENT = 0.1; // 价格增量
const LEVEL = 10; // 趋势判断的灵敏度
const RATIO = 10; // 下单价格调整比例
const INTERVAL = 200; // 时间间隔(毫秒)
const S_AMOUNT = 0.02; // 默认交易量
const MIN_AMOUNT = 0.005; // 最小交易量

// 初始状态
let buyOrders = [];
let sellOrders = [];
let previousPrices = [0, 0, 0]; // 存储之前的价格
let loop = 0;

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

// 获取订单簿数据
function fetchOrderBooks() {
    let orderBooks = [];
    let tasks = [];

    // 启动所有交易所的异步获取订单簿任务
    for (let i = 0; i < exchanges.length; i++) {
        // 假设每个交易所对象都可以调用Go方法
        let task = exchanges[i].Go("GetDepth");
        tasks.push({ index: i, task: task });
    }

    // 等待所有任务完成并收集结果
    for (let i = 0; i < tasks.length; i++) {
        let { index, task } = tasks[i];
        try {
            // 等待异步任务返回结果
            let depth = task.wait(1000);

            // 检查返回的数据是否有效
            if (!depth || !depth.Bids || !depth.Asks) {
                throw new Error("返回的订单簿数据无效");
            }

            // 将有效的订单簿数据添加到结果数组
            orderBooks[index] = depth;
        } catch (error) {
            // 记录错误日志
            Log(`获取交易所${index}订单簿失败: ${error.message}`);

            // 添加默认的订单簿数据以避免崩溃
            orderBooks[index] = {
                Bids: [[0, 0]],
                Asks: [[0, 0]]
            };
        }
    }

    return orderBooks;
}


// 判断趋势
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); // 上升趋势
        } else if (midPrice < previousPrices[i] - LEVEL * PRICE_INCREMENT) {
            trends.push(-1); // 下降趋势
        } else {
            trends.push(0); // 无显著趋势
        }
        previousPrices[i] = midPrice; // 更新价格记录
    }
    return trends.reduce((a, b) => a + b, 0); // 返回总体趋势
}

آرڈر دینا اور منسوخ کرنا

// 取消所有挂单
function cancelOrders(orders) {
    for (let orderId of orders) {
        try {
            exchanges[0].CancelOrder(orderId); // 默认使用主交易所
            Log(`取消订单: ${orderId}`);
        } catch (error) {
            Log(`取消订单失败: ${error.message}`);
        }
    }
}

// 创建买单
function createBuyOrder(price, amount) {
    try {
        const orderId = exchanges[0].Buy(price, amount);
        buyOrders.push(orderId);
        Log(`创建买单: 价格 ${price}, 数量 ${amount}`);
    } catch (error) {
        Log(`创建买单失败: ${error.message}`);
    }
}

// 创建卖单
function createSellOrder(price, amount) {
    try {
        const orderId = exchanges[0].Sell(price, amount);
        sellOrders.push(orderId);
        Log(`创建卖单: 价格 ${price}, 数量 ${amount}`);
    } catch (error) {
        Log(`创建卖单失败: ${error.message}`);
    }
}

اہم حکمت عملی کی منطق

function main() {
    while (true) {
        try {
            // 获取订单簿数据
            const orderBooks = fetchOrderBooks();

            // 计算趋势
            const trend = calculateTrend(orderBooks);
            Log(`当前趋势: ${trend}`);

            // 取消挂单
            cancelOrders(buyOrders);
            cancelOrders(sellOrders);
            buyOrders = [];
            sellOrders = [];

            // 根据趋势下单
            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++;
            Sleep(INTERVAL);

        } catch (error) {
            Log(`主逻辑错误: ${error.message}`);
        }
    }
}

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

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

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

تبادلے کی پابندیاں یا فیس میں تبدیلیاں

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

لیکویڈیٹی کا زوال اور پھسلنا

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

مارکیٹ کے اتار چڑھاؤ کو تبدیل کرنا

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


خلاصہ کریں۔

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