NewOrderRequest ()
constructor
Creates empty request.
Syntax
public NewOrderRequest ()
Example
The following example shows how to creates and initialize a new order request that can be used as a parameter in the Order.Send method in order to send a trade order request to the server.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using PTLRuntime.NETScript;
namespace FillsExample
{
public class FillsExample : NETStrategy
{
string maxLossId;
double maxLoss;
NewOrderRequest request; //creation of a request to send the trade request.
public override void OnQuote()
{
request = new NewOrderRequest //initialization request to send the trade request.
{
Instrument = Instruments.Current,
Account = Accounts.Current,
Side = Operation.Buy,
Type = OrdersType.Market,
Price = Instruments.Current.LastQuote.Ask,
Amount = 10,
TimeInForce=TimeInForce.GTC,
MarketRange = 1000,
};
string OrdId = Orders.Send(request); //send a trade request.
Position pos = Positions.GetPositionById(OrdId);
if(pos == null) Print("Position does not exist");
else pos.Close(); //closing position
Print("Today total profit/loss : " + TodayNetPL());
}
public double TodayNetPL()
{
double todayPL = 0;
Fill[] allFills = Fills.GetFills();//create an array c committed transactions today.
//summarizes the profit of all transactions today.
foreach(Fill fill in allFills)
{
todayPL+=fill.Profit;
//determine the most losing trade
if(maxLoss>fill.Profit)
{
maxLossId = fill.Id;
maxLoss = fill.Profit;
}
}
return todayPL;
}
public override void Complete()
{
//knowing the transaction ID with the worst result, derive its parameters
Fill worseTrade = Fills.GetFillById(maxLossId);
Print(
"\nParameters of trade with max loss :"+
"\nID :\t"+ worseTrade.Id +
"\nLoss :\t" + worseTrade.Profit+
"\nTime :\t" + worseTrade.Time+
"\nAmount :\t" + worseTrade.Amount
);
}
}
}
Discussion
Join PTMC community to post your comments
No comments yet. Be the first.