►
From YouTube: Hummingbot Weekly Developer Call 016 | 23 November 2022
Description
The Hummingbot Weekly Developer Call is a technical and general discussion intended to gather active community developers who contribute to making the Hummingbot codebase better through Hummingbot Improvement Proposals (HIPs) and Bug Fixes.
Meeting Info:
- Schedule: Nov 23, 2022 / 3:00 PM UTC / 11:00 PM HKT
- Duration: 60 minutes
Agenda:
- Review Open Issues of Bounties Board
- Mini-Lesson: Perpetual Connectors
- Community Q&As
A
B
B
A
A
Okay,
well,
I
think
that
we
can
start
now.
Let
me
open.
A
Let
me
open
Safari,
well,
I,
think
that
this
will
be
better
to
share
screen
than
the
normal
Discord
call.
So
here
we
have
the
the
brush
checked
and
the
bound
is
worth
so.
These
are
the
the
issues
the
we
have
opened
right
now
we
have
to
assign
this
probably
share
me.
A
A
A
So
when
you
want
to
know
the
available
balance,
the
the
information
was
unupdated.
For
this
reason,
so
that's
why
we
should
check.
We
have
to
change
the
real-time
updates
from
the
connector
to
false.
That
is
a
parameter
that
you
can
find
on
the
connectors,
and
now
the
available
balances
is
the
available.
A
Balance
is
calculated
based
on
the
last
information
about
the
balance,
plus
the
orders
that
you
have
placed
on
the
trades
that
you
execute
from
that
timestamp
and
that's
how
you
can
synchronize
the
available
balance
with
the
the
real
thing
that
you
are
seeing
on
the
exchange,
the
difference
between
these
and
the
total
balances
and
the
third
balance
it
actually
is
not
called
it.
So
that's
the
thing
that
you
had
to
to
do.
Well
there
also
we
have
issues
with
spot.
A
Are
we
just
Perpetual
and
and
this
this
will
be
reviewing
the
strategy
and
check
if
the
strategies
ready
to
use
a
perpetuals
with
the
Gateway,
then
this
is
cosmetic.
This
is
the
position
not
working
this.
This
is
the
one
that
was
solved
by
the
mentor
that
we
reviewed
last
week,
so
sure
I
mean
if
you
can
review
the
status
of
this
will
be
good,
and
this
is,
as
we
mentioned
last
week.
A
This
is
a
also
I
think
to
make
some
research
and
check
if
there
is
something
specific
with
Huawei
that
doesn't
let
you
work
on
this
so
well.
This
is
like
the
update
about
this
board.
Now
we
are
going
to
start
the
first
live
session
with
mini
lessons
so
for
today
prepare
this
menu
lesson
of
a
perpetuos.
The
idea
of
the
mini
lessons
is
that
the
time
the
doesn't
exceed
like
20
minutes
or
something
like
that,
it's
just
like
a
short
explanation
of
how
this
works.
A
Obviously
we
can
extend
if
we
have
time,
but
it
is
to
make
a
concrete
explanation
of
some
of
the
topics
or
the
most
important
things
that
you
have
to
know
when
you're
trying
to
use
or
code
perpetuous
connector.
So
well,
let's
get
started
so
first,
can
you
hear
me
because
my
Airport's
run
out
of
battery?
So
let
me
know
if
you
can
hear
me
in
the
chat.
A
This
is
the
the
mini.
Lessons
of
today
will
be
perpetuals,
so
we
are
going
to
start
looking
at
the
information
that
the
puppet
was
connected
are
managing
and
based
on
that
we're
going
to
talk
about
how
hummingbot
managed
that
information,
then
we're
going
to
see
some
of
the
most
common
properties
and
methods
that
you
can
use
You
by
when
you
are
using
a
perpetuous,
connector
and
lastly,
I
opened
a
discussion
and
some
things
to
talk
about
in
the
to
finish.
A
This
mini
lesson:
some
things
that
we
can
improve
about
the
purpose
connectors
so
well,
when
we
are
talking
about
of
information
and
execute,
we
can
divide
the
the
connector
in
your
execution
and
information
So
based
on
information.
We
have
public
data
and
account
data
and
let's
talk
about
first,
the
public
data.
That
is
the
one
that
is
available
without
API
Keys,
the
difference
between
the
public
and
the
account
is
that
or
the
private
data
is
that
to
access
the
private
data.
Probably
you
will
need
to
use
your
API
keys
to
request
that
information.
A
Normally,
it's
related
to
information
about
your
balances,
your
orders
and
other
stuff,
because
it's
like
private
information,
you
cannot
access
it
without
credentials
and
the
public
information
is
available
for
everyone.
That
wants
to
send
a
request
to
know
something,
but
sometimes
there
are.
There
is
some
public
endpoints
that
needs
authentication
too,
and
they
are
not
public.
They
are
private,
but,
for
example,
if
you
want
to
request
the
historical
traits
of
binance,
you
have
to
provide
the
API
keys
to
do
that
so
well.
This
is
that
is
a
public
information,
but
you
need
the
API
keys.
A
That
is
because,
when
the
connectors,
when
heimbot
starts,
requests
all
the
symbols
to
the,
if
to
all
the
exchanges
and
update
the
train
symbol
map
that
is
inside
having
mode
now,
let's
create
a
comparison
between
how
hummingbot
names,
the
the
trading
Pairs
and
how
this
change
to
do.
That,
for
example,
a
hammer
mode
always
use
Bass,
Dash
quotes
and
binance
can
use
base,
quotes
all
together
or
base
slash
quote
or
different
ways
of
doing
this.
A
But
the
thing
is
that
the
one
this
this
step
is
very
important,
because
if
you
don't
have
a
conversion
between
how
having
both
names,
the
trading
Pairs
and
how
the
exchange
do
the
same,
when
we,
when
you
want
to
make
a
request,
you
will
have
to
put
the
the
training
pair
As,
A,
Change
Is
is
calling
it
and
that's
very
difficult,
because
because
you
have
to
remember
all
the
different
changes,
so
this
is
the
only
way
that
you
can
just
use
the
same
convention
for
calling
the
training
Pairs
and
then
the
connector
will
change
that
to
how
the
exchange
names
the
the
trading
pair.
A
So
that's
the
first
part.
That
is
the
symbols,
and
it's
a
thing
that
also
the
spot
connectors
has
to
do.
Then
we
have
the
trading
rules.
This
also
is
shared
with
the
spot
connectors
and
there
are
some
rules
in
exchange
like,
for
example,
if
you
want
to
send
an
order
to
buy
I,
don't
know
one
cent
of
ethereum.
You
will
probably
have
a
message
that
will
be
hey.
This
amount
is
very
low.
A
You
cannot
buy
0.1
cents
of
ethereum
in
dollars
of
ethereum,
because
the
minimum
is
ten
dollars,
for
example,
where
there
are
a
certain
trading
rules
like,
for
example,
the
Precision
of
the
decimals,
the
Precision
of
the
the
position
of
decimals
of
the
amount
of
the
price.
Then
you
have
the
minimum
amount
in
base
assets,
for
example,
you
cannot
send
another
lower
than
0.01
ethereum
and
then
also
you
have
the
same,
but
in
notional
size
like
hey,
you
cannot
send
an
order
of
lower
than
10
dollars.
A
Well,
that's
another
thing
that
the
connector
has
to
know.
Then
we
have
the
order,
books,
snapshots
and
divs.
This
works
because,
when
you
request,
when
you
make
the
first
request
of
the
of
the
other
book,
you
get
the
complete
order
book
and
normally
the
exchanges
send.
You
then
delete
the
diffs
it's
like.
Instead
of
giving
you
the
full
information
of
the
order
book
again,
because
it's
very
big
either
it's
sending
the
it
is
sending
the
information
that
hey
in
this
price.
A
I
don't
know
this
quantity
of
tokens
were
removed
or
in
this
price
these
quantity
of
tokens
were
added.
So
then
you
have
to
update
the
order
book
in
real
time
in
your
own
bot.
So
that's
another!
That's
one
of
the
things
that
Hamill
does
and
that's
why
you
have
the
other
book
The
a
local
copy
of
the
other
book,
and
you
can
access
it
very
easy
with
different
methods
to
query
it
or
directly.
You
can
access
the
levels
of
the
order
book.
So
that's
another
thing
that
is
shared
with
the
swap
connectors.
A
Then
we
have
the
traits
also
shared
the
last
prices.
That
is
a
simple
query,
be
addressed
above
the
prices
of
the
of
the
different
markets,
and
then
we
have
the
only
thing
that
is
different
from
spot
exchanges.
That
is
a
funding
information
so
well.
The
funding
information
is
probably
one
of
the
things.
Probably
if
you
are
familiar
with
trading
or
with
havingbot
all
the
last
things.
You
already
know
that,
but
if
you
are
not
familiar
with
barbatos
connector,
let
me
talk
about
a
little
bit
about
the
funding
information.
B
A
You
are
like
buying
a
contract
that
represents
the
variation
like,
for
example,
if
I
buy
a
contract,
a
long
contract
or
ethereum
I'm
betting,
that
the
ethereum
will
go
up
so.
A
Asset
I
never
had
the
underlying
asset
in
my
in
my
in
my
wallet,
I
probably
have
USD
or
USD
or
bus
as
collateral.
So
what
does?
What
is
the
collateral?
The
collateral
is
like
the
reserves
that
you
have
to
to
do
the
operation
and
the
the
they're,
like
the
reserves
that
you
have
like
if
to
support
your
operation.
A
That's
probably
the
name
to
support
your
operation
because
then
you
have,
you
have
also
have
leverage,
and
now
we
are
going
to
talk
about
lag
Rush
a
little
bit,
but
it's
like,
for
example,
I
have
100
dollars
and
I
want
to
open
a
long
position
in
ethereum
and
I
want
to
build
a
10x
leverage
so
well
in
in
the
in
the
market.
I
will
be
playing
with
one
thousand
dollars
because
I
have
10x
of
the
brush,
but
my
collateral
is
only
100.
A
A
So,
if
that's
how
you
can
get
liquidated
easily
in
the
pervertose
market,
if
you
use
a
lot
of
Leverage,
because
if
you
are
using
ten
percent
10x,
if
the
price
goes
on
10
percent
and
the
collateral
is
all
the
funds
that
you
have,
you
will
be
like
liquidated.
If
you
use
100x,
if
and
the
price
moves
one
percent,
you
will
be
liquidated
too.
So
that's
why
you
have
to
be
careful
with
the
with
the
leverage,
but
well,
let's,
let's
continue
with
the
funding
information.
As
we
mentioned,
we
are
not
buying
the
asset.
A
We
are
buying
a
contract
to
say,
hey
this
price.
This
will
be,
will
go
up
and
there
are
a
lot
of
people
doing
the
same
thing.
There
are
people
saying
this
will
go
up,
this
will
will
go
down
and
the
thing
is
that
the
the
contract
is
has
to
be
made
with
a
pair,
because
I
cannot
make
a
contract
with
anybody.
A
So,
in
order
to
balance
the
percentage
of
a
capital
going
long
and
going
short,
the
the
the
the
users
that
are
going
long,
they
use
probably
suppose
that
the
ratio
is
60
is
going
long
and
40
is
going
short.
So
to
balance
this
this
equation,
we
we
need
more
people
in
the
short
side
or
more
capital
in
the
short
side.
So
what
the
funding
information,
the
funding
rate
will
make
the
the
the
users
are
going
long.
A
A
So
that's
a
what
is
about
the
funding
information.
The
thing
is
that
this
is
predicted
because
can
change
a
little
bit
and
also
the
the
this.
This
can
be
different
between
different
exchanges,
because,
for
example,
binance
can
pay,
pays
fundings
every
eight
hours,
I
think
and
well
last
the
last
three
weeks
I
was
building
the
FTX
connector
and
FTX
was
paying
the
the
funding.
The
funding
fees
were
paid
every
one
hour,
so
it
can
change
between
different
exchanges,
and
you
can
you
have
to
know
about
that
too.
A
A
So
well
that's
about
the
market
public
data.
Then
we
have
the
account
data
and
we
have
here
the
balances.
This
is
Norm.
Normally
the
the
balance
of
the
account.
As
I
mentioned,
the
perpetuals
works
with
collateral,
so
I'm
I
will
use
this
example
again
in
FTX.
A
The
collateral
was
the
collateral
of
all
the
tokens
that
you
have
in
your
wallet.
It
shares
the
spot
and
perpetuous
wallet.
So,
for
example,
if
you
have
BDC
is
usdt
or
LT
or
an
LTC,
you
can
use
all
the
tokens
as
collateral
and
the
value
of
the
collateral
will
be
the
price
of
the
asset
at
that
moment,
multiplied
by
the
quantity
of
tokens
that
you
have.
So
that's
the
thing
that
you
have
to
support
your
operation
in
the
barbatos
market
in
binance,
you
can
select
a
also
different
kinds
of
collaterals.
A
I,
don't
know
the
the
connector
that
is
used
right
now,
how
it's
working,
because
you
have
cross
magic
or
or
isolated,
but
well
we
have
to
refactor
that
connector.
So
we
will
be
a
new
one.
Well,
then,
you
have
the
orders.
The
orders
is
the
information
about
the
orders.
If
it's
a
place
on
the
market,
it's
a
limit
order,
Market
order.
The
amount
executed
all
that
stuff
about
the
orders
that
you
you
have
to
know
the
trades.
This
will
be.
Your
private
trades
know
the
public
trades
that
we
mentioned
before
this
is
the
traits.
A
Okay,
you
did
by
your
account
and
then
we
have
the
funding
payments.
The
funding
payments
on
the
farm
funding
information
that
we
mentioned
before
are
the
same.
The
difference
is
that
the
funding
information
that
you
we
have
in
the
public
data
will
be
the
next
funding
that
we
will
have
in
the
market
and
the
final
payments
of
your
account
are
the
filing
page
that
you
already
paid
in
the
market.
A
A
So,
for
example-
and
this
is
one
of
the
things
that
we
are
going
to
discuss
in
the
next
two
in
the
in
the
next
slides-
because
right
now-
the
only
way
that
you
can
get
the
funding
payments
or
do
something
with
the
funding
payments
is
using
an
event.
There
is
an
especially
bending
hummingbot
that
when,
when
you
receive
the
information
of
the
funding
payments,
a
new
Funding
payment,
it
will
trigger
an
event
and
give
you
the
information
of
the
events.
A
Well,
that's
about
the
information
that
the
connector
has
to
know.
So
it's
pretty
similar
to
to
the
spot.
Connectors
well,
is
I,
think
that
is
he's
only
just
to
use
a
some
new
methods
for
another
things.
But
this
is
easy
well
in
execution.
What
we
have
we
have,
first
of
all
set
the
position
mode,
because
there
I
will
explain
now
the
position
modes.
You
have
two
position
modes,
normally
in
exchanges.
A
There
is
one
way
and
hedge
the
difference
between
them
is
that
one
way
only
lets
you
open
a
long
position,
for
example
in
one
market,
one
kind
of
position.
At
the
same
time
in
the
market,
you
cannot
have
a
long
and
a
long
post,
a
short
position
in
ethereum,
for
example,
you
can
have
just
one.
For
example,
you
can
have
a
loan
or
a
short.
A
The
other
one
is
hedge
mode.
In
Hatch
mode
you
can
have
a
short
and
alone
in
the
same
market,
for
example,
if
you
musicd,
so
that's
how
you
can
set
the
position
mode.
If
you
have
any
questions
about
this,
let
me
know
in
the
chat,
but
that's
how
it
works,
and
the
main
difference
is
that
in
one
you
can
just
have
one
type
of
position
or
long
or
short
in
the
other.
One
you're
gonna
have
the
two
of
them.
At
the
same
time,
in
the
same
Market,
then
we
have.
A
A
A
I
want
to
sell
at
this
price
or
I,
want
to
go
market
and
buy
at
this
price,
and
so
so,
but
but
in
this
case
in
the
perpetuous
connectors
as
you
can
have
position
modes
and
you
can
have
a
long
and
a
short
at
the
same
time,
if
you
place
an
order,
are
you
increasing
in
the
long
position
or
are
you
reducing
the
sharp
position?
Okay,
that's
why
we
have
to
split
this
a
these
responsibilities
and
we
have
we
have
another
parameter
when
we
are
placing
orders.
That
is
a
position
action.
A
So
if
the
position
action
is
open,
the
order
will
intend
to
increase
the
size
of
the
position.
If
the
position
action
is
closed,
the
the
order
will
try
to
reduce
the
position
that
you
have
I
didn't
mention
this
before,
because
I
hope
that
you
know
this,
but
it
is
not
redundant.
I
can
I
can
I
can
say
it.
A
So
when
you
the
another
difference
between
the
spot
on
the
perpetuous
connector,
when
we
talk
about
that
contract
and
you
you're
betting,
that
you
that
the
price
will
go
up
and
you
are
not
buying,
the
asset
is
because
you
are
buying
a
position.
So
when
you
accept
you
get
an
execution
in
the
market
in
a
spot
connector
when
you
place
an
order,
a
limit
order
to
buy
and
that
already
gets
executed,
you
get
the
tokens
to
your
to
your
balance
in
the
perpetuous.
A
So
well,
now,
let's
check
about
the
properties
and
methods
that
you
can
use
from
perpetuals
connectors,
so
the
properties,
the
difference
between
properties
and
methods,
I,
write,
I
wrote
this
with
self.
Just
don't
don't
confuse
you
that
you
can
use
this
method
as
you
want.
This
is
a
shouts
like
you.
Can
you
to
use
these
methods?
You
have
to
use
the
instance
of
the
connector
that
you
want
to
use
that
that
reperto's
connectors,
that
you
want
to
use
and
the
difference
between
properties
and
methods.
A
I
can
show
you
this
in
the
in
the
code
easily,
but
if,
for
example,
if
I
go
to
Perpetual
derivative
pie
base,
when
a
method
has
this,
this
is
more
like
python
stuff.
This
is
not
like
related
to
to
perpetuals
and
other
stuff,
but
when
you
have
this
decorator
here
that
says
property
to
call
this
a
method
from
another
file.
When
you
are
using
an
instance
of
this
class,
you
don't
have
to
place
this
these
brackets.
A
So
that's
why,
as
you
can
see
here,
you
don't
have
brackets,
and
here
you
have
the
brackets
so,
which
are
the
most
common
properties
that
you
can
check
is
the
funding
people
interval
is
every
once
this
funding
fee
is
executed,
the
position
mode-
if
this
is
one
way
or
hedge,
the
budget
Checker-
that
this
will
let
you
adjust
a
another
candidate
to
your
balance
and
check.
If
you
have
enough
balls
to
place
the
order
or
not,
then
we
have
another
one.
That
is
account
positions.
This
is
a
dictionary.
A
A
A
So
this
this
is
one
of
the
of
the
most
important
properties
that
probably
you
are
going
to
use
to
check
the
positions
that
you
have
open
in
that
Exchange.
Then
you
have
the
trading
pairs.
This
is
the
train
person.
The
connector
is
using
the
other
books.
Here
you
can
access
the
other
books
of
the
the
of
the
of
that
connector.
A
A
A
If
you
don't
have
the
position
mode
available,
this
will
through
this
will
raise
an
error.
Then
you
have
to
get
the
leverage.
This
is
similar.
This
is
the
this
will
retrieve
the
leverage
that
you
have
already
set
it
up
in
your
in
your
connector.
Then
you
can
set.
The
Leverage
is
a
level
trading
pair
leverage.
Some
exchanges
does
doesn't
allow
to
to
set
the
level
specific
for
a
trading
pair
so
well.
This
will
be
different
in
case
of
the
of
the
change.
Then
you
have
get
funding
info
for
a
specific
trading
pair.
A
In
this
case,
get
the
funding
info
will
retrieve
the
next
funding
rate,
and
you
will
have
information
about
the
index.
The
market
price,
when
the
funding
info,
the
funding
rate
will
happen
and
which
will
be
the
which
is
the
predicted
rate
that
we
have.
Then
we
have
the
get
order
book.
This
will
give
you
the
object
order
book
for
a
specific
trading
pair,
and
then
we
have
these
three
methods
that
are
buy,
sell
and
cancel.
A
As
I
mentioned
before,
when
you
are
buying
or
selling
in
a
perpetuous
Market,
you
can
increase
or
decrease
the
position
or
start
the
new
position.
So
that's
why
these
methods
here
are
the
the
I
put
like
these
symbols
here,
because
it's
just
the
same
of
of
spot
connector.
But
the
only
difference
is
that
the
position
action
is
not
included.
A
When
you
are
sending
a
you,
you
have
to
add
the
position
action
where
you're
saying
a
spot
Market
where
a
spot
order,
but
here
CES
is
necessary
because
you
have
to
say
if
this
order
is
to
open
a
new
position
of
or
if
this
open
order
is
to
close
one
of
the
positions
that
you
already
have
in
the
market.
So
that's
me
when
you
want
to
cancel.
You
just
need
the
order
ID.
So
that's
not
an
issue.
A
So
this
is
the
most
like
a
high
level,
which
are
the
things
that
you
are
going
to
use
of
perpetuous
connector,
and
then
we
have
some
things
that
I
that
I
found
when
I
was
using
some
of
the
con
of
the
connectors
right
now
and
building
like
on
a
script
that
will
let
you
is
is
a
like
a
directional
strategy.
Then
I
can
show
you,
which
are
the
things.
A
That
is,
that
this
script
is
doing,
but
mainly
is
receiving
a
signal
I'm
based
on
the
body
of
the
signal,
placing
a
long
or
a
short
position,
controlled
the
stop
loss
and
take
profit
inside
the
bot
for
each
signal
that
it
that
is
receiving.
So
it's
a
little
bit
complex
in
that
part,
because
I
am
like
making
independent
the
position
when,
when
you,
for
example,
send
an
order
to
open
a
position,
for
example
a
long
position,
and
then
you
send
another
order
to
open
a
position,
a
long
position.
A
It
won't
create
two
orders
or
two
positions
in
the
market.
It
will
show
in
the
two
orders
in
the
same
position.
So,
in
this
case,
what
I'm
building
is
like
make
all
the
signals,
independent
and
control
like
in
a
small
position
in
your
control
and
small
position
in
your
for
each
signal
that
you
receive
so
well
one
of
the
things
that
I
found
here
that
are
things
to
discuss
with
the
community.
What
do
you
think
about
this
is:
are
the
following:
when
you
run
the
stop
command,
the
bot
doesn't
close
the
position.
A
So
that's
one
of
the
things
that
I
found
when
I
was
working
on
it.
It's
like
it
cancels
all
the
orders,
but
it's
not
closing
the
open
positions
that
you
have
in
the
market
that
you
are
trading.
So
probably,
when
you
start
trading,
something
happens,
and
you
want
to
stop
because
there
is
an
issue
in
the
market.
Well,
the
bot
is
is
not
close
in
the
position.
A
This
is
one
of
the
things
that
I
found
solutions
for
this
is
to
add
that
to
the
stop
command
or
to
create
a
new
method
like
a
helper
method
in
one
strategy
that
shows
you
how
to
exit
all
the
positions
and
then
run
the
stop
command
inside
your
strategy.
A
Well
then,
another
thing
that
I
found
is
that
they
take
profit
and
stop
loss.
Orders
are
not
implemented.
This
is
not
like
a
another
detective.
This
is
I
already
know
this,
but
this
is
another
thing
to
discuss.
Do
you
think
that
we
should
implement
the
take
profit
and
stop
loss
orders
and
the
other?
The
last
thing
that
I
found
is
that
the
positions
are
not
updated
in
real
time
only
they
are
dated
with
events
and
rest
endpoints.
A
So
this
for
me,
is
an
issue
when
you
are
trying
to
check
this,
this
property,
the
easy
unrealized
p
l,
because
this
unrealized
p
l,
will
show
you
the
unrealized
piano
of
the
last
message
that
you
received,
for
example,
so
I
think
that
this
property
has
to
be
calculated
with
the
entry
price
and
the
current
price,
the
is
in
the
market,
so
that
would
be
a
real
real
that
will
be
real-time
updates
of
the
unrealized
piano.
A
So
well,
that's
that's
the
things
that
I
found.
I
I
would
like
to
know
what
you
think
about
this
stuff.
What
do
you
think
about
this
developers?
Connectors?
If
you
have
another
questions
that
I
can
answer
or
if
you
want
to
add
another
things
to
discuss
here
well
I
now,
I
I
will
wait
until
I.
Don't
know
if
you,
if
Carlito
I,
don't
know
if
the
chart
of
YouTube
is
available
or.
A
Next
time,
sorry
so
well,
that's
all
and
now
I
would
like
to
know
what
you
think
about
these
items.
What
do
you
think,
or
you
have
another
question
about
about
vitals
connectors.
A
I
wonder
if
it
will
be
easier,
less
potentially
confusing
if
we
have
close
method
to
explicitly
close
positions,
since
we
have
the
idea
anyway,
so
we
can
do
close.
Id,
okay,
I
think
that
that
could
be
a
good
Improvement
should
say
here.
So
we
have
to
figure
out
how
to
how
the
ID,
which
will
be
that
ID,
probably
the
position
ID
or
something
like
that.
It
should
be
something
like
that.
A
Normally
the
position
don't
have
the,
but
we
can
just
I
think
that
we
can
just
create
a
method
that
is
close,
save
that
close
and
trading
pair,
and
that
will
be
all
because
if
we
are
close
in
trading
pair
the
site
that
you
want
to
close,
probably
that
will
be
I.
Think
enough,
but
well
you
we
can
review
it.
We
we
the
next
thing
to
do
that.
I,
think
that
will
be
to
create.
If
you
want
to
do
it,
you
can
create
a.
A
A
So
one
of
the
solutions
that
we
propose
is
to
create
three
tiers
of
connectors.
That
will
be
gold,
silver
and
bronze
connectors
and
those
tiers
will
be
Define
it
or
bought
it
by
the
community.
The
main
idea
is
to
that.
The
community
can
trust
in
the
connectors
that
are
in
the
gold
on
the
silver
tier
and
and
the
people.
A
The
community
also
will
know
that
the
connectors
are
in
the
bronze
tier
are
connectors
that
we
are,
we
don't
really
maintain,
they
are
like
Community
connectors
and
we
are
not
encouraging
the
people
to
use
those
connectors.
A
So
the
idea
is
to
make
a
boat
every
three
months
with
all
the
community
and
select,
which
are
the
connectors,
that
we
want
to
tag
as
gold,
which
are
the
connectors
of
silver
and
which
are
going
to
do
so.
We
want
to
dial
as
bronze.
The
idea
of
the
gold
connectors
is
that
a
the
value
collectors
are
going
to
be
maintained
by
ourselves.
Probably
I
will
be
the
one
that
will
be
coding
or
fixing
the
connectors
are.
Gold
policy
will
be
do
the
same
for
the
Gateway
connectors
are
gold.
A
The
silver
connectors
are
going
to
be
fixed
by
community
members
based
on
bounties
that
we
are
going
to
offer
and
then
the
bronze
connectors
are
going
to
be
maintained
by
the
community,
but
we
are
not
going
to
where
we
are
not
going
to
to
ask
them
to
fix
it
or
all
that
stuff
can
be
founded.
That's
that's
the
approach
that
we
that
we
have
with
that.
I
don't
know
Mike.
A
A
The
thing
here,
I
was
working
with
this
the
last
week
with
the
directional
strategy,
and
the
big
thing
here
is
that
when
you
send
an
order
that
order
has
an
has
an
order,
ID
yeah,
so
you
send
another,
for
example,
a
limit
order
that
limit
order
can
be
filled
with
one
trade
or
multiple
trades,
based
on
the
amount
of
your
order,
but
you
have
that
order,
and
you
have
that
order
that
is
open
with
that
specific
amount.
A
So
when
you
open,
when
you
open
an
order
with
a
specific
amount,
you
will
have
that
a
that
position.
The
position
will
be
created
with
the
amount
of
your
order
so
yeah,
but
I
I,
based
on
what
you
are
saying:
I,
simplify
that
stuff,
just
with
the
average
executed
amount
so
for
an
order.
A
We
we
can
have
the
average
executed
amount
of
that
order.
That
will
be
the
average
of
amount
of
the
average
of
price
of
all
the
trades
that
are
inside
that
order.
So
we
can
take.
We
can
call
that
order
like
an
mini
position
or
I,
don't
know
the
name,
but
that
would
be
like
in
a
mini
position.
A
A
Take
profit
will
be
this
percentage
and
stop.
Those
will
be
this
percentage
and
it
gets
the
order.
It
creates
the
first
order
and
then
controls
the
execution
of
all
the
other
things.
It's
a
little
bit
complex
to
explain
you
like
this,
but
I
will
create
a
video
soon
to
to
show
you
how
it
how
this
works,
but
that's
a
one
of
the
the
things
that
we
we
have.
We
we
have
to
solve
and
make
it
easier
to
use
for
the
community,
because
right
now
it's
a
little
bit
difficult
to
create.
A
Mac
Gaines
also
said
also
maybe
I
asked
before,
but
if
they
need
to
tell
how
much
our
Channel
Works
it's
not
working
with
heels,
he
also
I
Max
I
answered
he's,
not
working
yeah.
We
we
perpetuals,
but
you
can
create
a
script
to
adopt
it,
and
so
Sayer
says
yes,
but
you
can
tag
some
things
to
the
end
for
partial
fuse.
A
If
you,
if
you
have,
this,
is
one
of
the
things
that
I
would
like
to
to
say
here.
If
you
have
some
mechanics
that
you
want
to
present
about
how
you
will?
How
would
you
like
to
manage
the
Perpetual
orders
on
the
perpetual's
positions
and
other
stuff
I
would
like
to
know
so
to
know
if
you
already
are
using
some
kind
of
mechanics
to
make
it
a
easier,
and
we
can
try
to
adapt
that
to
hamimot
o
says.
Would
we
want
to
have
a
transition
from
strategies
to
Scripts?
A
Well,
Memento.
That's
a
good
question,
because
yeah
we
want
to
move
from
strategies
to
Scripts
or
to
create
more
examples
of
scripts,
because
the
people
has
the
people
that
wants
to
start
building
things
with
hummingbot
and
they
are
trying
to
create
the
strategies
they
have
like
a
high
high
barrier
to
start
coding.
They
don't
know
how,
where
to
start,
how
the
config
Mark
works
and
all
that
stuff.
A
So
the
easiest
way
to
get
started
with
the
scripts
and
has
the
same
power
of
the
strategies,
the
only
thing
that
they
are
in
Python
right
now.
But
then,
if
they
like
the
strategy,
they
can
upgrade
the
script
to
create
a
strategy
to
make
it
configurable.
For
me,
I
would
prefer
to
start
using
more
the
scripts
and
improve
the
scripts
than
user
strategies
well,
their
my
games
also
said
correct.
It
will
be
average
the
whole
position
with
each
other
or
the
right,
but
intentionally
I.
A
Yeah
I'm
against.
Well,
that's
exactly
what
I
was
trying
to
do
the
last
week
to
create
a
thing
that
managed
the
position
like
independent
from
the
the
other
one.
A
So
that's
one
of
the
things
that
I
that
I
was
that
I
am
doing
so
also
soothsayer,
says
I
think
it
might
be
useful
to
have
two
types
of
ID:
an
open
position:
ID
versus
fillet
ID,
for
example.
If
you
want
to
do
an
auto
trading,
stop
five
percent
for
a
particular
order,
especially
user.
If
you
place
a
large
order
as
Market
order
and
you
get
multiple
fields.
A
Okay,
yeah
I
should
say
you're
I
agree
with
you.
That's
that's
why
I
was
I
was
doing
this.
Let
me,
let
me
show
you
quickly
this,
how
I'm
building
this
stuff.
This
is
just
a
draft
so
terminal.
A
In
this
case,
where
I
am
what
I
am
doing
is
just
getting
a
signal
in
this
case,
I
create
this
fake
signal.
Now
this
will
be
something
that
will
come
from
the
outside
and
this
signal
will
be
managed
by
the
single
executor
that
will
receive
the
information
of
the
signal.
This
will
be
like
the
ID
that
you
are
mentioned.
This
is
like
hey.
The
idea
of
this
position
is
420.,
then,
the
time
sample
of
the
signal,
the
value.
This
is
because
it's
a
signal
is
from
-1
to
1.
A
Is
there
is
a
range
of
the
signal,
then
the
trading
pair
and
the
exchange,
and
is
the
position
config.
This
has
the
information
of
the
amount,
the
price,
the
other
type,
the
time
limit
and
the
take
profit
and
stop
loss
I,
don't
only
use,
stop
loss
and
take
profit
I,
also
added
a
time
limit
based
on
the
territory
of
Marco
Lopez.
A
A
A
So,
as
you
can
see
here
when
I
start
the
strategy,
the
first
thing
that
is
doing
is
getting
the
signal.
When
it
gets
a
signal,
it
will
try
to
open
the
position.
The
time
limit
is
here.
This
is,
for
example,
120
seconds.
This
is
a
stop
loss
under
the
current
price
on
the
take
profit.
So
if
you
check
the
market,
the
market
has
this
position
open
order
and
it's
checking
the
market
right
now.
A
I
am
allowing
this
to
have
one
order
at
the
same
time
in
in
Us
in
the
same
trading
pair
and
once
this
time
limit
gets
executed.
Well,
this
case
is
very
yes.
The
time
limit
is
when
there
are
three
barriers
in
the
position.
It's
like
you
can
open
the
position
and
you
will
control
the
position
if
the
time
limit,
if
the
position
will
be
valid,
because
it
is
this,
this
is
more
thing.
Like
you
receive
a
signal.
The
signal
is
valid
for
two
minutes.
A
So
what
is
this
doing
is
like
you
receive
a
signal
with
a
time
limit,
with
a
stop
loss
and
with
a
take
profit,
you
create
the
three
barriers.
That's
the
take.
Profit
barrier
will
be
a
limit
order.
The
time
limit
barrier
will
be
a
market
order
at
the
end
of
the
cycle
of
the
time
limit
that
you
define
for
the
signal
and
the
stop
loss
will
be
a
market
order
when
the
this
price
is
very
close
to
the
stop
loss.
So
this
is
independent
for
all
the
different
logic
that
we
are
managing
the
Bots.
A
You
can
have
multiple
of
these
of
these
executors
running.
At
the
same
time,
in
the
same
strategy,
this
is
one
of
the
things
that
I
would
like
to
introduce
as
smart
components
in
hummingbot,
but
well
right
now,
as
you
can
see,
the
time
limit
is
reached
and
you
will
see
that
the
order,
closing
position
by
time
limit
and
is
getting
a
new
signal
and
it's
starting
a
new
position
with
a
new
signal.
So
it's
like
it's
a
component
that
is
managing
all
the
information
by
itself
and
it
will
have
a
it.
A
A
We
have
those
three
orders
open
order,
the
one
that
opens
the
position
close
all
the
exit
order,
the
one
that
close
that
mini
position
and
well
the
information
about
the
take
profit
order
and
that
stuff,
so
I
think
that
we
can
make
something
in
the
middle
between
what
you
want
to
do
and
this.
This
is
just
a
draft
I
built
it
this
week.
So
this
is
just
a
draft.
Well,
the
idea
is
to
create
something
that
works
for
everyone.
I,
don't
know.
A
A
But
no,
the
thing
is
that
this
has
to
be
simple.
The
goal
that
we
have
here
in
hummingbot
is
to
make
things
that
works,
that
the
accomplish
the
needs
of
the
users,
but
can
be
a
simple
for
a
new
user
that
wants
to
use
that
feature.
So
we
have
to
make
a
balance
between
the
best
solution
and
the
worst
solution
with
a
friendly
interface.
So
you
have
to
to
find
a
point
in
the
middle
that
has
accomplished
the
the
two
things.
A
We
will
have
to
have
multiple
signal
types,
but
each
type
to
correspond
only
one
filter,
so
you
can
have
a
timeout
signal.
Stop
loss
signal
a
take
profit
signal.
Any
signal.
Competition
is
shared
method
about
other
signals
that
are
monitoring
the
same
trade.
So
when
one
signal
is
triggered
for
that
field
order.
A
The
thing
is
how
you
are
going
to
correlate.
The
signal
for
me
is
like
the
signal.
Well
for
me
is
the
the
signal
is
like
an
is
a
a
packet
of
information
that
says:
hey
I,
want
to
open
sorry
I
want
to
open
a
position
in
this
Mark.
Well,.
A
A
So
that
will
be
a
complete
signal
or
something
like
that
that
the
executor
has
to
control
the
complete
signal,
because,
if
not,
how
you're
going
to
know
if
you
are,
if
you
manage,
if
you
are
already
place
the
position
or
not,
if
the
position
is
open
and
all
that
stuff
well,
I
think
that
this
can
be.
We
are
not
going
to
solve
this
right
now.
A
This
can
be
a
proposal,
a
post
in
The,
Proposal
discussions
and
we're
going
to
talk
about
these
with
more
information
about
the
the
design
but
I
think
that
yeah
we
got.
We
got
an
absolutely
start
working
with
with
that,
for
example,
one
use
case
that
I
found
what
you
are
saying
is
if
I
start
a
signal
like
the
one
that
I
showed
you
before.
That
says,
foreign.
A
No
because
when
the
order
gets
executed,
you
don't
have
you
don't
have
that
open
Order
anymore,
you
will
have
a
position
that
open
order
will
have
an
average
executed
price
and
an
average
amount.
An
amount
executed
that
you
are
going
to
use
for
the
take
profit
and
stop
loss
and
then
to
cancel
the
position,
but
it
will
be
different.
B
A
A
Daniel
said
something
I
have
used
in
my
own
signal,
trade
Bots
was
to
include
the
candle
close
as
requirements
for
the
signal
to
execute.
If
it
will
not
match
the
signal
would
be
invalidated.
A
A
Yeah,
the
open
order
already
has
the
auto
console,
because
the
time
limit
also
cancels
the
open
order.
If.
A
A
How
was
how
I
was
thinking
this
this
system,
this
system
was
more
Thinking
by
and
what
is
used
as
a
machine
as
a
bot
that
receives
signal
from
the
outside
and
we
have
another
service
a
from
the
outside.
That
is
sending
signals,
and
there
you
have
all
the
logic
to
say:
hey
I
want
to
place
this
order
with
this
price
and
this
amount
and
that
stuff
and
then
heinberg
receives
the
signal
and
executes
and
controls
the
signal
until
it
reaches
the
time
limit.
The
take
profit
on
the
order,
stop
loss.
A
Yeah,
well
so
Sayer
says
yes,
but
it
will
be
partially
filled
by
the
time.
Auto
Council
is
okay:
okay,
okay,
okay,
okay,
yes,
but
that
that
is
one
of
the
things
that
I
really
I.
I
forget
I
forgot
to
manage
the
partial
field
with
the
open
order.
A
A
A
A
A
From
my
point
of
view,
that's
not
a
good
way
to
send
the
the
signal,
because
it's
just
a
price
you
can
send.
The
this
signal
also
has
a
price,
but
that
would
be
the
price
of
the
execution
is
more
efficient.
If
you
send
the
time
sum
that
you
are
generating
the
signal
done
sending
the
price
at
that
moment,
because
the
price
can
be
different
of
different
changes
or
when
you
receive
the
signal.
A
Yes,
well,
the
next
thing,
because
we
can
discuss
this
like
for
a
long
time.
The
next
thing
that
we
can
do
is
to
start
a
discussion
on
the
proposals.
Start
thinking
about
this
system
about
the
internet
lag.
That's
why
you
have
a
timestamp
and
a
time
limit.
It's
like
this
signal
is
generated
now
and
will
be
valid
for
I.
Don't
know
five
minutes.
So
if
the
execution
exceeds
those
limits,
then
the
signal
is
not
valid.
If
you
have
internet
log,
you
don't
want
to
execute
a
signal
with
internet
log.
A
We
can
we
can
only
discuss
this
in
our
proposal.
Discussions
I
think
that
these
kind
of
discussions
are
the
ones
that
will
increase,
improve
our
call.
Base
I
will
be
I
will
make
that
the
community
is
comfortable
with
we
are
doing,
and
so
say,
I
agree,
I
agree
with
your
with
your
idea
of
creating
more
signals
to,
for
example,
you
can
have
multiple,
multiple
positions
or
multiple
mini
executors
running.
A
At
the
same
time,
and
suddenly
you
receive
a
signal
of
cancel
all
positions
or
something
like
that,
and
they
both
will
have
to
stop
all
the
executors
and
cancel
all
the
the
signals.
Something
like
that.
That's
why
I
understand
right,
but
yeah
I
agree
we
got
we
can.
We
can
understand
this
and
create
a
free,
a
directional
framework
that
can
be
very
a
very
complex
but
well
in
this.
In
this
case,
I
tried
to
make
it
simple.
A
Just
manage
one
case
that
you
are
receiving
a
signal
that
says,
buy
or
sell
place
in
the
order
to
open
a
long
or
a
short
position
and
then
control
if
the
time
is
met
or
if
it
reaches
a
take
profit
or
you've
had
to
trigger
the
stop
loss.
That's
like
the
the
simplest
use
case
that
we
have
right
now,
but
well.
The
next
thing
that
I
will
do
is
to
create
a
thread
on
on
proposal
discussions.
A
You
can
start
commenting
there
a
we
can
start
commenting
there
to
to
what
we
want
to
do
about
this.
How
we
are
going
to
manage,
then
the
next
thing
will
be
to
add
a
plugin,
probably
with
the
mqtt
broker,
that
the
branch
is
already
available
to
test
or
we
can
create
a
server,
a
rest
server
or
something
like
that
to
make
the
connection
between
the
module
that
we'll
be
creating
the
signals
and
the
honeybots,
and
that
would
be
very
easy.
A
The
thing
is
that
if
all
this
complexity
is
coded
inside
ham
inbox-
and
that's
why
you
are
saying
Daniel
I,
think
and
that's
why
I
thought
about
this
too,
because
I
have
all
the
code
inside
hummingbot
right
now
and
if
I
only
create
a
a
signal
from
the
outside
and
the
bot,
and
the
signal
only
contains
the
time
the
value
of
the
signal,
the
trading
pair,
The
Exchange
and
the
configuration
of
the
position,
then
you
have
you,
don't
have
to
do
anything.
Honeybob
will
do
all
for
you.
A
B
A
The
yeah,
how
many
bodies-
that's
that's
one
of
the
ideas
of
this
directional
strategy-
is
a
base
of
operations.
Exactly
it's
like
you,
send
information
to
hamimot
and
honey
will
do
the
rest
for
you.
You
just
say:
I
want
to
execute
this
until
this
price,
this
price
and
this
time,
and
that
will
be
doing
that
we
will
be
doing
all
for
you
so
well.
A
I
hope
that
these
yeah
gets
better
or
while
other
people
can
start
working
on
it.
Probably
what
I
can
do
is
to
create
a
branch.
A
A
Well,
for
me,
I
think
that
that's
all
see
you
next
I
I
hope
that
you,
like
these
mini
lesson
stuff.
There
are
some
things
that
we
didn't
discuss,
but
I
can
add
them
to
the
thread.
These
are
the
the
when
you
stop
the
boat,
these
orders
are
not
implemented
and
the
positions
are
not
updated
in
real
time.
A
So
we
can
discuss
that
in
the
in
the
discussions
too
well
the
next
week
we're
going
to
have
another
mini
lesson
and
if
you
have
any
suggestions
about
the
format
also,
let
us
know
and
I
hope
that
this
was
useful
for
you
to
understand
how
the
connectors
work
at
high
level
and
which
are
the
things
that
we
can
do
with
with
Perpetual
connectors
so
well.