Каталог файлов форума

Список вложений в сообщениях, оставленных на этой конференции.

Все файлы форума: 1230

Добавлено: evge » 14 авг 2016, 12:18

Тема: Re: закрытие позиции

Текст сообщения:

Пример реализации с сохранением индекса бара.

Стратегия - пример, т.е. это не рабочая стратегия. Для демонстрации открывается позиция в лонг при условии, что бар падающий и позиция текущая не открыта.

Здесь M - параметр стратегии, определяющий количество минут до закрытия позиции (по умолчанию 1)

Если разница времени открытия позиции и времени текущего бара отрицательная (перенос на след день), позиция так же закрывается.

Код: Выделить всё

/**ClosePositionMinute
Developed by evge;**/

function Initialize()
{
   StrategyName = "ClosePositionMinute";
   AddParameter("M", 1, "", 1);
   AddInput("Input1", Inputs.Candle, -15, true, "SBER=МБ ЦК");
   LongLimit = 1;
   ShortLimit = -1;

   AddGlobalVariable("OpenPosition", Types.Int, 0);
}

function OnUpdate()
{

   if (CurrentPosition() != 0 && OpenPosition == 0 )
      OpenPosition = CurrentIndex - 1;
   if (CurrentPosition() == 0 && OpenPosition != 0)
      OpenPosition = 0;

   /// ПРАВИЛО 1
   if ( (Input1.Open > Input1.Close) && (CurrentPosition() == 0) )
   {
      EnterLong();      
   }

   /// ПРАВИЛО 2
   TimeSpan iM = BarTime() - BarTime(CurrentIndex - OpenPosition);
   if ( (CurrentPosition() != 0) && iM.TotalMinutes >= M || iM.TotalMinutes < 0)
   {
      ClosePosition();
   }

}


ClosePositionMunute-02.png
ClosePositionMunute-02.png (42.24 КБ) 22870 просмотров

ClosePositionMunute-01.png
ClosePositionMunute-01.png (33.33 КБ) 22870 просмотров