A Pancakeswap trading client (and bot) with limit orders, stop-loss, custom gas strategies, a GUI and much more.
- An ethereum/bsc address
- A Windows machine
- Not sure whether needed anymore: Visual C++ build tools (www.visualstudio.microsoft.com/visual-cpp-build-tools/)
-
Read prerequisites
-
Download the latest release or download "configfile.py" and "pancakeswap_bot.exe" from the repository.
-
Open "configfile.py" (with notepad for instance) and add your ethereum address and personal key at the bottom of the file between the quotation marks('').
... my_address = '' my_pk = ''
- Run "pancakeswap_bot.exe"
- Make sure configfile.py and bot.exe are in the same folder.
- Edit settings according to choice.
Main coin/token: The token or coin you want to trade tokens for and with
Buy/Sell boundary: The amount of balance (calculated in
Token address: Fill the token address of the token you want to trade (such as 0x0000000000000000000000000000000000000000)
Token name: The name of the token, fill it in yourself
Dec.: The amount of decimals the token operates with (18 is normal)
Sell($): The price you want the trader to sell the token for (0.01 = 1 dollar cent)
Buy($): The price you want the trader to buy the token for (0.01 = 1 dollar cent)
Activate and Trade with BNB: Toggle if you want to activate trading with your main-coin/token
Trade with BEP (Experimental!): Toggle if you want to trade the token with other BEP20 tokens of which this option is activated (see tokentokennumerator)
Stoploss: Toggle to activate stoploss (0.01 = 1 dollar cent)
Second(s) between checking price: Standard is 4 seconds. With a infura server with max 100.000tx/day 4 seconds is good for 2 activated token 24hr/day
Seconds waiting between trades: depends on how fast transactions finalize Max slippage: The maximum slippage you want to allow while trading (0.03 = 3%) $ to keep in ETH after trade: The amount of ETH/main token you want to keep after each trade (excluding transaction fees) in terms of $. GWEI: The amount of gas you want to use for each trade (5 GWEI is fine)
Different deposit address: Use this if you want the swap output to go to a different ethereum address (without extra fees).
Tokentokennumerator (Experimental!): This value lets you trade ERC tokens with each other. The code to create the value is as followed:
if pricetoken1usd > ((token1high + token1low) / 2) and pricetoken2usd < ((token2high + token2low) / 2): token1totoken2 = ((pricetoken1usd - token1low) / (token1high - token1low)) / ((pricetoken2usd - token2low) / (token2high - token2low))
If you dont want to wait till the token1 is sold for the maincoinoption, because you are uncertain whether token2 will still be at this price level or think that token1 will drop, you can use this function. To use this function, "Trade with ERC" should be activated for at least 2 tokens, and the highs and lows should be set seriously.
As an example, if the current price of token1 is $0.9 and its set "high"=$1 and "low"=$0, the value of this token is seen as "90%". Token2 also has a high of
- Recoded my uniswap bot to work with pancakeswap. This project was also made to fix bugs in the uniswap-bot, because the transaction fee's are so low.
- Some tokens or trading amounts are not possible to trade with, due to this issue: ethereum/web3.py#1634 This is the error-message you get: "Python int too large to convert to C ssize_". If you get this error its best to exclude the token (which probably has a very low price per token) or trade with lower amounts.
- Sloppy dinamic design of GUI
- Sometimes lag when updating names or when starting the bot (0-10 seconds)
- More: Let me know!
- Let the amount of decimals and the token-name be derived automatically (like in the uniswap-bot)
- Add pcs v1 support
- New, more user-friendly design
- Fix "Python int too large to convert to C ssize_"
(Depends on whether the application is used)
Donations: 0x6B1CeA1c27Bbb1428978dC3C0423642fDa404367