Python Ctrader Fix API
Installation
pip install ejtraderCT -U
or
python setup.py install
import
from ejtraderCT import Ctrader
import time
import logging
from datetime import datetime
logging.getLogger().setLevel(logging.INFO)
Fix login account and details
SERVER="h8.p.c-trader.cn"
BROKER="icmarkets"
LOGIN="3152339"
PASSWORD="393214"
CURRENCY="EUR"
api = Ctrader(SERVER,BROKER,LOGIN,PASSWORD,CURRENCY)
You can create market or pending order with the commands.
Market Orders
api.buy("EURUSD", 0.01, 1.18, 1.19)
api.sell("EURUSD", 0.01, 1.19, 1.18)
Limit Orders
api.buyLimit("EURUSD", 0.01, 1.17, 1.19, 1.18)
api.sellLimit("EURUSD", 0.01, 1.23, 1.17, 1.22)
Stop Orders
api.buyStop("EURUSD", 0.01, 1.20, 1.24, 1.22)
api.sellStop("EURUSD", 0.01, 1.19, 1.17, 1.18)
Positions
positions = api.positions()
print(positions)
for position in positions:
api.positionCloseById(position['pos_id'], position['amount'])
positions = api.positions()
print(positions)
Orders Manipulation
orders = api.orders()
print(orders)
for order in orders:
api.orderCancelById(order['ord_id'])
orders = api.orders()
print(orders)
cancel all Orders
api.cancel_all()
close all positions
api.close_all()
Future add comming soon
Modify pending orders
api.modify()
Real time Data and history
history = api.history("GBPUSD", "M5", int(datetime.now().timestamp()) - 10000)
# print(history)
Account information
accountInfo = api.accountInfo()
print(accountInfo)
print(accountInfo['broker'])
print(accountInfo['balance'])