Here is my code:
Calculate = Calculate.OnBarClose;
EntriesPerDirection=1;
EntryHandling = EntryHandling.AllEntries;
IsExitOnSessionCloseStrategy = false;
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 = 1;
// Disable this property for performance gains in Strategy Analyzer optimizations
// See the Help Guide for additional information
IsInstantiatedOnEachOptimizationIteration = true;
Lot1 = 4;
MinTickAway = 1;
Profit=3;
SL=650;
TA=10;
Bars=5;
}
else if (State == State.Configure)
{
AddDataSeries(BarsPeriodType.Minute, 120);
//AddDataSeries(BarsPeriodType.Tick, 1);
AddChartIndicator(AV());
}
}
private double line=0;
private double entry1_price=0;
protected override void OnBarUpdate()
{
/*
if (State==State.Realtime && Position.MarketPosition==MarketPosition.Flat)
{
EnterLong(Lot1,"Entry1");
SetStopLoss("Entry1",CalculationMode.Ticks,100,tru e);
SetProfitTarget("Entry1",CalculationMode.Ticks,100 ,true);
}
return;
*/
if (Profit==1)
line=AV().Av1[0];
else if (Profit==2)
line=AV().Av2[0];
else if (Profit==3)
line=AV().Av3[0];
else if (Profit==4)
line=AV().Av4[0];
else if (Profit==5)
line=AV().Av5[0];
if (Position.MarketPosition==MarketPosition.Flat && BarsInProgress==0)
{
//ENTRY 1
if ((BarsSinceExitExecution("Stop loss") > Bars || BarsSinceExitExecution("Stop loss") == -1) &&
Close[0]+MinTickAway*TickSize<line)
{
//Print("The time and line are " + Time[0] + line);
SetStopLoss("Entry1",CalculationMode.Ticks,SL,fals e);
SetProfitTarget("Entry1",CalculationMode.Ticks,TA, false);
EnterLong(Lot1,"Entry1");

Comment