Syntax
Public Function ManualNewLimit (AccountID As Long, LimitType As Integer, SymbolID As Integer, Lot As Double, AtPrice As Double, Optional SL As String = "", Optional TP As String = "", Optional Note As String = "") As String
Description
The ManualNewLimit operation is used to open new entry order for the given account number on the specific given price.
Request Parameters
Name |
Description |
Required |
AccountID
|
- Account number to open new entry order for
- Type : Long
- Default : None
- Constraints : Must be valid account Id and accessible by logged in dealer
|
Yes
|
LimitType |
- The trade order type
- Type : Integer
- Default : none
- Can be one of the following :
1 : buy Limit -1 : Sell Limit 2 : Buy Stop -2 : Sell Stop
|
Yes |
SymbolID |
- Trade symbol identifier
- Type : Integer
- Default : None
|
Yes |
Lot |
- Order Lots value
- Type : Double
- Default : none
|
Yes |
AtPrice |
- Order open price
- Type : Double
- Default : None
|
Yes |
SL
|
- The Stop loss value
- Type : Double
- Default : “”which is mean limit order without stop loss
|
No |
TP |
- The take profit value
- Type : Double
- Default : “” which is mean limit order without take profit
|
No |
Note |
- Custom String used to mark the open order
- Type : String
- Default : “”
|
No |
Response Elements
Name |
Description |
Result |
The operation return the new order number in case success , otherwise an explicit error code is returned
|
Sample
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Manual New Limit</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<script >
$(document).ready(function () {
var urlStr = "http://173.249.35.43/webtrader/webservice.svc";
jQuery.support.cors = true;
$("#progress").ajaxStart(function () { $(this).css("display", "block"); });
$("#progress").ajaxComplete(function () { $(this).css("display", "none"); });
$("#resultAction").ajaxError(function (result) { $(this).html('An error occured'); });
function onSuccessResultOrder(dataResult) {
var result = eval(dataResult);
var rst = ""
if (result > 0) {
rst += "New limit order has been taken successfully! </br>" ;
rst += "order ID:" + result ;
$("#resultAction").html(rst);
}
else {
var rst = "https://support.hybridsolutions.com//index.php?/Knowledgebase/Article/View/1964"
$("#resultAction").html("Error Code : " + result + "<br/>" + " for more details see the follwing link: " + rst);
}
}
function onSuccessResult(response) {
response = eval('(' + response + ')')
if (response.UserId == -1 || response.UserId == -207) {
$("#resultData").html("Invalid username or password");
}
else if (response.UserId == -231) {
$("#resultData").html("You must have at least one account");
}
else if (response == null || response == "" || response.UserId < 0) {
$("#resultData").html("Error while login.Please try later");
}
else {
$("#resultData").html("SuccessResult ... UserId is :" + response.UserId);
}
}
function onErrorResult(result) {
alert('Service call faild : ' + result.status + ' ' + result.statusText);
}
$("#btnLogin").click(function () {
$.getJSON(urlStr + "/BackofficeLogin?username=" + $("#txtusername").val() + "&password=" + $("#txtpassword").val() + "&callback=?" , onSuccessResult);
});
$("#btnAction").click(function () {
$.getJSON(urlStr + "/ManualNewLimit?AccountID=" + $("#txtAccountID").val() + "&LimitType=" + $("#txtLimitType").val() + "&SymbolID=" + $("#txtSymbolID").val() + "&Lot=" + $("#txtLot").val() + "&AtPrice=" + $("#txtAtPrice").val() + "&SL=" + $("#txtSL").val() + "&TP=" + $("#txtTP").val() + "&Note=" + $("#txtNote").val() + "&callback=?", onSuccessResultOrder);
});
});
</script>
<body>
<table border="1px">
<tbody>
<tr>
<td>
Username: <input type="text" id="txtusername" value=""/>
password: <input type="text" id="txtpassword" value=""/>
<button id="btnLogin"> Login </button>
</td>
</tr>
<tr>
<td>AccountID : <input type="text" id="txtAccountID" value ="" />
LimitType : <input type="text" id="txtLimitType" value ="" />
SymbolID : <input type="text" id="txtSymbolID" value ="" /></td>
</tr>
<tr>
<td>Lot :<input type="text" id="txtLot" value ="" />
AtPrice :<input type="text" id="txtAtPrice" value ="" />
SL :<input type="text" id="txtSL" value ="" /></td>
</tr>
<tr>
<td>TP :<input type="text" id="txtTP" value ="" />
Note :<input type="text" id="txtNote" value ="" />
<button id="btnAction"> New Limit </button></td>
</tr>
</tbody>
</table>
<div id="resultData"> </div>
<div id="resultAction"> </div>
<div style="display:none" id="progress">Loading ... </div>
</body>
</html>
See Also
VertexFX Backoffice WCF Service Index
|