كتابة مولد أسهم عشوائي لـ Mosbirzhe في JavaScript

جاءت الفكرة بعد أن رأيت عن طريق الخطأ مولدًا مشابهًا للتبادل الأمريكي NASDAQ ، حيث يقوم برنامج bash النصي بتنزيل قائمة موجزة بالأوراق الأمريكية من خادم FTP وتحويلها إلى JSON ، والتي تتكون من مؤشرات فقط ، ثم تعرض إطار التمهيد وجافا سكريبت النقي على الشاشة مؤشر الأسهم عشوائي أثناء ربط ياهو شعبية! المالية


"سحر" منصة CodePen لبورصة موسكو

تم تكييف الكود مع الحقائق الروسية ، بالإضافة إلى تلقي قائمة الأوراق المالية من بورصة موسكو ، تم حساب الربحية للسنوات الماضية.

لم يكن الخادم الإضافي مطلوبًا ، لأن واجهة برمجة تطبيقات Mosbirzi يمكنها إجراء الإصدار على الفور بتنسيق JSON.

ما هو المطلوب لتشغيل مولد المشاركة العشوائية؟


  1. « » (boardid) .

    //      
    url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/'
  2. boardid .

    boardid = 'TQBR' //  
    url = 'https://iss.moex.com/iss/engines/stock/markets/shares/boards/'+ boardid +'/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID,SECNAME'
  3. .
  4. .

    boardid = 'TQBR' //  
    url = 'http://iss.moex.com/iss/engines/stock/markets/shares/boards/'+ boardid +'/securities.json?iss.meta=off&iss.only=securities&securities.columns=SECID,PREVADMITTEDQUOTE'
  5. n . API boardid, SECID , :
    — boardid = TQBR
    — SECID = SBER
    — date = 2015-01-10
    .

    boardid = 'TQBR' //   
    SECID = 'SBER' // 
    date = '2015-01-10' // 
    url = 'http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/'+ boardid +'/securities/'+ SECID +'.json?iss.meta=off&iss.only=history&history.columns=SECID,TRADEDATE,CLOSE&limit=1&from=' + date
  6. 5 , .

    curStock = 'AFKS'
    dateNow = '2020-03-06'
    datePre = '2015-03-06'
    fetch(getCost(curStock, datePre)).then(result => {
        return (result.json())
    }).then(res => {
        let costPre = res.history.data[0][2];
        return (costPre)
    }).then(costPre => {
        fetch(getCost(curStock, dateNow)).then(result => {
            return (result.json())
        }).then(res => {
            let costNow = res.history.data[0][2];
            console.log(costPre);
            console.log(costNow);
            console.log(parseInt((costNow * 100) / costPre, 10) - 100)
        })
    })
    
    function getCost(id, date) {
        let url = `http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/TQBR/securities/${id}.json?iss.meta=off&iss.only=history&history.columns=SECID,TRADEDATE,CLOSE&limit=1&from=${date}`
        return url;
    }

لم تكن هناك متطلبات كبيرة للشفرة ، كان من المهم أن تعمل وتؤدي مهمتها.


GIF مع عرض لمولد مولد Mosbirzi العشوائي في JavaScript

لسبب ما ، لم تصدر Mosbirzi API بيانات تاريخية إلا منذ يونيو 2014 ، أي أنه من غير الممكن الحصول على بيانات سابقة من خلال طلب.

كود كامل على GitHub و CodePen .

مجموع


يعمل مولد الأسهم العشوائي من بورصة موسكو ولا يصدر أوراقًا عشوائية فحسب ، بل يأخذ أيضًا في الاعتبار العائد لفاصل زمني مخصص.

أريد أيضًا أن أشير إلى أنه لا يرتبط بأي حال من الأحوال ببورصة موسكو وأنني أستخدم ISS Mosbirzhy للمصالح الشخصية فقط.

المؤلف: ميخائيل شاردين .
الرمز: ألكسندر بالاتشيف .

3 أبريل 2020

All Articles