Menu

BUG, imho

Alexander
2015-09-30
2015-10-24
  • Alexander

    Alexander - 2015-09-30

    Берем пример отсюда:
    http://forum.centrabit.com/viewtopic.php?f=3&t=4168&sid=c53bdd2c668cddb96cc1356746770271

    ------------------------------------------------------------------------------------------------------

    var lastMidPrice=0;
    calculateMidPrice(); // Вызываем функцию при старте, чтобы не дожидаться изменения индикаторов

    function calculateMidPrice()
    {
    // var midPrice=(trader.get("BidPrice")+trader.get("AskPrice"))/2;
    **var midPrice=(trader.get("AsksPrice",0.1) + trader.get("BidsPrice",0.1))/2
    // в Вашем примере модифицирована только предыдущая строка
    //Если в аргументе указан объем "0.1", то в консоль пишет "WARNING..."
    //Если большое значение(например "100"), то все нормально

    if(midPrice==lastMidPrice)return; // Останавливаемся если значение не изменилось
    lastMidPrice=midPrice; // Сохраняем последнее значение
    trader.sendEvent("MidPrice",midPrice); // Транслируем наше событие
    }

    trader.on("BidPrice").changed()
    {
    calculateMidPrice();
    }

    trader.on("AskPrice").changed()
    {
    calculateMidPrice();
    }

    //добавим логирование в консоль
    trader.on("MidPrice").changed()
    {
    trader.log("Средняя цена изменилась:", value);
    }

    ----------------------------------------------------------------------------------------------------------------
    Пример неправильной работы:

    17:49:39> Warning! OrderBook info is out of range. OrderBook information is limited to rows count limit.
    17:49:39> Средняя цена изменилась: 236.6625

     

    Last edit: Alexander 2015-09-30
  • Ighor July

    Ighor July - 2015-10-04

    Ето не ошибка а предупреждение.
    Для того чтобы весь ордербук стал доступен скриптовому языку, надо в интерфейсе выбрать больше количество строк для отображения.
    Пока нет отдельной настройки ордербука для интерфейса и скриптов.

     
  • Alexander

    Alexander - 2015-10-07

    Так а пример я к чему привел? ;)

    Он предупреждает на минимальном объеме:
    //Если в аргументе указан объем "0.1", то в консоль пишет "WARNING..."

    Но при большом объеме, который требует большей глубины ордербука, этого не делает:
    //Если большое значение(например "100"), то все нормально

     

    Last edit: Alexander 2015-10-07
  • Alexander

    Alexander - 2015-10-07

    Самое интересное, что раньше считало правильно. А сегодня - вот так...
    v1.10.01

     

    Last edit: Alexander 2015-10-07
  • Alexander

    Alexander - 2015-10-07
     

    Last edit: Alexander 2015-10-07
  • Ighor July

    Ighor July - 2015-10-07

    Данные на сайте от данных отображаемых в программе могут отличаться так как биржа ограничивает количество запросов в секунду. И чтобы обновить все данные надо отправить 6 запросов по очереди.
    Выведите в лог ask и bid, и если повторится ситуация скажите значения.
    Про 0.1 изучу и исправлю, спасибо.

     
  • Alexander

    Alexander - 2015-10-09

    Ситуация с неправильным отображением стакана продолжалась несколько минут, я специально следил - DOM API lag многократно обнулялся.

    Но если замечу, обязательно попробую запротоколировать и сохраню https://btc-e.com/api/2/btc_usd/depth/2000 для текущей валюты.

     
  • Ighor July

    Ighor July - 2015-10-09

    Значение лага ордербука или лага глобального?

     
  • Alexander

    Alexander - 2015-10-24

    оба API lag были как обычно, оба обнулялись.

     
  • Alexander

    Alexander - 2015-10-24

    Срабатывает на первое изменение "исТОРии моих сделок" - т.е. один раз всего. Причем неважно покупка/продажа.
    trader.on("MyLastTrade").changed()

    Разглючивает при смене пары, но только на одну сделку.

    ПС: я еще не утомил? :)

     

    Last edit: Alexander 2015-10-24

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.