Ctrader Fix API
Project description
Python Ctrader Fix API
ToDo
- Account Information "not possible fix limitation"
- Market Position buy and sell
- Peding orders limit and stop
- Partial close
- Stop loss & Take profit
- Modify Orders
- Modify position
- real time bid & ask
Installation
Tested on python 3.7 to 3.9
pip install ejtraderCT -U
Or install from source
git clone https://github.com/ejtraderLabs/ejtraderCT
cd ejtraderCT
python setup.py install
Import librarys
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" # Host name
broker="icmarkets"
account="3152339"
password="393214"
currency="EUR"
api = Ctrader(server,broker,account,password,currency)
Real time quote
Subscribe to symbol
api.subscribe("EURUSD", "GBPUSD")
All symbols quote list
quote = api.quote()
print(quote)
# Output
{'EURUSD': {'bid': 1.02616, 'ask': 1.02618}, 'GBPUSD': {'bid': 1.21358, 'ask': 1.21362}}
Single symbol quote
quote = api.quote("EURUSD")
print(quote)
# Output
{'bid': 1.02612, 'ask': 1.02614}
Market position and pending order.
Market Position
# Buy position
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.18
takeprofit = 1.19
api.buy(symbol, volume, stoploss, takeprofit)
# sell position
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.19
takeprofit = 1.18
api.sell(symbol, volume, stoploss, takeprofit)
Limit Orders
# Buy limit order
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.17
takeprofit = 1.19
price = 1.18 # entry price
api.buyLimit(symbol, volume, stoploss, takeprofit, price)
# Sell limit order
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.23
takeprofit = 1.17
price = 1.22 # entry price
api.sellLimit(symbol, volume, stoploss, takeprofit, price)
Stop Orders
# Buy stop order
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.20
takeprofit = 1.24
price = 1.22 # entry price
api.buyStop(symbol, volume, stoploss, takeprofit, price)
# Sell stop order
symbol = "EURUSD"
volume = 0.01 # position size
stoploss = 1.19
takeprofit = 1.17
price = 1.18 # entry price
api.sellStop(symbol, volume, stoploss, takeprofit, price)
List Positions
positions = api.positions()
print(positions)
List limit and stop Orders
orders = api.orders()
print(orders)
Cancle order by id
orders = api.orders()
for order in orders:
api.orderCancelById(order['ord_id'])
Close position by id
for position in positions:
api.positionCloseById(position['pos_id'], position['amount'])
cancel all Orders
api.cancel_all()
close all positions
api.close_all()
Modify Position SL and TP
id = "position id "
stoploss = "stop loss price""
takeprofit "stop gain price"
api.positionModify(id, stoploss, takeprofit)
Modify order Order SL and TP and entry price
id = "order id "
stoploss = "stop loss price""
takeprofit= "stop gain price"
price = "limit or stop entry price"
api.orderModify(id, stoploss, takeprofit, price)
Thanks for
@HarukaMa @douglasbarros
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ejtraderCT-1.0.7.tar.gz
(27.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ejtraderCT-1.0.7.tar.gz.
File metadata
- Download URL: ejtraderCT-1.0.7.tar.gz
- Upload date:
- Size: 27.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fa2b1eb95f45fa960310073d20dd2b891d26e2d176dd48936e7f03b7780a298
|
|
| MD5 |
ec035eb53860f351fbce0f14192a5205
|
|
| BLAKE2b-256 |
e5fb2ee4217cd2ea725b6f6dd2d0b525b6127d5c5e9f8f4f6441cbdc598e4ee0
|
File details
Details for the file ejtraderCT-1.0.7-py3-none-any.whl.
File metadata
- Download URL: ejtraderCT-1.0.7-py3-none-any.whl
- Upload date:
- Size: 26.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
744b9362640efdf6b68e400881bcfa080e2a1b6dd921003ea0b8102b6bf8a7e4
|
|
| MD5 |
9fdb8dd21e52e7f890a8d4f973599a1f
|
|
| BLAKE2b-256 |
601fff64247c972c8476c0fffd5f18ae8f656ac943b8b7b5202f687a6acc2b80
|