• 29-05-2023, 02:38:47
    #1
    Şöyle bir hata alıyorum

    C:\Users\ayfb1\Desktop\1>python b.py
    Traceback (most recent call last):
      File "b.py", line 13, in <module>
        order = client.order_market_sell(
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 1641, in order_market_sell
        return self.order_market(**params)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 1585, in order_market
        return self.create_order(**params)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 1447, in create_order
        return self._post('order', True, data=params)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 417, in _post
        return self._request_api('post', path, signed, version, **kwargs)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 377, in _request_api
        return self._request(method, uri, signed, **kwargs)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 358, in _request
        return self._handle_response(self.response)
      File "C:\Users\ayfb1\AppData\Local\Programs\Python\Python38\lib\site-packages\binance\client.py", line 367, in _handle_response
        raise BinanceAPIException(response, response.status_code, response.text)
    binance.exceptions.BinanceAPIException: APIError(code=-1013): Filter failure: LOT_SIZE
    
    C:\Users\ayfb1\Desktop\1>
    Kodum
    Dedim belki tüm miktarı satamıyor %99unu satsın bundada hata aldım.
    Sanırım ondalıklı değerler yapamadığım için hata alıyorum.

    import os
    from binance.client import Client
    from binance.enums import *
    
    api_key = ''
    api_secret = ''
    
    client = Client(api_key, api_secret)
    
    symbol = 'CAKEUSDT'
    
    # Mevcut CAKEUSDT bakiyenizi alın
    cakeusdt_balance = float(client.get_asset_balance(asset='CAKE')['free'])
    cakeusdt_balance1 = cakeusdt_balance * 0.99
    print(cakeusdt_balance)
    print(cakeusdt_balance1)
    cakeusdt_balance = cakeusdt_balance1
    
    
    # Eğer pozisyonunuz varsa piyasa emri verin
    if cakeusdt_balance > 0:
        order = client.create_order(
            symbol=symbol,
            side=SIDE_SELL,
            type=ORDER_TYPE_MARKET,
            quantity=cakeusdt_balance)
        
        print(order)
    else:
        print('You do not have any CAKEUSDT to sell.')
  • 29-05-2023, 02:53:05
    #2
    Örneğin X coininde 0.01 ve katları şeklinde işlem yapılabilir fakat siz 0.0152 adet işlem yapmaya çalışıyorsunuz
  • 29-05-2023, 02:54:30
    #3
    Min./Max. satış limitine de takılıyor olabilirsiniz hocam en azından binance docs da bu şekilde gözüküyor.

    binance api'nin error codes kısmına buradan göz atarsanız görebilirsiniz.
    https://binance-docs.github.io/apido...ures-spot-algo

    farklı bir paritede deneyebilir misiniz ?
  • 29-05-2023, 02:56:37
    #4
    lordyazilim adlı üyeden alıntı: mesajı görüntüle
    Örneğin X coininde 0.01 ve katları şeklinde işlem yapılabilir fakat siz 0.0152 adet işlem yapmaya çalışıyorsunuz
    mkrk34 adlı üyeden alıntı: mesajı görüntüle
    Min./Max. satış limitine de takılıyor olabilirsiniz hocam en azından binance docs da bu şekilde gözüküyor.

    binance api'nin error codes kısmına buradan göz atarsanız görebilirsiniz.
    https://binance-docs.github.io/apido...ures-spot-algo

    farklı bir paritede deneyebilir misiniz ?
    Çözdüm teşekkürler.
    int olarak değer girmem gerekiyor. Tam sayı olarak.
    Float olarak girince satış adedi hata veriyor.
    Örnek 6.36 adet coin var bende %1 düşürtüp 6.30 girdim misal olmadı. (%1 düşürtme belki çalışır diye yaptım.)
    Sadece 6 girdim oldu.
    Ondalıklı değerlerde hata veriyor.
  • 29-05-2023, 03:07:44
    #5
    Python Coder
    A.AY adlı üyeden alıntı: mesajı görüntüle
    Çözdüm teşekkürler.
    int olarak değer girmem gerekiyor. Tam sayı olarak.
    Float olarak girince satış adedi hata veriyor.
    Örnek 6.36 adet coin var bende %1 düşürtüp 6.30 girdim misal olmadı. (%1 düşürtme belki çalışır diye yaptım.)
    Sadece 6 girdim oldu.
    Ondalıklı değerlerde hata veriyor.
    Her coin için virgülden sonra belirli rakam devam ediyor. Tek coin için işlem yapacaksanız sorun yok fakat çoklu coinler için virgülden sonra kaç basamak devam ettiğine göre kodu düzenlemeniz gerekir. Bu kütüphaneyle ilgili herhangi bir sorun yaşarsanız veya geliştirmeye ihtiyacınız olursa yardımcı olabilirim, uzun yıllar çalıştım bu konuda
  • 29-05-2023, 18:31:12
    #6
    @keremyagan bu işin piridir. daha önce 4 adet python kripto bot çalışmamız oldu. ve ilgili alakalı bir arkadaş.
  • 30-05-2023, 00:20:21
    #7
    Her coin için ayrı olarak bir round değeri girmeniz gerekiyor, BTC için 5 Cake için ise 2
    Örn:


    roundValue = 2
    cakeusdt_balance = round(cakeusdt_balance1,roundValue)
  • 24-06-2023, 02:58:20
    #8
    Bir sürü ticaret denemesi yaptım. Tam oldu diyorsun bir sıkıntı çıkıyor. Fakat aşağıdaki fonksiyonla işi çözmüştüm. math import etmeyi unutma.

    Girintileri sen halledersin.
    def get_precise_quantity(symbol,quantity):
    info = binance_client.futures_exchange_info()
    for item in info['symbols']:
    if(item['symbol'] == symbol):
    for f in item['filters']:
    if f['filterType'] == 'LOT_SIZE':
    step_size = float(f['stepSize'])
    break
    precision = int(round(-math.log(step_size, 10), 0))
    quantity = float(round(quantity, precision))
    return quantity
    
    order_amount = 10
    kaldirac = 20
    
    guncel_price = binance_client.get_symbol_ticker(symbol=sembol)
    quantity = float(order_amount/float(guncel_price['price']))*kaldirac
    quantity = get_precise_quantity(symbol = str(sembol),quantity = quantity)
    
    #gibi