1b bot PRO [Арбитраж ][Бот-терминал] - новые возможности торговли на криптовалютных биржах

Тема в разделе "Софт и Программы для Торговли", создана пользователем MrMin, 9 сен 2018.

  1. MrMin

    MrMin New Member

    1b bot PRO [Арбитраж ][Бот-терминал] - новые возможности торговли на криптовалютных биржах



    [​IMG]



    Рады представить Вашему вниманию очередной продукт линейки 1B BOT. Мы постарались реализовать многие пожелания пользователей версии Lite.

    1B BOT PRO получил следующие возможности :

    1. Встроенный язык программирования Pascal (с поддержкой ООП).
    2. Отложенные ордера.
    3. Межбиржевой арбитраж.
    4. Внутрибиржевой арбитраж
    5. Поддержка более 10 криптовалютных бирж и все возможности версии LITE(Btc-e.com,Cryptsy.com,Bitstamp.net,GOC.IO,Bter.com,Bittrex.com,Cex.IO,Mintpal.com,BTCChina.com,Cryptonit.net).

    В версии PRO имеется встроенный компилятор (очень быстрый). Теперь можно описать практически все. В отличии от Lite версии которая ввиду простого написания правил имеет ограничения по написанию технического характера, в новом боте их нет.

    Немного технических данных для пользователей пишущих стратегии самостоятельно:
    В новой версии за торговлю отвечает предопределенный класс TBaseStrategy. Этот класс имеет 9 предопределенных процедур(список будет расширяться по мере обновлений бота):


    typeTTradeStrategy =class(TBaseStrategy)public procedure OnCreate;override;
    procedure OnDestroy;override;
    procedure CanBuy(varRCanBuy:boolean;varRAmnt,RPrice:Double);override;
    procedure CanSell(varRCanSell:boolean;varRAmnt,RPrice:Double);override;
    procedure CanSellMax(varRCanSellMax:boolean;varRAmnt,RPrice:Double);override;
    procedure OnSaveState();override;
    procedure onloadState();override;
    procedure OnSendData();override;functionCanCancelOrder(AOrder:TOrder):boolean;override;end;beginend.
    При запуске бота создается экземпляр этого класса. Вы можете переопределять процедуры под себя.

    procedure OnCreate; - вызывается ботом единоразово при запуске.
    procedure OnDestroy; - вызывается ботом единоразово при закрытии.

    procedure CanBuy(var RCanBuy:boolean; var RAmnt, RPrice:Double); - вызывается вместе с обновлением данных, аналог таблицы покупки в версии Lite (выставляет ордер если RCanBuy = True)
    procedure CanSell(var RCanSell:boolean; var RAmnt, RPrice:Double); - вызывается вместе с обновлением данных, аналог таблицы продажи от минимальной партии к максимальной в версии Lite (выставляет ордер если RCanSell = True)
    procedure CanSellMax(var RCanSellMax:boolean; var RAmnt, RPrice:Double); - вызывается вместе с обновлением данных, аналог таблицы продажи SELL MAX в версии Lite (выставляет ордер если RCanSellMax = True)

    Для межбиржевого и внутрибиржевого арбитража используется следующий метод :


    [​IMG]




    procedure OnSendData(); - Процедура для обмена данными с другими ботами PRO. Вызывается по умолчанию каждую секунду.
    В настройке каждого бота есть вкладка Listener.


    [​IMG]

    В этой вкладке указывается имя текущего бота PRO и имена ботов PRO от которых он будет получать данные.
    После установки настроек просто указываете в этой процедуре какие данные ретранслировать.
    Пример ( код процедуры на боте LTC/USD передает другим ботам свои цены тикера и расчет цены по биржевому стакану при покупке / продаже на определенный объем) :


    procedure TTradeStrategy.OnSendData();beginOneOperationVolume:=ReadBotDouble('BTCLTC','OneOperationVolume');// Считываем объем покупки с бота настроенного на пару BTC/LTC WriteDouble('buy',OBCalcPriceIfBuy(OneOperationVolume));// Передаем другим ботам цену по стакану LTC/USD при покупке объема OneOperationVolume WriteDouble('sell',OBCalcPriceIfSell(OneOperationVolume));// Передаем другим ботам цену по стакану LTC/USD при продаже объема OneOperationVolumeWriteDouble('buyTicker', currTicker.buy);// передаем другим ботам цену покупки по тикеру LTC/USD WriteDouble('sellTicker', currTicker.sell);// передаем другим ботам цену продажи по тикеруend;
    С использованием такого подхода получился легко масштабируемый арбитражный продукт. Причем абсолютно все равно одна это биржа или разные.


    Пример работы стратегии по арбитражу(15 ботов по всем основным парам биржи BTC-e, стратегия автоматически строит все возможные цепочки пар вход по USD выход в USD):


    [​IMG]


    Основная документация находится в разработке(появится в течении недели).
    Приглашаем к сотрудничеству программистов со знанием Delphi,Pascal для написания стратегий пользователям.



    Бот с этой заготовкой отслеживает все возможные комбинации для спекуляции.
    Например есть на руках доллары.
    Бот будет мониторить все цепочки с долларом.

    Одна из них:
    LTC/USD LTC/BTC BTC/USD
    и рассчитывать прибыль таким образом :
    1. покупаю за доллары LTC
    2. продаю LTC за BTC
    3. продаю BTC за USD
    4. Сравниваю полученные USD с начальными.

    И так далее.

    В стратегии мониторятся 8 валют одновременно / 52 цепочки одновременно

    Стратегия состоит из 2 программ (Master-Slave схема стратегии).

    1 программа основная. стоит на боте хозяине (master) BTC/USD.
    2 программа вспомогательная. стоит на всех остальных ботах рабах (slave) которые пересылают свои данные боту BTC/USD.

    в программах пока не подключены ордеры ( просто выводится мониторинг в лог основного бота BTC/USD)


    СКАЧАТЬ АРХИВ С БОТОМ:
    https://bitbucket.org/zeus1bot/zeus1bot/downloads/Zeus-Bots-Arbitrage.rar



    Инструкция по запуску :
    Разархивировать папку с ботами и запустить все 16 ботов.
    Статистика будет в боте BTC/USD
     

Поделиться этой страницей