std::unordered_set
has a template find
function in C++20. To make it work I define a custom hash and a custom equality compares as follows:
struct BotSettings
{
std::string type;
std::string name;
bool started;
};
std::unordered_set
has a template find
function in C++20. To make it work I define a custom hash and a custom equality compares as follows:
struct BotSettings
{
std::string type;
std::string name;
bool started;
};
I used a simple algorithm a got an interesting effect: the bot often buys at the peaks of the falling price. Below I provided some examples of buying the cryptocurrency on Binance crypto exchange:
DASH/USDT:
(more…)I get close reason: ‘Invalid UTF-8 code encountered.’ (code=1007) with QWebSocket
in the following scenario:
Binance
stream wss://stream.binance.com:9443/stream
with QWebSocket::open
.Binance
disconnects me when its servers load increases (because I have low-priority API) and I get close reason code=1000 that indicates a normal closure.QWebSocket::open
again, but Binance
closes the connection with close reason ‘Invalid UTF-8 code encountered.’ (code=1007) that indicates that an endpoint is terminating the connection because it has received data within a message that was not consistent with the type of the message (e.g., non-UTF-8 [RFC3629] data within a text message).The difficulty of reproducing the bug is that Binance
disconnects me rarely (once a day, for example) and experimentation with disconnecting the network cable from my machine does not have this effect, after I connect the cable back, QWebSocker
reconnects successfully. When I disconnect the network cable I get Error: ‘Unknown error’ (code=-1), Close reason: ” (code=1000).
It calculates the difference between 2.5 hour moving average (MA) and the current price, when the difference exceeds the threshold it buys:
(more…)Consider the code below with UB:
template <class Derived>
class A
{
public:
Derived * get() { return static_cast<Derived *>(this);}
private:
int m_a;
};
class B
{
public:
double m_b;
};
class X : public B, public A<X>
{
public:
int m_x;
};
int main()
{
A<X> a;
std::cout << a.get();
return 0;
}
When you mistakenly press power button your Windows 10 machine surprisingly shuts down. Switch it off with the following steps:
(more…)Below I provided the instruction on how to build Awl on Ubuntu 18 and 20.
On Ubuntu 18 you do an extra step to install CMake version >= 3.12:
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt update
Then do the following steps on both Ubuntu 18 and 20:
sudo apt install cmake
cmake --version
Coins FIS, BADGER and TORN did 3x, 2x and 2x respectively and I earned 50$ with my trading bot:
(more…)The basic idea is to calculate the difference with 10 minutes (600 seconds) moving and the current price, for example.
ASR/USDT:
(more…)