{
if (marketPosition== MarketPosition.Long)
{
Print(BuyCeiling + "Sending Long Results" + results.ToString());
PNLB(BuyCeiling, results);
}
else
{
Print(SellCeiling + "Sending ShortResults" + results.ToString());
PNLS(SellCeiling, results);
}
}
protected override void OnExecutionUpdate(Execution execution, string executionId, double price, int quantity, MarketPosition marketPosition, string orderId, DateTime time)
{
PrintResult();
if ( SystemPerformance.AllTrades.Count > 0)
if ( SystemPerformance.AllTrades.Count - 1 != LastCount)
{ string DataString;
LastCount = SystemPerformance.AllTrades.Count - 1;
Trade myTrades = SystemPerformance.AllTrades[SystemPerformance.AllTrades.Count - 1];
double results= myTrades.ProfitCurrency * myTrades.Quantity;
Print("Sending Results" + results.ToString());
Get(marketPosition, results);
}
The variable BuyCeiling is declared as
public double BuyCeiling=0;
same way also is SellCeiling
However when the function is called the variables are zero. In the main strategy, the variables have always carried a value.
Is there another way I can share with Onexecution those variables.
I am trying to track from the results of the trades from each zone taken. so when a trade is taken the zone values are stored. When the results of the trades are known I am trying to update my data dictionary object.
Any ideas?
Comment