NewPosition
Posted by Angham Al-Banawien on 15 December 2017 11:35 AM

 Syntax

 Public Function NewPosition (AccountID As Long, BuySell As Integer, Amount As Double, SymbolID As Integer, Price As Double, Optional Note As String = "", Optional UserDefinedDate As String = "") As String

Description

The NewPosition operation is used to open a new position on specific a symbol for the given account number. 

Request Parameters

Name Description  Required
AccountID
  • Account identifier to open position for
  • Type : Long
  • Default : None
  • Constraints : Must be valid account Id and accessible by logged in dealer

Yes

BuySell
  • The open position type
  • Type  : Integer
  • Default : none
  • Can be one of the following:
     1 – for buy type
    -1 – for sell type
Yes  
Amount
  • Position lots value
  • Type : Double
  • Default : None
 Yes 
SymbolID
  • Trade symbol identifier
  • Type : Integer
  • Default : None
Yes 
Price
  • Open trade price value
  • Type: Double
  • Default: none 
Yes 

Note

  • Custom String used to mark the open position
  • Type : String
  • Default : “” empty string.
No
UserDefinedDate
  • Trade open time
  • Type : String
  • Default : “” which means now
  • Constraints  : must be in format (“DD/MM/yyyy HH:mm:ss”)  
No


Response Elements

Name Description 
 Result

The operation return the new position ticket 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>NewPosition</title>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<script >
  $(document).ready(function () {
  var urlStr = "http://5.10.64.199/vertexweb10/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[6]=1 , then Open Position has been done
if (result > 0) {
  rst += "New position has been taken successfully! </br>" ;
  rst += "Ticket ID:" + result ;
  $("#resultAction").html(rst);
}
//if result[6]=2 , then pending order has been done

else {
  var rst = "http://www.hybrid-solutions.com/support/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 + "/NewPosition ?AccountID=" + $("#txtAccountID").val() + "&BuySell=" + $("#txtBuySell").val() + "&Amount=" + $("#txtAmount").val() + "&SymbolID=" + $("#txtSymbolID").val() + "&Price=" + $("#txtPrice").val() + "&Note=" + $("#txtNote").val() + "&UserDefinedDate=" + $("#txtDefinedDate").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 ="" /> </td>
  <td>BuySell : <input type="text" id="txtBuySell" value ="" /> </td>
  <td>Amount : <input type="text" id="txtAmount" value ="" /></td>
</tr>
<tr>
  <td>SymbolID :<input type="text" id="txtSymbolID" value ="" /></td>
  <td>Price :<input type="text" id="txtPrice" value ="" /></td>
  <td>Note :<input type="text" id="txtNote" value ="" /></td>
  <td>UserDefinedDate :<input type="text" id="txtDefinedDate" value ="" /></td>

  <td><button id="btnAction"> New Position </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

 

(0 vote(s))
Helpful
Not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
CAPTCHA Verification 
 
Please enter the text you see in the image into the textbox below (we use this to prevent automated submissions).

Help Desk Software by Hybrid Solutions