Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
proektura
7 лет назад

Пара слов о клиенте для криптотрейдинга Qt Bitcoin Trader. Часть 2.

Приветствую, Друзья!

Сегодня у нас вторая часть цикла статей о Qt Bitcoin Trader. Для тех, кто упустил первую статью, искать ее тута.

Продолжение

Сегодня я расскажу об интересующей всех и вся идее автоматизации торговли криптовалютой. Для этого создателем клиента разработан специальный cкриптовый язык для автоматизации торгов -  JL Script. Язык довольно простой, при желании его освоит даже сейчас буду врать ПТУшник, прогулявший половину семестра. За основу языка взят  JavaScript с полной поддержкой функций и методов. Во всяком случае, так утверждает разработчик.

Особенностью языка является то, что все методы и функции начинаются  "trader.". Не, ну а как ещё. После этого слова с точкой можно обратиться к одному из трех методов:  событию, функции и команде.
Пример - получаем комиссию аккаунта:
trader.get("Fee")

Рассмотрим События.

 Событие является функцией которая в момент изменения значения индикатора возвращает новое значение.
Синтаксис методов событий примерно такой:
trader.on("LastPrice").changed()
{
//Хочу спать. На самом деле тут должен быть ваш код.
}

Далее расскажу о функциях.

Привожу цитату самого разработчика, так как боюсь Вас обмануть и научить плохому:

Функция это метод, который возвращает значение индикатора или каких-либо вычислений.
Вы можете достать значение любого индикатора используя метод "get". Пример: trader.get("LastPrice").
Функции которые возвращяют значения индикаторов поддерживают два аргумента, первый это пара (символ) а второй название индикатора. Пример: trader.get("BTCUSD","LastPrice").
Вы можете доставать значения индикаторов из любого места в скрипте. 

 Примеры:
trader.get("AskPrice") - получаем цену спроса;
trader.get("Balance","USD") - получаем баланс USD.

Несколько слов о командах

Тут тоже ничего сложного, команды представляют собой строку кода, которая должна немедленно что-то выполнить.
Примеры:
trader.log("Не читайте историю переписки трехлетней давности") - Вывод лога;
trader.beep() - получаем звуковой писк. Например, можно поставить на срабатывание ордера;
trader.buy(amount,price); - выставляем ордер на покупку.

Есть таймер и команда задержки выполнения по времени, но последняя описана неправильно.
На это надо обратить внимание. Делаем не так:
trader.delay(15, "trader.log("Должно пройти 15 секунд")");

А вот так, через одиночные кавычки:
trader.delay(15, 'trader.log("Должно пройти 15 секунд")');

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

На этом теоретическую часть закончу и перейдем к практике. 

Скрипты вызываются так:

Код можно не прописывать руками, а получить из клиента вот так:

Работа запущенного скрипта может выглядеть примерно так. Красными стрелками выделил что можно сделать с выставленными ордерами. А можно воспользоваться таким скриптом (отменяет ордера на покупку, спустя секунду отключается сам):
trader.cancelBids();
trader.delay(1, 'trader.groupStop("Снятие ордеров")');

В окне выполнения скрипта есть кнопка проверки кода на корректность:


На сегодня, пожалуй хватит, вы изучайте, а я спать)).

P.S. В следующей статье расскажу про правила, но ближе концу недели. Не расходитесь.)))

 

Буду рад сосискам подпискам))

62
0.095 GOLOS
На Golos с November 2016
Комментарии (0)
Сортировать по:
Сначала старые