public class QuoteClient
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
ConGroup |
_Account |
int |
_AccountMode |
ConSymbolGroup[] |
_Groups |
boolean |
_IsDemo |
int |
_SleepTime |
double |
Balance |
boolean |
CalculateTradeProps
Flag, allowing to calculate the parameters of trade:
AccountProfit, AccountEquity, AccountMargin, AccountFreeMargin.
|
Order[] |
ClosedOrders |
java.time.LocalDateTime |
ClosedOrdersFrom |
java.time.LocalDateTime |
ClosedOrdersTo |
online.mtapi.mt4.QuoteCmdHandler |
CmdHandler |
int |
ConnectTimeout |
double |
Credit |
int |
DisconnectTimeout |
double |
Equity |
double |
FreeMargin |
online.mtapi.mt4.HighLow |
HighLow |
int |
Leverage |
Logger |
Log |
java.lang.String |
LoginIdWebServerUrl |
double |
Margin |
online.mtapi.mt4.MT4Symbol |
MT4Symbol |
java.lang.String |
Name |
Event<ConnectEventHandler> |
OnConnect
Connect event.
|
Event<DisconnectEventHandler> |
OnDisconnect
Disconnect event.
|
Event<OrderUpdateEventHandler> |
OnOrderUpdate
Order status changed event.
|
Event<QuoteEventHandler> |
OnQuote
New quote event.
|
Event<QuoteHistoryEventHandler> |
OnQuoteHistory
Quote history event.
|
java.lang.String |
Password |
static java.lang.String |
PathDecompress |
java.lang.String |
PathForSavingSrv
Path for saving .srv files.
|
java.lang.String |
PathForSavingSym
Path for saving .sym files.
|
double |
Profit |
ServerInfo |
SrvInfo |
java.time.LocalDateTime |
Time |
int |
User
Account number.
|
Constructor and Description |
---|
QuoteClient(int user,
java.lang.String password,
java.lang.String host,
int port)
Initialize quote client.
|
QuoteClient(int user,
java.lang.String password,
java.lang.String host,
int port,
java.time.LocalDateTime closedOrdersFrom,
java.time.LocalDateTime closedOrdersTo)
Initialize quote client to give history of closed orders.
|
QuoteClient(int user,
java.lang.String password,
java.lang.String host,
int port,
java.lang.String proxyHost,
int proxyPort,
java.lang.String proxyUser,
java.lang.String proxyPass)
Initialize quote client via proxy.
|
QuoteClient(int user,
java.lang.String password,
java.lang.String host,
int port,
java.lang.String proxyHost,
int proxyPort,
java.lang.String proxyUser,
java.lang.String proxyPass,
java.time.LocalDateTime closedOrdersFrom,
java.time.LocalDateTime closedOrdersTo)
Initialize quote client via proxy to give history of closed orders.
|
Modifier and Type | Method and Description |
---|---|
ConGroup |
Account()
Various account information.
|
double |
AccountBalance()
Account balance.
|
double |
AccountCredit()
Account credit.
|
double |
AccountEquity()
Account equity.
|
double |
AccountFreeMargin()
Account free margin.
|
int |
AccountLeverage()
Account leverage.
|
double |
AccountMargin()
Account margin.
|
int |
AccountMode()
Account mode.
|
java.lang.String |
AccountName()
Currency name of the current account.
|
double |
AccountProfit()
Account profit.
|
double |
CalculateMargin(SymbolInfoEx info,
int leverage,
boolean bFlag,
double all_volume,
double delta_volume,
double all_open_price,
double all_margin_rate,
double buy_volume,
double buy_open_price,
double buy_margin_rate,
double sell_volume,
double sell_open_price,
double sell_margin_rate) |
double |
CalculateOrderProfit(Order order,
SymbolInfoEx info,
double bid,
double ask) |
void |
CalculateTradeProperties() |
void |
Connect()
Connect to server.
|
void |
ConnectAsync()
Connect to server without awiting reply from server.
|
boolean |
Connected()
Check connection state.
|
void |
Disconnect()
Disconnect from server.
|
Order[] |
DownloadOrderHistory(java.time.LocalDateTime from,
java.time.LocalDateTime to)
Returns closed orders.
|
void |
DownloadQuoteHistory(java.lang.String symbol,
Timeframe tf,
java.time.LocalDateTime from,
short count)
Request quote history.
|
static DemoAccount |
GetDemo(java.lang.String serverFilePath,
int leverage,
double balance,
java.lang.String name,
java.lang.String accountType,
java.lang.String country,
java.lang.String city,
java.lang.String state,
java.lang.String zip,
java.lang.String address,
java.lang.String phone,
java.lang.String email,
java.lang.String terminalCompany)
Get demo account.
|
static DemoAccount |
GetDemo(java.lang.String host,
int port,
int leverage,
double balance,
java.lang.String name,
java.lang.String accountType,
java.lang.String country,
java.lang.String city,
java.lang.String state,
java.lang.String zip,
java.lang.String address,
java.lang.String phone,
java.lang.String email,
java.lang.String terminalCompany)
Get demo account.
|
Order |
GetOpenedOrder(int ticket)
Get opened order by ticket.
|
Order[] |
GetOpenedOrders()
Returns opened orders.
|
QuoteEventArgs |
GetQuote(java.lang.String symbol)
Latest quote for the symbol.
|
boolean |
GetRate(java.lang.String currency,
online.mtapi.mt4.OutObject<double[]> out) |
ServerInfo |
GetServerInfo()
Get server info.
|
int |
getSleepTime()
Sleep time for MainThread of QuoteClient.
|
ConSymbolGroup |
GetSymbolGroup(java.lang.String symbol)
Symbol group name and description.
|
ConGroupSec |
GetSymbolGroupParams(java.lang.String symbol)
Symbol group parameters.
|
SymbolInfo |
GetSymbolInfo(java.lang.String symbol)
Get instrument parameters.
|
ConGroupSec[] |
GroupParameters()
Parameters for each group.
|
ConSymbolGroup[] |
Groups()
Symbol groups.
|
boolean |
IsDemoAccount()
Demo account flag.
|
boolean |
IsSubscribed(java.lang.String symbol)
Check subscribe trading instrument.
|
static Servers |
LoadSrv(java.lang.String serverFilePath)
Load only main server.
|
void |
onConnect(java.lang.Exception exception) |
void |
onDisconnect(java.lang.Exception exception) |
void |
onOrderUpdate(OrderUpdateEventArgs update,
double balance,
double credit) |
void |
onQuote(QuoteEventArgs quote) |
void |
onQuoteHistory(java.lang.String symbol,
Timeframe tf,
Bar[] bars) |
void |
readOrders(byte[] buf) |
int |
ServerBuild()
Server build.
|
java.time.LocalDateTime |
ServerTime()
Server time, refreshing goes with using incoming quotes.
|
void |
setSleepTime(int value) |
void |
Subscribe(java.lang.String symbol)
Subscribe trading instrument.
|
void |
Subscribe(java.lang.String[] symbols)
Subscribes multiple instruments.
|
java.lang.String[] |
Symbols()
List of avalible symbols.
|
void |
Unsubscribe(java.lang.String symbol)
Unsubscribe trading instrument.
|
void |
UpdateProfit() |
void |
UpdateSymbolsMargin() |
public online.mtapi.mt4.HighLow HighLow
public Event<OrderUpdateEventHandler> OnOrderUpdate
public Event<QuoteHistoryEventHandler> OnQuoteHistory
public Event<DisconnectEventHandler> OnDisconnect
public Event<ConnectEventHandler> OnConnect
public Event<QuoteEventHandler> OnQuote
public int ConnectTimeout
public int DisconnectTimeout
public Logger Log
public java.lang.String LoginIdWebServerUrl
public int User
public java.lang.String Password
public ServerInfo SrvInfo
public online.mtapi.mt4.QuoteCmdHandler CmdHandler
public online.mtapi.mt4.MT4Symbol MT4Symbol
public int _SleepTime
public boolean CalculateTradeProps
public double Balance
public double Credit
public double Profit
public double Equity
public double Margin
public double FreeMargin
public java.lang.String Name
public int Leverage
public ConGroup _Account
public ConSymbolGroup[] _Groups
public java.time.LocalDateTime Time
public boolean _IsDemo
public int _AccountMode
public java.lang.String PathForSavingSrv
public java.lang.String PathForSavingSym
public static java.lang.String PathDecompress
public java.time.LocalDateTime ClosedOrdersFrom
public java.time.LocalDateTime ClosedOrdersTo
public Order[] ClosedOrders
public QuoteClient(int user, java.lang.String password, java.lang.String host, int port) throws java.io.IOException
user
- Account number.password
- Password.host
- IP address or domain name.port
- Port. Usually 443.java.io.IOException
public QuoteClient(int user, java.lang.String password, java.lang.String host, int port, java.lang.String proxyHost, int proxyPort, java.lang.String proxyUser, java.lang.String proxyPass)
user
- Account number.password
- Password.host
- IP address or domain name.port
- Port. Usually 443.proxyHost
- IP address of proxy server.proxyPort
- Port of proxy server.proxyUser
- Account of proxy server.proxyPass
- Password of proxy server.public QuoteClient(int user, java.lang.String password, java.lang.String host, int port, java.time.LocalDateTime closedOrdersFrom, java.time.LocalDateTime closedOrdersTo)
user
- Account number.password
- Password.host
- IP address or domain name.port
- Port. Usually 443.closedOrdersFrom
- Start time.closedOrdersTo
- End time.public QuoteClient(int user, java.lang.String password, java.lang.String host, int port, java.lang.String proxyHost, int proxyPort, java.lang.String proxyUser, java.lang.String proxyPass, java.time.LocalDateTime closedOrdersFrom, java.time.LocalDateTime closedOrdersTo)
user
- Account number.password
- Password.host
- IP address or domain name.port
- Port. Usually 443.proxyHost
- IP address of proxy server.proxyPort
- Port of proxy server.proxyUser
- Account of proxy server.proxyPass
- Password of proxy server.closedOrdersFrom
- Start time.closedOrdersTo
- End time.public int getSleepTime()
public void setSleepTime(int value)
public double AccountBalance()
public double AccountCredit()
public double AccountProfit()
public double AccountEquity()
public double AccountMargin()
public double AccountFreeMargin()
public java.lang.String AccountName()
public int AccountLeverage()
public ConGroup Account()
public ConSymbolGroup[] Groups()
public java.time.LocalDateTime ServerTime()
public int ServerBuild()
public boolean IsDemoAccount()
public int AccountMode()
public static Servers LoadSrv(java.lang.String serverFilePath) throws java.io.FileNotFoundException, java.io.IOException
serverFilePath
- Path to srv file. You can find srv files in MT4\config folder.java.io.IOException
java.io.FileNotFoundException
public ServerInfo GetServerInfo()
public static DemoAccount GetDemo(java.lang.String serverFilePath, int leverage, double balance, java.lang.String name, java.lang.String accountType, java.lang.String country, java.lang.String city, java.lang.String state, java.lang.String zip, java.lang.String address, java.lang.String phone, java.lang.String email, java.lang.String terminalCompany) throws java.io.IOException
serverFilePath
- Path to srv file. You can find srv files in MT4\config folder.leverage
- Leverage value.balance
- Deposit value.name
- Currency name.accountType
- Account type.country
- Country.city
- City.state
- State.zip
- Zip postal code.address
- Address.phone
- Phone number.email
- Email address.terminalCompany
- Terminal company name.java.io.IOException
public static DemoAccount GetDemo(java.lang.String host, int port, int leverage, double balance, java.lang.String name, java.lang.String accountType, java.lang.String country, java.lang.String city, java.lang.String state, java.lang.String zip, java.lang.String address, java.lang.String phone, java.lang.String email, java.lang.String terminalCompany) throws java.net.UnknownHostException, java.io.IOException
host
- IP address or domain name.port
- Port. Usually 443.leverage
- Leverage value.balance
- Deposit value.name
- Currency name.accountType
- Account type.country
- Country.city
- City.state
- State.zip
- Zip postal code.address
- Address.phone
- Phone number.email
- Email address.terminalCompany
- Terminal company name.java.io.IOException
java.net.UnknownHostException
public java.lang.String[] Symbols()
java.lang.Exception
- Not connected.public SymbolInfo GetSymbolInfo(java.lang.String symbol)
symbol
- Symbol for trading.public ConGroupSec GetSymbolGroupParams(java.lang.String symbol)
symbol
- Symbol for trading.public ConSymbolGroup GetSymbolGroup(java.lang.String symbol)
symbol
- Symbol for trading.public ConGroupSec[] GroupParameters()
public boolean IsSubscribed(java.lang.String symbol)
symbol
- Symbol for trading.public void Subscribe(java.lang.String symbol)
symbol
- Symbol for trading.java.lang.Exception
- Not connected.public void Unsubscribe(java.lang.String symbol)
symbol
- Symbol for trading.java.lang.Exception
- Not connected.public void Subscribe(java.lang.String[] symbols)
symbols
- Array of symbols for trading.java.lang.Exception
- Not connected.public QuoteEventArgs GetQuote(java.lang.String symbol) throws InvalidSymbolException
symbol
- Symbol for trading.java.lang.Exception
- Symbol not subscribed.InvalidSymbolException
TimeoutException
public void Connect() throws ConnectException, TimeoutException
ConnectException
ServerException
- Unable to login for some reason.TimeoutException
- No reply from server.public void ConnectAsync()
public Order[] GetOpenedOrders()
public Order GetOpenedOrder(int ticket)
ticket
- Unique number of the order ticket.public void DownloadQuoteHistory(java.lang.String symbol, Timeframe tf, java.time.LocalDateTime from, short count)
symbol
- Symbol for trading.tf
- Timeframe for quote history.from
- Start time of history.count
- Number of requested histories.java.lang.InterruptedException
TimeoutException
public Order[] DownloadOrderHistory(java.time.LocalDateTime from, java.time.LocalDateTime to) throws java.lang.Exception
from
- Start time of history.to
- End time of history.java.lang.Exception
public void onDisconnect(java.lang.Exception exception)
public void onConnect(java.lang.Exception exception)
public void readOrders(byte[] buf)
public void Disconnect()
public boolean Connected()
public void onOrderUpdate(OrderUpdateEventArgs update, double balance, double credit)
public void onQuote(QuoteEventArgs quote)
public void UpdateSymbolsMargin()
public boolean GetRate(java.lang.String currency, online.mtapi.mt4.OutObject<double[]> out) throws TimeoutException, InvalidSymbolException
public double CalculateOrderProfit(Order order, SymbolInfoEx info, double bid, double ask) throws TimeoutException, InvalidSymbolException
public double CalculateMargin(SymbolInfoEx info, int leverage, boolean bFlag, double all_volume, double delta_volume, double all_open_price, double all_margin_rate, double buy_volume, double buy_open_price, double buy_margin_rate, double sell_volume, double sell_open_price, double sell_margin_rate)
public void CalculateTradeProperties()
public void UpdateProfit()