[LEFT][COLOR=#4D4D4D][FONT=Helvetica][SIZE=13px]public class unirenkoextreme : Strategy
{
private double Signal_high;
private double Signal_high1;
private double Signal_high2;
private double Signal_Low;
private double Signal_Low1;
private double Signal_Low2;
private Order myEntryOrder = null;
private Order myOrder;
private int barNumberOfOrder = 0;
private double up_down;
private double entry_signal;
private double Millestone; // highest point achieved of realized + unreliazed gain
private EMA EMA1;
private EMA EMA2;
private entrybar eb1;
private Account myAccount;
private Order entryOrder = null;
protected override void OnStateChange()
{
if (State == State.SetDefaults)
{
Description = @"Enter the description for your new custom Strategy here.";
Name = "unirenkoextreme";
Calculate = Calculate.OnBarClose;
EntriesPerDirection = 1;
EntryHandling = EntryHandling.AllEntries;
IsExitOnSessionCloseStrategy = true;
ExitOnSessionCloseSeconds = 30;
IsFillLimitOnTouch = false;
MaximumBarsLookBack = MaximumBarsLookBack.TwoHundredFiftySix;
OrderFillResolution = OrderFillResolution.Standard;
Slippage = 0;
StartBehavior = StartBehavior.WaitUntilFlat;
TimeInForce = TimeInForce.Gtc;
TraceOrders = false;
RealtimeErrorHandling = RealtimeErrorHandling.StopCancelClose;
StopTargetHandling = StopTargetHandling.PerEntryExecution;
BarsRequiredToTrade = 20;
// Disable this property for performance gains in Strategy Analyzer optimizations
// See the Help Guide for additional information
IsInstantiatedOnEachOptimizationIteration = true;
DailyLoss = -2500;
Entry_threshold = 3;
EntrySignalcandlesize = 50;
Dailygain_enable = true;
DailyGain = 2500;
Contract_Quantity = 1;
StopLoss_enable = true;
Stop_Loss = 25;
TakeProfit_enable = false;
Take_profit = 50;
TrailStop_enable = false;
Trail_Stop = 12;
EnableMA = false;
EMAFast = 55;
EMASlow = 89;
StartSession = DateTime.Parse("15:00", System.Globalization.CultureInfo.InvariantCulture);
EndSession = DateTime.Parse("13:05", System.Globalization.CultureInfo.InvariantCulture);
}
if (State == State.SetDefaults)
{
Name = "Example Strategy";
}
// one time only, as we transition from historical to real-time
else if (State == State.Realtime)
{
// convert any old historical order object references
// to the new live order submitted to the real-time account
if (entryOrder != null)
entryOrder = GetRealtimeOrder(entryOrder);
}[/SIZE][/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica][/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] if (up_down ==1 && Position.MarketPosition == MarketPosition.Flat && Close[0] > Open[0] )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT][LEFT][COLOR=#FF0000][FONT=Helvetica][SIZE=13px] if (Order.Name == "ShortEntry")
{
CancelOrder(myEntryOrder);
}[/SIZE][/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] if(EnableMA && Close[0] > EMA1[0]&& EMA1[0]> EMA2[0] && myEntryOrder ==null )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] EnterLongLimit(0,true, Contract_Quantity, entry_signal, "LongEntry");[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] return;[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] else if(!EnableMA && myEntryOrder ==null )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] EnterLongLimit(0,true, Contract_Quantity, entry_signal, "LongEntry");[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] return; [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] if (up_down ==-1 && Position.MarketPosition == MarketPosition.Flat && Close[0] < Open[0] )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT][LEFT][COLOR=#FF0000][FONT=Helvetica][SIZE=13px] if (myEntryOrder == "LongEntry")
{
CancelOrder(myEntryOrder);
}[/SIZE][/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] if (EnableMA && Close[0] < EMA1[0] && EMA1[0]< EMA2[0] && myEntryOrder == null )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] EnterShortLimit(0,true, Contract_Quantity, entry_signal, "ShortEntry");[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] return;[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] else if(!EnableMA && myEntryOrder == null )[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] {[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] EnterShortLimit(0,true, Contract_Quantity, entry_signal, "ShortEntry");[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] return;[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] }[/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica] [/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica][SIZE=13px]protected override void OnOrderUpdate(Order order, double limitPrice, double stopPrice, int quantity, int filled, double averageFillPrice, OrderState orderState, DateTime time, ErrorCode error, string nativeError)
{
// Assign entryOrder in OnOrderUpdate() to ensure the assignment occurs when expected.
// This is more reliable than assigning Order objects in OnBarUpdate, as the assignment is not gauranteed to be complete if it is referenced immediately after submitting
if (order.Name == "LongEntry" || order.Name == "ShortEntry")
myEntryOrder = order;
// Evaluates for all updates to myEntryOrder.
if (myEntryOrder != null && myEntryOrder == order)
{
if (order.OrderState == OrderState.Filled)
entryOrder = null;
// Check if myEntryOrder is cancelled.
if (myEntryOrder.OrderState == OrderState.Cancelled)
{
// Reset myEntryOrder back to null
myEntryOrder = null;
}
}
}
private void OnExecutionUpdate(object sender, ExecutionEventArgs e)
{
// Cancel all orders if an execution is triggered after 9pm
if (Bars.IsFirstBarOfSession)
{
myAccount.CancelAllOrders(e.Execution.Instrument);
}
} [/SIZE][/FONT][/COLOR][/LEFT]
[LEFT][COLOR=#4D4D4D][FONT=Helvetica][SIZE=13px][/SIZE][/FONT][/COLOR][/LEFT]
if I am removing the code in red
here the error I am getting

Comment