English Chinese French German Italian Portuguese Spanish
Войти
  1. ВКонтакте
  2. Facebook
  1. Официальный форум 1bbot - торгового бота для бирж Binance, Bitfinex, Bittrex,Yobit,EXMO,Bitstamp,Poloniex » 1b bot PRO ZEUS » Бесплатные стратегии от наших пользователей для бота 1b bot PRO » Справка (*.chm) и примеры.
Новые публикации Скрыть панель справаПоказать панель справа

Справка (*.chm) и примеры.

Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 1 отправлено 23:55, 09.07.2017
Сделал файл справки в формате CHM, в основном помощь по работе с PRO, но есть не много информации и по Lite.
Все сделано на основании информации с сайта, возможен поиск переменных, функций и т.д.
Планирую включить в дальнейшем несколько примеров с расшифровкой (описательного характера) правил покупки и продажи применяемых в бесплатных стратегиях пользователей бота.


1bBot-3.chm.zip [1.95 Mb] Загрузок: 59
1bBot.zip [1.71 Mb] Загрузок: 72

Последний раз редактировал Igor F P 16:44, 03.10.2018
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 2 отправлено 21:13, 23.07.2017
обновленная версия 1.3, добавлены пропущенные функции и т.д.

ссылка для скачивания ( 1.99 мБ)
1bBot-3.chm.zip [1.95 Mb] Загрузок: 61

Последний раз редактировал Jeronimo 22:13, 23.07.2017
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 3 отправлено 07:01, 27.07.2017
Для "непрограммистов" готовится версия справки с возможностью модульного создания стратегии, т.е. как бы "кирпичики" берем и ставим в нужные места выбирая возможные "ветвления" событий.
Срок - если до отпуска не успею, тогда только в сентябре.
Бот развивается, появились новые процедуры, типа CanCancelOrder, GetCancelAllOrders и т.д.
Новичок
  1. Оффлайн
  2. Посетители
  3. 13 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 4 отправлено 09:21, 11.08.2017
Igor F P, ждем
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 5 отправлено 02:13, 24.08.2017
вернулся из отпуска
имеются сложности в создании модулей (версия справки 2) , возможно будет еще промежуточная версия справки (версия справки 1.4)

Последний раз редактировал Igor F P 02:14, 24.08.2017
Новичок
  1. Оффлайн
  2. Посетители
  3. 13 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 6 отправлено 02:25, 24.08.2017
Igor F P, в любом случае за труд спасибо,если будет возможность напишите гайд по ошибкам всевозможным.
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 7 отправлено 04:54, 25.09.2017
версия 1.5 с описание структуры написания стратегий, проблемами возникающими у пользователей и т .д.
1bBot_1.5.zip [2.1 Mb] Загрузок: 46
Новичок
  1. Оффлайн
  2. Посетители
  3. 13 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 8 отправлено 06:40, 25.09.2017
Igor F P (24.09.2017, 21:54) писал:версия 1.5 с описание структуры написания стратегий, проблемами возникающими у пользователей и т .д.
1bBot_1.5.zip [2.1 Mb] Загрузок: 46
спасибо.будем читать
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 9 отправлено 19:55, 23.03.2018
версия 1.7.
прилично изменений, в т.ч есть примеры использования функций (не всех, дело долгое все описать), раздел для начинающих, в тех.анализе есть примеры как сделать свой индикатор ТА и изменить временные параметры.
[attachment=155]
1bBot_1.7.zip [2.63 Mb] Загрузок: 9

Последний раз редактировал Igor F P 00:12, 24.03.2018
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 10 отправлено 22:50, 24.06.2018
версия 1.8
уточнения по использованию процедур и функций
новые функции и процедуры по работе с партиями для бота версия 70 и далее
возможности Demo бота и т.д.
[attachment=176]
1bBot v.1.8.zip [3.19 Mb] Загрузок: 17

Последний раз редактировал Igor F P 23:00, 24.06.2018
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 11 отправлено 02:13, 26.07.2018
в связи с вопросами и обращениями по техническому анализу и его использованию в 1bbot создал очень краткую справку по японским свечам с кодами для 1bbot.
Конечно, свечей очень много и описать кодами их всех это долгий и утомительный труд, поэтому там всего 8 фигур, но это как пример создания кодов для достаточно сложных фигур.
И они (свечи) частично работают показывая тренд крипты . Почему частично?
Ну крипта не фиат, и не все можно под одну гребенку списать.
Японские свечи.zip [864.67 Kb] Загрузок: 11

Последний раз редактировал Igor F P 02:16, 26.07.2018
Участник
  1. Оффлайн
  2. Посетители
  3. 43 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 12 отправлено 16:21, 27.07.2018
Спасибо!
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 13 отправлено 19:13, 03.09.2018
Пример записи и чтения данных в/из файл(а)

В 1bbot существует возможность записи и считывания данных, созданных в результате работы сценария, в (из) файл(а).
Для этого существуют две процедуры:

для записи
procedure TTradeStrategy.OnSaveState(AWriter:IDataWriter);
begin
AWriter.WriteDouble('Step1',Step1);
AWriter.WriteDouble('Volume2',Volume2);

// где например Step1= 25, а Volume2 = 32
end;

для считывания
procedure TTradeStrategy.onloadState(AReader:IDataReader);
begin
Step1:=AReader.ReadDouble('Step1',0.0);
Volume2:=AReader.ReadDouble('Volume2',0.0);
end;

в результате процедуры OnSaveState в файле появится запись типа
{ 'Step1',25
'Volume2',32 }
а в результате процедуры OnLoadState бот считает эти данные

и у вас после перезагрузки или в какой то указанный вами момент появятся значение для ваших переменных, типа
Step1:=25;
Volume2:=32;

т.о. можно сохранять данные накопленные ботом в процессе работы.

например сохраним массив BC[2,3]

procedure TTradeStrategy.OnSaveState(AWriter:IDataWriter);
begin
for i:=1 to 3 do
begin

rtm:='A-'+IntToStr(i);
AWriter.WriteDouble(rtm,bc[1,i]);

rtm:='B-'+IntToStr(i);
AWriter.WriteDouble(rtm,bc[2,i]);

end;

end;

Но так мы только сохраняем и в файле они будут в виде (пример)
{"A-1":1.87636367058788,"B-1":1.68057866950025,"A-2":1.7569463670588823,"B-2":1. 58207866958594,"A-3":1.01666367053986,"B-3":1.18457866955361}

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

Последний раз редактировал Igor F P 17:28, 03.10.2018
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 14 отправлено 05:47, 03.10.2018
Пример игры на спреде (типа скальпинга).
Условия достаточно простые, как в обычной сделке, сначала надо купить дешево, что бы продать дороже, но все это происходит в весьма узком диапазоне величин между текущими курсами и с учетом предлагаемых в этих точках кол-вах крипты..
Доходность в этом случае от 1 сделки маленькая!!!, т.к. вы завязаны на малую разницу цен Buy-Sell (спред) и на предлагаемые кол-ва крипты в продаже и покупке, ибо нет смысла купить 10 шт если для последующей продаже покупателю требуется 3 шт, остальные 7 шт у вас могут зависнуть. Но т.к. таких моментов в течении короткого времени возникает очень много, курс то прыгает постоянно, то умножаем малый профит на большое кол-во сделок= что-то получаем.
Но тут же ложка дегтя - биржевые боты обычно сопротивляются таким действиям выставляя свои ордера выше/ниже ваших+ учитывать надо % комиссии биржи.
Но все же это одна из возможностей получить доход.
И так:
1) покупаем, описываем требуемые в нашем разделе Buy кол-во валюты, а также условия по цене.

Spred:=abs(obStat.wSell.Price - obStat.wBuy.Price); // спред
if (obStat.wSell.Amount>botMinLim1*1.0001) and (obStat.wBuy.Amount>obStat.wSell.Amount) and ((Spred*100/ currTicker.sell)>XXXX) then Flag_Skalp:=true;
// ХХХХ- процент от которого бот отталкивается в скальпинге, этот % должен учитывать комиссию биржи и ваш профит, а также учитывает наш YYYY (см. ниже)
if (Flag_Skalp=false) then goto SS;// обходим покупку т.к условия не выполнены

if (obStat.wBuy.Amount<obStat.wSell.Amount) then RAmntBuy:=obStat.wBuy.Amount else RAmntBuy:=obStat.wSell.Amount;
// устанавливаем кол-во в операции Buy, почему так указано выше
RAmnt:=RAmntBuy;
RCanBuy:=true;
RPrice:=currTicker.sell*(1+YYYYY);
// YYYY- отступ от currTicker.sell, что бы ваш ордер был чуть выше первого чужого ордера, очень важный параметр, надо учитывать возможность профита, а не просто покупки.
LastBuyOrder:=now; // выставляем ордера, без них тут не обойтись
LastBuyOrderPrice:=RPrice;// указываем цену ордера
trade:='Buy YES ='+FloatToStr(RPrice);// информируем себя в разделе Watch, что операция прошла (фактически не прошла ибо нет пока подтверждения от биржи)
skalpB:=1;// необходима для раздела Sell и раздела CanCancelOrder.
RAmntSell:= RAmntBuy; // указываем кол-во для продажи

и так мы типа купили.

2) продаем быстро пока ситуация (спред) не изменилась, описываем условия:

if (skalpB=1) and (currTicker.buy>=(GetPartyPrice(0)*(1+ХХХХ) then
// при скальпинге у нас должна быть только 1 партия ибо если несколько то наш скальпинг не удачный и реализацией таких партий занимается уже другая подпрограмма.
// ХХХХ- предполагаемый наш и биржи профит
begin
RCanSell:=true;
RAmnt:=GetPartyAmnt(0);
// лучше ставить кол-во "0" партии чем RAmntSell ибо биржи берут комиссию и натурой :)
RPrice:= currTicker.buy *(1-YYYY); // чуть ниже самого нижнего чужого ордера,при этом учитываем наш ХХХХ
LastSellOrder:=now; // также выставляем ордера
LastSellOrderPrice:=RPrice; // указываем цену ордера продажи
id:=GetPartyID(0);// это необходима для последующей проверки продажи партии
trade:='Sell Yes= '+FloatToStr(RPrice);// информируем себя в разделе Watch, что операция прошла (фактически не прошла ибо нет пока подтверждения от биржи)
skalpB:=0; // обнуляем переменную которая стала =1 при покупке, необходимо для ордеров и т.д.
end;

Но как я написал выше, надо еще получить подтверждение от биржи, определить время жизни и условия отмены ордеров и еще ряд проблем, в т.ч. . указание на продажу кол-ва из "0" партии,а это не всегда так.

Последний раз редактировал Igor F P 00:10, 04.10.2018
Гуру
  1. Оффлайн
  2. Посетители
  3. 188 сообщений
  4. Сообщение
  5. Личные данные
Полезность: 0 | сообщение № 15 отправлено 16:07, 03.10.2018
Но, запускать один только скальпинг без поддержки кодов продажи партий по профиту нельзя, ибо как показал опыт купить то вы можете по маленькой цене (но из более чем 80 возможностей получилось купить только 8 раз), а вот продать до начала движения курса вниз не всегда удается (удалось из 8 купленных продать только 1 раз и то в ручную поутру пока был профит, но тут ОЧЕНЬ много зависит от того какая криптопара и какая интенсивность торгов на ней).



И тогда у вас появляются "висяки", которые "гасятся", "шортятся" и просто продаются с установленным профитом....., т.е. должны быть в сценарии такие возможности.

Последний раз редактировал Igor F P 19:38, 03.10.2018
 
Перейти
Найти

Доступ закрыт.

  1. Вам запрещено отвечать в темах данного форума.

Изменения статуса

  1. профиль В поиске... 16:52, 29.06.2018
  2. профиль http://bit.ly/dolevik Доли проектов: Выпуск / Дивиденды / По... 16:56, 14.05.2016
  3. профиль http://ethereum.today/btccloud 23:33, 21.03.2015
  4. Просмотреть все статусы

Статьи