Create Order Using Real-Time Snapshot WDS Data
This example shows how to connect to Wind Data Feed Services (WDS), retrieve real-time snapshot data, and perform simple data analysis to make an investment decision. The example then shows how to log in to the WDS order management system, create an order, and query information about the order. This example requires that you open and log in to the Wind Financial Terminal.
Connect to WDS
c = wind;
Retrieve Snapshot Data
Format output data for currency.
format bankUsing the 600000.SH security and the WDS connection,
                    retrieve real-time snapshot data for the last price and volume fields.
s = '600000.SH'; f = {'rt_last','rt_vol'}; d = realtime(c,s,f)
d =
		
  1×3 timetable
		
            Time               Codes       RT_LAST       RT_VOL   
    ____________________    ___________    _______    ____________
		
    05-Dec-2017 12:33:50    '600000.SH'     13.17     123796797.00d is a timetable that contains a row for the security with
                    the time and these variables:
- Security 
- Last price 
- Volume 
Analyze Snapshot Price
Assume a price threshold of 12, specified in the CNY currency. Compare the
                    snapshot price to the threshold. The sell indicator contains the logical value
                        1.
sellnow = (d.RT_LAST > 12);
Set the direction of the order by using the sell indicator.
if (sellnow) direction = 'Sell'; else direction = 'Buy'; end
Create WDS Order
Log in to the WDS order management system using the WDS connection. Specify the broker, branch, user name, password, and account type.
broker = "0000"; branch = "0"; capitalaccount = "1234567891011"; password = "abcdefghi"; accttype = "SHSZ"; dlogin = tradelogin(c,broker,branch, ... capitalaccount,password,accttype);
Create a sell order of 100 shares of the 600000.SH security
                    using the WDS connection. Sell shares with the order price
                        13.17, specified in the CNY currency. Use the
                        'LogonID' name-value pair argument to specify the login
                    identifier. Use the 'TradePassword' name-value pair argument
                    to specify the password.
price = '13.17'; quantity = '100'; logonid = '1'; password = "abcdefghi"; d = createorder(c,s,direction,price,quantity, ... 'LogonID',logonid,'TradePassword',password)
d =
  1×8 table
    RequestID    SecurityCode    TradeSide    OrderPrice    OrderVolume    LogonID    ErrorCode      ErrorMsg   
    _________    ____________    _________    __________    ___________    _______    _________    _____________
       20        '600000.sh'      'SELL'        '13.17'        '100'         '1'          0        'Sending ...'
d is a table with these variables:
- Request identifier 
- Security code 
- Direction 
- Order price 
- Order volume 
- Login identifier 
- Error code 
- Error message 
Query for the status of the executed order and display the status. The order
                    status 'Normal' indicates successful order execution.
d = query(c,'Order');
d.OrderStatusd = 'Normal'
Close WDS Connection
Log out from the WDS order management system using the login identifier
                    returned by the tradelogin function.
logonid = dlogin.LogonID; d = tradelogout(c,logonid);
Close the WDS connection.
close(c)
See Also
wind | realtime | createorder | query | tradelogin | tradelogout | close