Пробуем написать простенького робота который открыть позицию на последних 30 секундах формирования свечи!
Код: Выделить всё
function Initialize()
{
StrategyName = "Paterny_v1";
UseClosedBar=false; //разрешение на открывание позиции внутри бара
LongLimit = 10;
ShortLimit = -10;
AddGlobalVariable("ON_OFF", Types.Boolean, false);
AddGlobalVariable("path", Types.String, @"c:\\dell\\RobotSearch_level.txt");
AddInput("Input1", Inputs.Candle, 5, true, "SRM9=ФОРТС");
}
function OnUpdate()
{
TimeSpan Delta = new TimeSpan(0, 04, 30);
TimeSpan Interval = BarTime()+Delta;
TimeSpan Time_0;
Time_0=DateTime.Now.TimeOfDay;
if (Time_0>=Interval)
{ON_OFF=true;}
else
{ON_OFF=false;}
using (System.IO.StreamWriter sw = System.IO.File.CreateText(path))
{
sw.WriteLine("время BarTime = " + BarTime().ToString());
sw.WriteLine("системное время = " + Time_0.ToString());
sw.WriteLine("BarTime()+Delta + 4.30 = " + Interval.ToString());
sw.WriteLine("ON_OFF = " + ON_OFF.ToString());
sw.Close(); sw.Dispose();
}
if(ON_OFF==true) //Разрешаем открывать позицию за 30 секунд до закрытия свечи (примерно 30секунд)
{
/// ПРАВИЛО 1
if (Input1.Open< Input1.Close )
{
EnterLong();
// StopLoss(0.1, SignalPriceType.DeltaInPercentFromAveragePrice);
}
/// ПРАВИЛО 2
if (Input1.Open> Input1.Close )
{
EnterShort();
// StopLoss(0.1, SignalPriceType.DeltaInPercentFromAveragePrice);
}
}
}