Скрипты в боте последней версии

support

Administrator
Staff member
#1
часть информации здесь: http://simple-bot.ru/soft/js.html

Переме́нная — атрибут физической или абстрактной системы, который может изменять своё, как правило численное, значение. Понятие переменной широко используется в таких областях как математика, естественные науки, техника и программирование. Примерами переменных могут служить: температура воздуха, параметр функции и многое другое.

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

m15.count - здесь подсчет доступных для анализа свечей, отсчет от 1,
m15[0] - здесь бары, отсчет от 0
(первая свеча = нулевой бар)

//------26.02.2017 глобальные переменные в боте (кратко)
b_e список монет и балансов на них
t_r тикер(текущий)
here информация по текущей паре
ord_sell_max информация об ордере с максимальной ценой на продажу
var_load загрузка сохраненной переменной или переменных
m15 список информации о свечах
h1 минимум,среднее, максимум - за 1 час
h3 минимум,среднее, максимум - за 3 часа
h6 минимум,среднее, максимум - за 6 часов
h12 минимум,среднее, максимум - за 12 часов
d1 минимум,среднее, максимум - за 1 день
d2 минимум,среднее, максимум - за 2 дней
d4 минимум,среднее, максимум - за 4 дней
d8 минимум,среднее, максимум - за 8 дней
count подсчет кол-ва ордеров на покупку и продажу

move текущее отклонение цены от средней за сутки

utime текущее время в юникс формате(время берется с текущего компьютера)
changer_utime время в юникс формате(время возвращает биржа)

api6 первые 6 символов апи ключа
(это на случай если вы пишите скрипты за деньги, своим знакомым и друзьям)

продажа, ордер с мин. и макс ценой
ord_sell_max информация об ордере с максимальной ценой
ord_sell_min информация об ордере с минимальной ценой
//------26.02.2017 глобальные переменные в боте (кратко)
 
Last edited:

support

Administrator
Staff member
#2
//------26.02.2017 глобальные переменные в боте (подробней)
информация о балансе(деньги, монеты вне ордеров)
b_e список
b_e.b_e.usd баланc доллары
b_e.b_e.rur баланс рубли
b_e.btc баланc btc
b_e.ltc баланc btc

Добавление новых переменных об ордере с максимальной ценой!
ord_sell_max список
ord_sell_max.price цена
ord_sell_max.amount кол-во монет
ord_sell_max.diff разница с текущей ценой в процентах
ord_sell_max.ord_id ордер ид
ord_sell_max.udata время создания ордера в юникс формате

Добавление новых переменных об ордере с минимальной ценой!
ord_sell_min список
ord_sell_min.price цена
ord_sell_min.amount кол-во монет
ord_sell_min.diff разница с текущей ценой в процентах
ord_sell_min.ord_id ордер ид
ord_sell_min.udata время создания ордера в юникс формате

информация о свечах(можно выбрать конкретную свечу)
m15 список(в квадратных скобках номер бара, отсчет идет от 0)
m15[0].type тип свечи -1 красная, 1 зеленая
m15[0].move движуха на момент создания свечи
m15[0].m15_avg среднее значение тикеров созданных внутри свечи
m15[0].m15_start цена на момент начала создания свечи
m15[0].m15_low минимальная цена что была внутри свечи
m15[0].m15_high максимальная цена что была внутри свечи
m15[0].m15_finish цена на момент завершения создания свечи
доступно с версии ver: 2018.2.27.0624 (кол-во баров 24, свечей 25 = 6 часов)
m15.count кол-во свечей которые досупны для анализа(отсчет от 1)

Добавление новых переменных об ордере на продажу с максимальной ценой!
ord_sell_max список
ord_sell_max.price цена
ord_sell_max.amount кол-во монет
ord_sell_max.diff разница с текущей ценой в процентах
ord_sell_max.ord_id ордер ид
ord_sell_max.udata время создания ордера в юникс формате

Добавление новых переменных об ордере на продажу с минимальной ценой!
ord_sell_min список
ord_sell_min.price цена
ord_sell_min.amount кол-во монет
ord_sell_min.diff разница с текущей ценой в процентах
ord_sell_min.ord_id ордер ид
ord_sell_min.udata время создания ордера в юникс формате

Добавление новых переменных об ордере на покупку с максимальной ценой!
ord_buy_max список
ord_buy_max.price цена
ord_buy_max.amount кол-во монет
ord_buy_max.diff разница с текущей ценой в процентах
ord_buy_max.ord_id ордер ид
ord_buy_max.udata время создания ордера в юникс формате

Добавление новых переменных об ордере на покупку с минимальной ценой!
ord_buy_min список
ord_buy_min.price цена
ord_buy_min.amount кол-во монет
ord_buy_min.diff разница с текущей ценой в процентах
ord_buy_min.ord_id ордер ид
ord_buy_min.udata время создания ордера в юникс формате

—-------------------------------------------------------
h1 период обсчета (1 час)
h1.low мин.значение
h1.avg среднее
h1.high максимальное
h1.move_low минимальное значение move
h1.move_avg среднее
h1.move_high наибольшее

h3 период обсчета (3 часов)
h3.low
h3.avg
h3.high
h3.move_low
h3.move_avg
h3.move_high

h6 период обсчета (6 часов)
h6.low
h6.avg
h6.high
h6.move_low
h6.move_avg
h6.move_high

h12 все аналогично предыдущим вариантам
h12.low
h12.avg
h12.high
h12.move_low
h12.move_avg
h12.move_high


d1 период обсчета (1 день)
d1.low мин.значение
d1.avg среднее
d1.high максимальное
d1.move_low минимальное значение move
d1.move_avg среднее
d1.move_high наибольшее

d2 все аналогично предыдущим вариантам
d2.low
d2.avg
d2.high
d2.move_low
d2.move_avg
d2.move_high

d4.low
d4.avg
d4.high
d4.move_low
d4.move_avg
d4.move_high

d8.low
d8.avg
d8.high
d8.move_low
d8.move_avg
d8.move_high
—------------------------------------------------------—
//------26.02.2017 глобальные переменные в боте (подробней)
 

support

Administrator
Staff member
#3
//------26.02.2017 команды в боте
—------покупка,продажа,депозит
console.d_bs_buy - управление ценой покупки
console.d_bs_sell - управление ценой продажи
console.d_dep - управление расходом депозита для покупки ордеров
console.c_buy - управление ценой покупки
console.c_sell - управление ценой продажи

console.ord_rst(order_id);//сброс ордера с определенным ид

—------переменные
console.var_save -сохранить переменную или переменные

—------звук
console.speak -произнести фразу
console.sound -звуковой сигнал
console.n_sound -звуковой сигнал с заданной частотой и длительностью

—------отображение результатов
console.log -вывести значение в текстовое окно
//------26.02.2017 команды в боте
 

support

Administrator
Staff member
#4
Пример использования переменной об ордере с максимальной ценой:
Code:
//--1ый пример
if(ord_sell_max.price > 0){
  console.log("ордер с макс. ценой " +ord_sell_max.price);
  console.log("на нем кол-во монет  " +ord_sell_max.amount);
  console.log("прайс продажи в сравнении с текущей ценой  " +ord_sell_max.diff);
}
//--2ой пример
if(ord_sell_max.diff > 9){
  console.log("появился проблемный ордер, разностью(в %)  " +ord_sell_max.diff);
}
//------примечание, если в переменной ord_sell_max.price значение 0, ордеров на продажу нет.
//------25.02.2017
 

support

Administrator
Staff member
#5
Code:
//высчитываем среднее значение, минимальное и максимальное по всем доступным свечам
var avg_24=0;
var avg_24_max=0;
var avg_24_min=0;
for(var i = 0; i < m15.count - 1; i++){
  if(i == 0){
    avg_24=m15[i].m15_avg; avg_24_max=m15[i].m15_avg; avg_24_min=m15[i].m15_avg;
    continue;
  }//if
  avg_24=(avg_24 + m15[i].m15_avg)/2;
  if(m15[i].m15_avg > avg_24_max)avg_24_max=m15[i].m15_avg;
  if(m15[i].m15_avg < avg_24_min)avg_24_min=m15[i].m15_avg;
}//for
console.log("мин. за 6 часов: " + avg_24_min + " среднее за 6ч: " + avg_24 + " макс. за 6ч: " + avg_24_max);
 

support

Administrator
Staff member
#6
Code:
//---------------------------------------------------—
//высчитываем шпили(пробои)
//шпили направленные в верх
var h6_high_high=0;//макс
var h6_high_avg=0;//сред
var h6_high_low=0;//нижн

//шпили направленные вниз
var h6_low_high=0;
var h6_low_avg=0;
var h6_low_low=0;

for(var i = 0; i < m15.count - 1; i++){
  if(i == 0){
    h6_high_high=h6_high_avg=h6_high_low=m15[i].m15_high;
    h6_low_high=h6_low_avg=h6_low_low=m15[i].m15_low;
    continue;
  }//if
  h6_high_avg=(h6_high_avg+m15[i].m15_high)/2;
  h6_low_avg=(h6_low_avg+m15[i].m15_low)/2;
  if(m15[i].m15_high > h6_high_high)h6_high_high=m15[i].m15_high;
  if(m15[i].m15_low < h6_low_low)h6_low_low=m15[i].m15_low;
  if(m15[i].m15_high < h6_high_low)h6_high_low=m15[i].m15_high;
  if(m15[i].m15_low > h6_low_high)h6_low_high=m15[i].m15_low;
}//for
console.clear();
console.log("шпили напр. вверх (max,avg,low)"+h6_high_high+";"+h6_high_avg+";"+h6_high_low)
console.log("шпили напр. вниз (max,avg,low)"+h6_low_high+";"+h6_low_avg+";"+h6_low_low)
//---------------------------------------------------—
 

support

Administrator
Staff member
#7
Code:
//-------------округляй правильно(округления для правильного вывода инф.в текстовое окно)
function truncated(num, decimalPlaces) {
  var numPowerConverter = Math.pow(10, decimalPlaces);
  return ~~(num * numPowerConverter)/numPowerConverter;
}
function okrug(num){
  var num_poloj = Math.abs(num);
  if(num_poloj >1000) return truncated(num, 0);
  if(num_poloj >100)  return truncated(num, 1);
  if(num_poloj >10)   return truncated(num, 2);
  if(num_poloj >1)    return truncated(num, 3);
  if(num_poloj >0.1)  return truncated(num, 4);
  if(num_poloj >0.01) return truncated(num, 5);
  if(num_poloj >0.001)return truncated(num, 6);
  if(num_poloj >0.0001)return truncated(num,7);
  if(num_poloj >0.00001)return truncated(num,8);
  return num;
}
var test=43534.4324545334353;
console.log(okrug(test));//43534

//alert(okrug(test));//43534
//-------------округляй правильно(округления для правильного вывода инф.в текстовое окно)
 

support

Administrator
Staff member
#8
Code:
//------------- вывод текущего времени
console.clear();
console.log(utime);
var t = new Date();
t.setTime(utime*1000);
console.log( t.getHours() +":" +t.getMinutes());
—--выведет
1519885047
11:17
—--выведет
подробно: http://javascript.ru/forum/showthread.php?p=388128
//-------------
 

support

Administrator
Staff member
#9
Code:
//------------мин.значение -15, макс 15
console.clear();
var trand=0;
if(d8.avg > d4.avg){
  trand=-8;
}
if(d8.avg < d4.avg){
  trand=8;
}
if(d4.avg > d2.avg){
  trand=-4;
}
if(d4.avg < d2.avg){
  trand=4;
}
if(d2.avg > d1.avg){
  trand=-2;
}
if(d2.avg < d1.avg){
  trand=2;
}
if(d1.avg > t_r.last){
  trand=-1;
}
if(d1.avg < t_r.last){
  trand=1;
}

console.log(d8.avg+" : "+d4.avg+" : "+d2.avg+" : "+d1.avg+" : "+t_r.last);
console.log(trand);
if(trand >= 13){
  console.log("продаем");
}
if(trand <= -13){//если над
  console.log("покупаем");
}
//------------
расчет пересечения скользящих средних за 8 дней и четыре дня
if(d8.avg == d4.avg){
  console.log("точка пересечения");
}
//----------------
 

support

Administrator
Staff member
#10
Code:
//-----------------------------сколько секунд назад был выставлен ордер на покупку?
console.clear();
console.log(utime);
var t = new Date();
t.setTime(utime*1000);
console.log( t.getHours() +":" +t.getMinutes());
if(ord_buy_min.udata != 0){
  var raznost=utime-ord_buy_min.udata;
  console.log("есть ордер на закуп, он выставлен "+ raznost +" секунд назад");
}
//-----------------------------сколько секунд назад был выставлен ордер на покупку?
 

support

Administrator
Staff member
#11
Новые переменные: d2 минимум,среднее, максимум - за 2 дней
d4 минимум,среднее, максимум - за 4 дней
d8 минимум,среднее, максимум - за 8 дней

—-------------------------------------------------------
d2 период обсчета
d2.low мин.значение
d2.avg среднее
d2.high максимальное
d2.move_low минимальное значение move
d2.move_avg среднее
d2.move_high наибольшее

d4.low
d4.avg
d4.high
d4.move_low
d4.move_avg
d4.move_high

d8.low
d8.avg
d8.high
d8.move_low
d8.move_avg
d8.move_high
—------------------------------------------------------—
 

support

Administrator
Staff member
#12
Code:
//------------мин.значение -7, макс 7
console.clear();
var trand=0;
if(d8.avg > d4.avg){
  trand=-4;
}
if(d8.avg < d4.avg){
  trand=4;
}
if(d4.avg > d2.avg){
  trand=-2;
}
if(d4.avg < d2.avg){
  trand=2;
}
if(d2.avg > t_r.last){
  trand=-1;
}
if(d2.avg < t_r.last){
  trand=1;
}
console.log(d8.avg+" : "+d4.avg+" : "+d2.avg+" : "+t_r.last);
console.log(trand);
if(trand >= 5){
  console.log("продаем");
}
if(trand <= -5){//если над
  console.log("покупаем");
}
console.log();
//------------
расчет пересечения скользящих средних за 8 дней и четыре дня
if(d8.avg == d4.avg){
  console.log("точка пересечения");
}
//----------------
 

support

Administrator
Staff member
#13
h1 период обсчета (1 час)
h1.low мин.значение
h1.avg среднее
h1.high максимальное
h1.move_low минимальное значение move
h1.move_avg среднее
h1.move_high наибольшее

h3 период обсчета (3 часов)
h3.low
h3.avg
h3.high
h3.move_low
h3.move_avg
h3.move_high

h6 период обсчета (6 часов)
h6.low
h6.avg
h6.high
h6.move_low
h6.move_avg
h6.move_high

h12 все аналогично предыдущим вариантам
h12.low
h12.avg
h12.high
h12.move_low
h12.move_avg
h12.move_high


d1 период обсчета (1 день)
d1.low мин.значение
d1.avg среднее
d1.high максимальное
d1.move_low минимальное значение move
d1.move_avg среднее
d1.move_high наибольшее

d2 все аналогично предыдущим вариантам
d2.low
d2.avg
d2.high
d2.move_low
d2.move_avg
d2.move_high

d4.low
d4.avg
d4.high
d4.move_low
d4.move_avg
d4.move_high

d8.low
d8.avg
d8.high
d8.move_low
d8.move_avg
d8.move_high
 

support

Administrator
Staff member
#14
console.log(t_r.sell);
console.log(t_r.last);
console.log(t_r.buy);

console.trade_sell(цена, сколько монет)//
console.trade_buy(цена, сколько монет)//

30 июля 2018г., на вкладку db добавлена таблица,
по закрытию программы данные из ячеек сохраняются,
при запуске программы содержимое ячеек восстанавливаеся из базы данных.

b_e.s_after_safe;//баланс после сейфлимита(слэйв коин)
b_e.m_after_safe;//баланс после сейфлимита(мастер коин)

console.change_pair("ltc_rur");//переключитья на эту пару

console.trade_sell(цена, кол-во монет);
console.trade_buy(цена, кол-во монет);

заполнение ячеек
console.mem_set(0,0,"z1");
console.mem_set(0,1, 15000);
console.mem_set(1,0,"z2");
console.mem_set(0,1, 400);

считывание из ячейки
var r = console.mem_get(0,1);
console.mem_set(3,1, b_e.eth);
console.log(r);

раскраска ячеек разными цветами
console.mem_color(0,0, "yellow");
console.mem_color(0,1, "gold");
console.mem_color(1,0, "lime");
console.mem_color(1,1, "red");

3 августа 2018г
trade history th buy sell//console.th_buy_get() console.th_sell_get()
order book ob buy sell//console.ob_buy_get() console.ob_sell_get()

console.clear();
var json = console.ob_sell_get();//order book стакан sell получить get;на выходе строка с элементами
var order_book_sell = JSON.parse(json);//преобразовали входящую строку в объект со значениями
//теперь из order_book_sell можно брать информацию по ордерам
//----------получение информации из первой записи(отсчет от 0)
console.log(order_book_sell[0]["price"]);//цена
console.log(order_book_sell[0]["amount"]);//кол-во монет
//----------
//----------обход всего массива (стакан на продажу)
var count_ord=0;//считаем сколько ордеров
for (var key in order_book_sell) {
console.log(order_book_sell[key]["price"]);//цена
console.log(order_book_sell[key]["amount"]);//кол-во монет
count_ord++;
}
console.log("у нас " + count_ord +" ордеров");
//----------

//--------данные о первом ордере
var order_price=0;
var order_amount=0;
try {
order_price=order_book_sell[0]["price"];//цена
order_amount=order_book_sell[0]["amount"];//кол-во монет
} catch (err) {
// обработка ошибки
console.log("нет ни одного ордера");
}

у трейдхистори 3 переменных, третья utime (время создания ордера)
 
Last edited:
Top