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

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

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

Добавлено: Геннадий » 13 мар 2016, 06:29

Тема: Re: ES+стоп-лосс ???

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

Я смотрел семинары Герчика. Там есть хорошие идеи по использованию ATR дневного графика. Вот к чему я пришел: например на последнем баре дневной ATR(14) на SIH6 составляет 1800 пунктов. Значит для внутридневной торговли нет смысла ставить профит выше 1800, а если будет боковик то относительно цены открытия движение может составить +(-)1/2 от 1800. Тогда я роботу задаю профит 1/2 от дневного ATR(14). Это составить 900 пунктов. По стратегии прибыль должна быть 3:1. Исходя из этого задаю стоп 300 пунктов. Вот как это выглядит:

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

/**Стратегия основана на определении моментов  пересечения сглаженной линии D SO и сигнальной линии SO (система "SO"). Особенности:
- сигнал на продажу выдается, если сглаженная линия D индикатора SO пересекает сигнальную линию SO сверху вниз;
- сигнал на закрытие шорта выдается 1) если закрытие бара ниже 900 пунктов профита (1/2 дневного ATR);
2 ) если закрытие выше бара 300 пунктов стоп (1/6 дневного ATR); 3) закрывается после 23:28.
- при тестировании цена сделки фиксируется как цена закрытия бара, на котором появился сигнал.
- в роботе заявка выставляется после закрытия бара, на котором появился сигнал.
Developed by Gengal;
Algorithm = ТРЕНД;**/

function Initialize()
{
   StrategyName = "GenGal_SO_test5";
   AddParameter("PK", 37, "", 1);
   AddParameter("PD", 31, "", 1);
   AddParameter("Psig", 10, "", 1);
   AddParameter("DATR", 1800);  // задается величина дневного ATR(14)
   AddInput("Input1", Inputs.Candle, 30, true, "SiH6=ФОРТС");
   LongLimit = 1;
   ShortLimit = -1;
}

function OnUpdate()
{
   /// ПРАВИЛО 1
if ( (CrossBelow(SO(Input1,PK, PD, Psig)["D"], SO(Input1, PK, PD, Psig)["Signal"]) == true)&& CurrentPosition() == 0 )
   {
      EnterShort();
   }
  /// ПРАВИЛО 2
   if (  (  (Input1.Close  < (AverPrice()-DATR/2)) ||         // условие закр сделки по профиту
            (Input1.Close  > (AverPrice()+DATR/6))  ) && CurrentPosition() < 0 )    // условие закр сделки по стопу
   {
            CloseShort();   
    }
/// ПРАВИЛО 3
   if ( (BarTime() > AsTime(23, 28, 0))&& CurrentPosition() < 0 )  // закрытие сделки в конце сессии
    {
             CloseShort();
     }
 }
Вложения
Ashampoo_Snap_2016.03.13_02h20m12s_001_.png
Ashampoo_Snap_2016.03.13_02h20m12s_001_.png (41.35 КБ) 17539 просмотров