Zum Inhalt springen

24unix

Mitglied
  • Gesamte Inhalte

    40
  • Benutzer seit

  • Letzter Besuch

Reputation in der Community

9 Neutral
  1. Ein wenig habe ich diese Woche geschafft, aber nicht so viel. Ich habe die Trennung zwischen Frontend und Backend weiter ausgebaut, per Timer (das, was man vor systemd mit cron gemacht hat) werden nun alle 10 Minuten die relevanten Daten zu den Coins geholt und in die DB geschrieben, ich schaue morgen mal, wie viel das ist, sind ja nur ein paar Bytes pro Zeile, ich denke, auf eine 20GB Partition kann ich Jahre mitplotten.
  2. Unverändert 😞 Mir kam leider was anderes dazwischen. Ich hoffe, dass es nächste Woche weiter geht, aber man muss halt Prioritäten setzen. Aber vergessen habe ich die Baustelle nicht
  3. Jetzt häng eich hier gerade fest. Kann mir einer de alten Hasen erklären, was für eine Order ich da setzen soll? Ich habe links P2p Order, Margin Orders etc …
  4. Habe Lektion 3 jetzt komplett durch, konnte die Schleifen deutlich reduzieren, ob es lesbarer ist liegt im Auge des Betrachters … function updateAccountInfo($botID) { try { $this->binanceAccount = $this->binanceAPI->account(); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); } $exchangeInfo = []; try { $exchangeInfo = $this->binanceAPI->exchangeInfo(); } catch (Exception $e) { echo $e->getMessage(); } $botBaseCurrency = $this->bot->getBaseCurrency($botID); $base = array_search($botBaseCurrency, array_column($this->binanceAccount['balances'], 'asset')); $baseCurrency = $this->binanceAccount['balances'][$base]; $coins = $this->bot->getCoins($botID); $coinValues = []; foreach ($coins as $coin) { $coinID = array_search($coin->name, array_column($this->binanceAccount['balances'], 'asset')); // get rates $prevDay = []; try { echo("search: $coin->name"); // get base currency from Bot class if ($prevDayRaw = $this->binanceAPI->prevDay($coin->name . $botBaseCurrency)) { //print_r($prevDay); $prevDay['price'] = $prevDayRaw['lastPrice']; $prevDay['price24High'] = $prevDayRaw['highPrice']; $prevDay['price24Low'] = $prevDayRaw['lowPrice']; $this->storeMessage("fetched: " . $coin->name . $botBaseCurrency); } else { $this->storeMessage("error fetching: " . $coin->name . $botBaseCurrency); } } catch (Exception $e) { echo $e->getMessage(); } $rules = []; $filters = $exchangeInfo['symbols'][$coin->name . 'USDT']['filters']; $lotSizeID = array_search('LOT_SIZE', array_column($filters, 'filterType')); $rules['minQty'] = $exchangeInfo['symbols'][$coin->name . 'USDT']['filters'][$lotSizeID]['minQty']; $rules['minQtyPrecision'] = abs(floor(log10($rules['minQty']))); $minNotionalID = array_search('MIN_NOTIONAL', array_column($filters, 'filterType')); $rules['minNotional'] = $exchangeInfo['symbols'][$coin->name . 'USDT']['filters'][$minNotionalID]['minNotional']; $priceFilterID = array_search('PRICE_FILTER', array_column($filters, 'filterType')); $rules['tickSize'] = $exchangeInfo['symbols'][$coin->name . 'USDT']['filters'][$priceFilterID]['tickSize']; $rules['tickSizePrecision'] = abs(floor(log10($rules['tickSize']))); $balance = $this->binanceAccount['balances'][$coinID]; $coinValues[] = array_merge($prevDay, $balance, $rules); try { $binanceOpenOrder[$coin->name] = $this->binanceAPI->openOrders($coin->name . $botBaseCurrency); } catch(Exception $e) { echo $e->getMessage(); } } print_r($coinValues); // get all open orders } Edit: Etwas die Optik angepasst. https://y.24unix.net/v5e93
  5. Lass gut sein, ja? Du hast Recht und ich meine Ruhe. Nutze doch Google.
  6. Ich werde mir jetzt keine Google Konto anlegen und den GA installieren, um das direkt zu belegen. Fakt ist, Google speichert alles was sie kriegen können, sonst stellen die den Dienst ein. Programmieren tue ich seit Mitte der 80er … Beruflich seit den 90ern. Danke.
  7. Was meinst Du, warum die aktuelle Version kein Open Source mehr ist. TANSTAAFL. Alles, womit Google keinen Profit macht landet da: https://killedbygoogle.com/ Aber benutze es ruhig weiter, ist nicht mein Problem. Ich will hier über BitCoins lernen und einen Bot bauen.
  8. Dafür habe ich schon was auf stackoverflow gefunden, probiere ich später mal aus.
  9. Die GA ist mit Deinen Account verknüpft. Google speichert alles.
  10. Warum tust Du es dann? Ich will hier eigentlich nicht über Google diskutieren. Öffne den QR Code mit einem QR-Code Scanner, dann geht die Binance-Seite auf. In dem Moment weiß die Google App, wo Du sie verwendest.
  11. Ah … Jetzt habe ich es glaube ich. Die API kann das nicht (habe vorhin den Code überflogen, nicht gefunden). Immerhin kann man sie jetzt direkt per Composer installieren … OK, ich kann selber per curl eine connection machen, auf den Result Code testen und ab dafür. Brauche ich ja nur, wenn die Basis-Config oder eine botspezifische geändert wird.
  12. Aber ich mache doch keinen direkten curl Aufruf, sondern nutze die API?!?
  13. Ich habe oben den Code eingefügt. Das geht, ohne Fehler, egal ob der Key valid ist oder nicht. Knallen tut es bei einem falschen Key dann hier: ( ! ) Fatal error: Uncaught Error: Typed property BalanceBot::$binanceAccount must not be accessed before initialization in /var/www/virtual/24unix.net/bitcoin/htdocs/balancebot/Controller/BalanceBot.php on line 180 Oh, man kann doch Grafiken einfügen, lag dann wohl bisher an der Größe … Hmm, aber nur eine? Oder wieder zu groß? Das ist Zeile 180: $usdt = array_search('USDT', array_column($this->binanceAccount['balances'], 'asset'));
  14. Ja, wahrscheinlich 😞 Das kommt, als Textausgabe im Browser: Error: signedRequest error: {"code":-2014,"msg":"API-key format invalid."} Edit: Das ist mein Code // connect Binance API $this->binanceAPI = new API($this->config['default_api_key'], $this->config['default_api_secret']); Und ich suche einen Weg, programmatisch drauf zu reagieren, ob der Key richtig oder falsch war.
  15. Du scannst im GA den QR Code, und was steht da drin? Die URL von Binance … Ich bezweifle, dass dieses Missverständnis bei mir liegt. Aber eigentlich wollte ich über den Bot texten, nicht über Google 😹
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.