You are viewing a single comment's thread:

RE: [ENG/ITA] Earning HIVE Thanks to My Scripts: Bridges Arbitrage and Grid Trading

Figurati! Non sai quanto mi fa piacere ricevere domande e confrontarmi con qualcuno su questi argomenti :) mi aiuta ad imparare!

Il codice seguente, se ho capito bene, crea un ordine di vendita di Hive al prezzo sell_price.

Sì, anche se, per essere più precisi, la parte a cui ti riferisci si occupa di vendere HBD al prezzo sell_price

        if float(hbd) > amount:
            sell_price = round(highest + diff * highest / 100, 4)
            print("Looking to sell HBD...")

            sell = place_sell_order(
                account, sell_price, amount, market
            )  # Buy HIVE, sell HBD
            time.sleep(3)

Mentre la parte che vende Hive (al prezzo buy_price) è quella dopo:

        if float(hive) > amount * lowest:
            buy_price = round(lowest - diff * lowest / 100, 4)
            print("Looking to sell HIVE...")

            buy = place_buy_order(
                account, buy_price, amount, market
            )  # Sell HIVE, buy HBD
            time.sleep(3)

Se il prezzo dell'hive è più basso round(highest + diff * highest / 100, 4), viene chiamata lo stesso la funzione 'place_sell_order', ma l'ordine non viene eseguito, mentre se l'hive è maggiore di round(highest + diff * highest / 100, 4), l'ordine viene eseguito e gli hive vengono venduti (cioè convertiti in Hbd).

Qui è un po' diverso perchè la condizione che innesca la creazione o meno di un ordine è questa (nel caso di vendita di HIVE, ad esempio):

        if float(hive) > amount * lowest:

Quindi, se il mio balance (float(hive) è maggiore dell'ammontare che intendo vendere (amount * lowest), allora lo script procede con la parte successiva e crea l'ordine.

Se invece il mio balance è uguale o minore, allora l'ordine non viene creato e si passa alla successiva iterazione del for loop.

Questa parte qui invece si occupa di determinare il prezzo di vendita (sempre di HIVE in questo caso):

buy_price = round(lowest - diff * lowest / 100, 4)

Per cui la logica è: verifico se ho balance sufficiente per creare un ordine con l'importo che ho scelto; se ce l'ho, calcolo il prezzo a cui voglio vendere e creo l'ordine chiamando la funzione place_buy_order(account, buy_price, amount, market) o place_sell_order(account, buy_price, amount, market) (che sono due funzioni della libreria beem).

Spero di essere stato chiaro, perchè il mio codice di sicuro non lo è 🤣

1.4E-7 BEE
2 comments

Grazie mille, ma devo rifletterci perchè non mi è chiaro.
Intanto partiamo dalle base, ti chiedo: lowest e highest cosa sono? Variabili dinamiche o cablate? Il prezzo più basso e più alto dell'hive?

0.00000233 BEE

A proposito di: if float(hive) > amount * lowest:
(vend hive per comprare hbd)

amount è la quantità di hbd (supponiamo 10) che voglio comprare. Supponiamo che 1 hbd valga 3.8 hive. quindi 10 * 3.8 = 38 hive. Devo avere almeno 38 hive per comprare 10 hbd. Ovviamente vendo gli hive quando il prezzo degli hbd è minore (lowest). Lowest per cui è conveniente comprare hbd. lowest è cablato o dinamico?

0.00000234 BEE