API function to place cover order. APIs are available in AmiBroker, MetaTrader, Excel, Java, C#, Python, HTTP REST.
Api function will place a cover order on 5Paisa, AC Agarwal, AliceBlue, Ambalal Shares, AnandRathi, Angel, ATS, Choice, Eureka, Finvasia, Flattrade, Fyers, IIFL, Jainam, Kotak, Mastertrust, Motilal, Profitmart, Raghunandan Money, SAS, SW Capital, Tradejini, Tradeswift, Upstox, Wisdom Capital, Zebu, Zerodha, Symphony XTS.
Signature
function placeCoverOrder(account, exchange,
symbol, tradeType, orderType,
quantity, price, triggerPrice, validate)
Example 1
// Apply your logic to calculate stoploss trigger price
stoplossTriggerPrice = buyPrice - 5;
// Place cover order
orderId = placeCoverOrder(AT_ACCOUNT, AT_EXCHANGE,
AT_SYMBOL, "BUY", "LIMIT", AT_QUANTITY,
buyPrice, stoplossTriggerPrice, True);
This example will place a Cover order for Account, Exchange & Symbol chosen in chart parameters.
Some variables used in above code are parameters defined by AutoTrader library.
Example 2
// Apply your logic to calculate stoploss trigger price
stoplossTriggerPrice = buyPrice - 5;
// Place cover order (Limit)
orderId = placeCoverOrder("ACC_NAME", "NSE",
"SBIN", "BUY", "LIMIT", 10,
buyPrice, stoplossTriggerPrice, True);
This example will place Cover order for Account (ACC_NAME), Exchange (NSE) & Symbol (SBIN) with quantity 10. We have placed a LIMIT order.
Here we did not use chart parameters, instead we passed the values directly.
Example 3
// Apply your logic to calculate stoploss trigger price
stoplossTriggerPrice = buyPrice - 5;
// Place cover order (Market)
orderId = placeCoverOrder("ACC_NAME", "NSE",
"SBIN", "BUY", "MARKET", 10,
0, stoplossTriggerPrice, True);
This example will place Cover order for Account (ACC_NAME), Exchange (NSE) & Symbol (SBIN) with quantity 10. We have placed a MARKET order; hence the order price is zero.
Signature
string placeCoverOrder(string account,
Exchange exchange, string symbol,
TradeType tradeType, OrderType orderType,
int quantity, double price,
double triggerPrice, bool validate)
Example
// Apply your logic to calculate stoploss trigger price
double stoplossTriggerPrice = buyPrice - 5;
// Place cover order
string id = placeCoverOrder(AT_ACCOUNT,
AT_EXCHANGE, AT_SYMBOL, BUY, LIMIT, 1,
192, stoplossTriggerPrice, true);
This example will place a Cover order for Account, Exchange & Symbol chosen in chart parameters.
Some variables used in above code are parameters defined by AutoTrader library.
Example 2
// Apply your logic to calculate stoploss trigger price
double stoplossTriggerPrice = buyPrice - 5;
// Place cover order (Market)
orderId = placeCoverOrder("XX2030",
NSE, "SBIN", BUY, MARKET, 10,
0, stoplossTriggerPrice, true);
This example will place Cover order for Account (XX2030), Exchange (NSE) & Symbol (SBIN) with quantity 10. We have placed a MARKET order; hence the order price is zero.
Signature
/**
* Places a cover order.
*
* @param pseudoAccount pseudo account
* @param exchange exchange
* @param symbol symbol
* @param tradeType trade type
* @param orderType order type
* @param quantity quantity
* @param price price
* @param triggerPrice trigger price
* @return the order id given by your stock broker
*/
IOperationResponse<String> placeCoverOrder(
String pseudoAccount, String exchange,
String symbol, TradeType tradeType,
OrderType orderType, int quantity,
float price, float triggerPrice);
Example
// Place a cover order
final IOperationResponse<String> response =
autotrader.placeCoverOrder("ACC_NAME",
"NSE", "SBIN", TradeType.BUY, OrderType.LIMIT,
10, 180.5f, 180f);
// Read order id
String orderId = null;
if (response.success()) {
orderId = response.getResult();
} else {
final String errorMessage = response.getMessage();
}
This will place a cover order into your trading account that is mapped to the passed pseudo account. The function will return a response object.
Response object has a function called success(), which returns true on successful execution.
We can then use the method getResult() to access order_id given by your trading platform.
Signature
/// <summary>
/// Places a cover order. For more information, please see <a href=
/// "https://stocksdeveloper.in/documentation/api/place-cover-order/">api
/// docs</a>.
/// </summary>
/// <param name="pseudoAccount"> pseudo account </param>
/// <param name="exchange"> exchange </param>
/// <param name="symbol"> symbol </param>
/// <param name="tradeType"> trade type </param>
/// <param name="orderType"> order type </param>
/// <param name="quantity"> quantity </param>
/// <param name="price"> price </param>
/// <param name="triggerPrice"> trigger price </param>
/// <returns> the order id given by your stock broker </returns>
IOperationResponse<String> PlaceCoverOrder(
string pseudoAccount, string exchange,
string symbol, TradeType tradeType,
OrderType orderType, int quantity,
float price, float triggerPrice);
Example
IOperationResponse<string> response =
autoTrader.PlaceCoverOrder("XX1234",
"NSE", "SBIN", TradeType.SELL,
OrderType.MARKET, 3, 0, 218.4f);
if(response.Success()) {
Console.WriteLine("Result: {0}", response.Result);
}
else {
Console.WriteLine("Message: {0}", response.Message);
}
This will place an order into your trading account that is mapped to the passed pseudo account. The function will return a response object.
Response object has a function called Success(), which returns true on successful execution.
We can then use the Result property to access order_id given by your trading platform.
Signature
def place_cover_order(self, pseudo_account, \
exchange, symbol, tradeType, orderType, \
quantity, price, triggerPrice):
Example
response = autotrader.place_cover_order( \
'XX1234', 'NSE', 'SBIN', 'SELL', 'LIMIT', \
1, 188.15, 190.0)
if response.success():
print("Result: {0}".format(response.result))
else:
print("Message: {0}".format(response.message))
Example
curl https://api.stocksdeveloper.in/trading/placeCoverOrder \
-H "api-key: <your_api_key>" \
-d "pseudoAccount=ACC_NAME" \
-d "exchange=NSE" \
-d "symbol=SBIN" \
-d "tradeType=BUY" \
-d "orderType=LIMIT" \
-d "quantity=10" \
-d "price=180.5" \
-d "triggerPrice=180"
Response
{
"result":"200622000333410",
"error":null,
"message":null,
"status":true,
"commandId":"6d4b5738-c1aa-4623-b0c5-8df779e0f44d"
}
The response contains result (which is order_id given by your trading platform).
If there is any error, then you will get status as false & message will have error text.
The commandId cab be used to trace the activity on AutoTrader Web.
Signature
Public Function PlaceCoverOrder( _
PseudoAccount As String, _
Exchange As String, _
Symbol As String, _
TradeType As String, _
OrderType As String, _
Quantity As Integer, _
Price As Double, _
TriggerPrice As Double) As String
Example
Dim OrderId As String
OrderId = PlaceCoverOrder("ACC_NAME", _
"NSE", "SBIN", "BUY", "LIMIT", 100, 200.55, 0)
Postman is widely used tool for API testing. We have provided below a collection of all of our APIs in postman collection format. Click postman collection to know more about how to use it.
Parameters
- account – pseudo account
- exchange – instrument (stock/derivative) exchange
- symbol – instrument (stock/derivative) symbol
- tradeType – trade type
- orderType – order type
- quantity – quantity
- Note: For NSE/BSE derivatives, quantity should be multiple of lot size. Example, BANKNIFTY lot size is 15. So to buy/sell 1 lot, you need to enter 15 quantity.
- price – order price
- triggerPrice – trigger price
- validate – validate order (check for duplicate signals). Only applicable for AmiBroker & MetaTrader.
Return value
AmiBroker, MetaTrader, Excel
This function sends place order request to AutoTrader Desktop Client. On successful submission, it will return a unique publisherId (orderId given by AutoTrader library).
Java, HTTP, C#, Python
The function returns a platformId (orderId given by your trading platform).
The type of the return value is String or Text.
Important
- Your broker must support Cover order on our platform. Please try placing a cover order from our platform’s trading terminal first to confirm whether it is supported or not.