public ClosePositionResponse ClosePositions(string positionId) { ClosePositionRequest req = new ClosePositionRequest(Nonce, positionId); string response = SendRequest(req, "POST"); return(ClosePositionResponse.FromJSON(response)); }
///<Summary> ///Closes one or more OTC positions ///@param closePositionRequest the request for closing one or more positions ///@return OTC close position response ///</Summary> public async Task <IgResponse <ClosePositionResponse> > closePosition(ClosePositionRequest closePositionRequest) { return(await _igRestService.RestfulService <ClosePositionResponse>("/gateway/deal/positions/otc", HttpMethod.Delete, "1", _conversationContext, closePositionRequest)); }
/// <summary> /// Close Position Closeout the open Position for a specific instrument in an Account. /// </summary> /// <exception cref="GeriRemenyi.Oanda.V20.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="accountID">Account identifier</param> /// <param name="instrument">Instrument name</param> /// <param name="closePositionRequest">Representation of how to close the position</param> /// <param name="acceptDatetimeFormat">Format of DateTime fields in the request and response. (optional)</param> /// <returns>Task of ApiResponse (ClosePositionResponse)</returns> public async System.Threading.Tasks.Task <GeriRemenyi.Oanda.V20.Client.Client.ApiResponse <ClosePositionResponse> > ClosePositionAsyncWithHttpInfo(string accountID, InstrumentName instrument, ClosePositionRequest closePositionRequest, DateTimeFormat?acceptDatetimeFormat = default(DateTimeFormat?)) { // verify the required parameter 'accountID' is set if (accountID == null) { throw new GeriRemenyi.Oanda.V20.Client.Client.ApiException(400, "Missing required parameter 'accountID' when calling PositionApi->ClosePosition"); } // verify the required parameter 'closePositionRequest' is set if (closePositionRequest == null) { throw new GeriRemenyi.Oanda.V20.Client.Client.ApiException(400, "Missing required parameter 'closePositionRequest' when calling PositionApi->ClosePosition"); } GeriRemenyi.Oanda.V20.Client.Client.RequestOptions localVarRequestOptions = new GeriRemenyi.Oanda.V20.Client.Client.RequestOptions(); String[] _contentTypes = new String[] { "application/json" }; // to determine the Accept header String[] _accepts = new String[] { "application/json" }; foreach (var _contentType in _contentTypes) { localVarRequestOptions.HeaderParameters.Add("Content-Type", _contentType); } foreach (var _accept in _accepts) { localVarRequestOptions.HeaderParameters.Add("Accept", _accept); } localVarRequestOptions.PathParameters.Add("accountID", GeriRemenyi.Oanda.V20.Client.Client.ClientUtils.ParameterToString(accountID)); // path parameter localVarRequestOptions.PathParameters.Add("instrument", GeriRemenyi.Oanda.V20.Client.Client.ClientUtils.ParameterToString(instrument)); // path parameter if (acceptDatetimeFormat != null) { localVarRequestOptions.HeaderParameters.Add("Accept-Datetime-Format", GeriRemenyi.Oanda.V20.Client.Client.ClientUtils.ParameterToString(acceptDatetimeFormat)); // header parameter } localVarRequestOptions.Data = closePositionRequest; // authentication (PersonalAccessToken) required // bearer authentication required if (!String.IsNullOrEmpty(this.Configuration.AccessToken)) { localVarRequestOptions.HeaderParameters.Add("Authorization", "Bearer " + this.Configuration.AccessToken); } // make the HTTP request var localVarResponse = await this.AsynchronousClient.PutAsync <ClosePositionResponse>("/accounts/{accountID}/positions/{instrument}/close", localVarRequestOptions, this.Configuration); if (this.ExceptionFactory != null) { Exception _exception = this.ExceptionFactory("ClosePosition", localVarResponse); if (_exception != null) { throw _exception; } } return(localVarResponse); }
/// <summary> /// Close Position Closeout the open Position for a specific instrument in an Account. /// </summary> /// <exception cref="GeriRemenyi.Oanda.V20.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="accountID">Account identifier</param> /// <param name="instrument">Instrument name</param> /// <param name="closePositionRequest">Representation of how to close the position</param> /// <param name="acceptDatetimeFormat">Format of DateTime fields in the request and response. (optional)</param> /// <returns>Task of ClosePositionResponse</returns> public async System.Threading.Tasks.Task <ClosePositionResponse> ClosePositionAsync(string accountID, InstrumentName instrument, ClosePositionRequest closePositionRequest, DateTimeFormat?acceptDatetimeFormat = default(DateTimeFormat?)) { GeriRemenyi.Oanda.V20.Client.Client.ApiResponse <ClosePositionResponse> localVarResponse = await ClosePositionAsyncWithHttpInfo(accountID, instrument, closePositionRequest, acceptDatetimeFormat); return(localVarResponse.Data); }
/// <summary> /// Close Position Closeout the open Position for a specific instrument in an Account. /// </summary> /// <exception cref="GeriRemenyi.Oanda.V20.Client.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="accountID">Account identifier</param> /// <param name="instrument">Instrument name</param> /// <param name="closePositionRequest">Representation of how to close the position</param> /// <param name="acceptDatetimeFormat">Format of DateTime fields in the request and response. (optional)</param> /// <returns>ClosePositionResponse</returns> public ClosePositionResponse ClosePosition(string accountID, InstrumentName instrument, ClosePositionRequest closePositionRequest, DateTimeFormat?acceptDatetimeFormat = default(DateTimeFormat?)) { GeriRemenyi.Oanda.V20.Client.Client.ApiResponse <ClosePositionResponse> localVarResponse = ClosePositionWithHttpInfo(accountID, instrument, closePositionRequest, acceptDatetimeFormat); return(localVarResponse.Data); }
/// <summary> /// Close the given position /// This will close all trades on the provided account/instrument /// </summary> /// <param name="accountId">the account to close trades on</param> /// <param name="instrument">the instrument for which to close all trades</param> /// <returns>DeletePositionResponse object containing details about the actions taken</returns> public static async Task <PositionCloseResponse> ClosePositionAsync(string accountId, string instrument, ClosePositionRequest request) { string requestString = Server(EServer.Account) + "accounts/" + accountId + "/positions/" + instrument + "/close"; var requestBody = ConvertToJSON(request); var response = await MakeRequestWithJSONBody <PositionCloseResponse>("PUT", requestBody, requestString); return(response); }