Trade Botu Promtu (GPT – Codex İçin)
IBKR hesabıma bağlanan ve AMD hissesi üzerinde otomatik işlem yapan bir Python trade botu kodla ve bu bot şunları yapsın:
- AMD fiyatını 1 dakikalık periyotlar halinde takip etsin.
- EMA Crossover stratejisini kullansın.
- EMA 9 kullansın (9 periyotluk kısa vadeli fiyat ortalaması).
- EMA 21 kullansın (21 periyotluk uzun vadeli fiyat ortalaması).
- EMA 9, EMA 21’in üzerine çıktığında AMD için al emri versin.
- EMA 9, EMA 21’in altına düştüğünde AMD sat emri versin.
- Sadece yeni bir geçiş gerçekleştiğinde işlem yapsın. Aynı sinyal devam ederken tekrar tekrar alım veya satım emri göndermesin.
- Aynı anda yalnızca bir AMD pozisyonu açık tutsun.
- Her işlemde 10.000 dolar kullansın ve bunun üzerine çıkmasın.
- Her işlem için zarar kes (stop-loss) kullansın. Stop-loss oranı %2 olsun.
- Günlük toplam zarar $1000 limite ulaştığında o gün artık yeni işlem açmasın.
- Gün sonunda açık AMD pozisyonu varsa otomatik olarak kapatsın ve gece boyunca pozisyon taşımasın.
- Yaptığı her alım ve satım işlemini kaydetsin ve bana basit bir durum takip ekranına işlem fiyatını, işlem nedenini ve mevcut kâr/zararı göstersin ve bu ekrandan botu istediğim zaman başlatabileceğim ve durdurabileceğim bir bu olsun.
Bu botu kodladıktan sonra bana dosyalarını iletmeni istiyorum. Botun otomatik kendi çalışması için ben bir VPS alıp, içerisinde bu botu kuracağım. VPS’e ayrıca Interactive Brokers’ın resmi IB Gateway uygulamasını kuracağım. Dolayısı ile botun IBKR API kullanımıyla uyumlu olmasını istiyorum. Tamamıyla ibkr üzerinden işlem yapmaya uygun ve özel bir bot olsun yani. Botu ona göre kodla.
Tüm bunlardan sonra sen ise hem VPS’e bu botu nasıl kuracağımı hem de botu ibkr hesabıma nasıl entegre edeceğimi adım adım anlatmanı istiyorum.
Trade Botu Komutları
1. Komut:
apt update && apt install -y xfce4 xfce4-terminal xrdp xorgxrdp dbus-x11 unzip curl ca-certificates2. Komut:
adduser trader3. Komut:
printf '%s\n' 'exec startxfce4' > /home/trader/.xsession
chown trader:trader /home/trader/.xsession
chmod 644 /home/trader/.xsession4. Komut
systemctl is-active xrdp5. Komut
ssh -N -L 13389:127.0.0.1:3389 root@VPS_IP6. Komut
mstsc /v:127.0.0.1:133897. Komut
mkdir -p ~/Downloads
cd ~/Downloads
curl --fail --location \
-o ibgateway-installer.sh \
https://download2.interactivebrokers.com/installers/ibgateway/stable-standalone/ibgateway-stable-standalone-linux-x64.sh
chmod +x ibgateway-installer.sh
./ibgateway-installer.sh8. Komut
apt update && apt install -y unzip curl ca-certificates
mkdir -p /root/amd-bot-kurulum
unzip -o /root/AMD_EMA_Bot.zip -d /root/amd-bot-kurulum
mkdir -p /opt/amd-bot
cp -a /root/amd-bot-kurulum/amd_bot/. /opt/amd-bot/
id tradebot >/dev/null 2>&1 || useradd --system --create-home --shell /usr/sbin/nologin tradebot
mkdir -p /opt/amd-bot/data
chown -R tradebot:tradebot /opt/amd-bot9. Komut
ls -l /opt/amd-bot/run.py
command -v uv || echo "uv bulunamadi"10. Komut
curl -LsSf https://astral.sh/uv/install.sh -o /root/uv-install.sh &&
UV_INSTALL_DIR=/opt/uv UV_NO_MODIFY_PATH=1 sh /root/uv-install.sh11. Komut
chmod -R go-w /opt/amd-bot
cd /opt/amd-bot
runuser -u tradebot -- env UV_PYTHON_INSTALL_DIR=/opt/amd-bot/python \
/opt/uv/uv venv --managed-python --python 3.11 --seed /opt/amd-bot/.venv12. Komut
runuser -u tradebot -- /opt/amd-bot/.venv/bin/python -m pip install \
-r /opt/amd-bot/requirements.txt13. Komut
/opt/amd-bot/.venv/bin/python --version14. Komut
mkdir -p /opt/amd-bot/vendor
curl --fail --location \
https://interactivebrokers.github.io/downloads/twsapi_macunix.1050.02.zip \
-o /opt/amd-bot/vendor/twsapi.zip &&
unzip -q -o /opt/amd-bot/vendor/twsapi.zip -d /opt/amd-bot/vendor
chown -R tradebot:tradebot /opt/amd-bot/vendor15. Komut
cd /opt/amd-bot/vendor/IBJts/source/pythonclient
runuser -u tradebot -- /opt/amd-bot/.venv/bin/python -m pip install .16. Komut
cd /opt/amd-bot
.venv/bin/python -c "import ibapi; print('IBKR API:', ibapi.__version__)"
runuser -u tradebot -- .venv/bin/python -m unittest discover -s tests -v17. Komut
cd /opt/amd-bot
cp -n config.example.json config.json
.venv/bin/python -c "import secrets; print(secrets.token_urlsafe(32))"18. Komut
nano /opt/amd-bot/config.json19. Komut
apt update && apt install -y nano20. Komut
nano /opt/amd-bot/config.json21. Komut
chown tradebot:tradebot /opt/amd-bot/config.json
chmod 600 /opt/amd-bot/config.json
cd /opt/amd-bot
runuser -u tradebot -- .venv/bin/python check_connection.py --config config.json22. Komut
cp /opt/amd-bot/deploy/amd-bot.service /etc/systemd/system/amd-bot.service
systemctl daemon-reload
systemctl enable --now amd-bot
systemctl status amd-bot --no-pager23. Komut
ssh -N -L 8787:127.0.0.1:8787 root@VPS_IP24. Komut
http://127.0.0.1:8787