Example #1
0
        public ClosePositionResponse ClosePositions(string positionId)
        {
            ClosePositionRequest req = new ClosePositionRequest(Nonce, positionId);
            string response          = SendRequest(req, "POST");

            return(ClosePositionResponse.FromJSON(response));
        }
Example #2
0
        ///<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));
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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);
        }
Example #5
0
 /// <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);
 }
Example #6
0
        /// <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);
        }