Страница 1 из 3
					
				ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 17:29
				 Ипонамама
				Не пойму как в конструкторе стратегий добавить в базовую  ES возможность реверса в случае превышения процента убытка.
Подскажите спецы ?  

 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 18:57
				 evge
				Ну если правильно понял, то так:
добавив 2 правила:
где проверяем позицию CurrentPosition() > 0 - т.е. сейчас открыт long, < 0 - short
и проверяем на превышение % убытка < P3 - в параметре задаем отрицательное значение (убыток)
и прописываем открыть противоположную позицию
			
		
				
			 
- Alfa_ES-01.png (20.37 КБ) 36381 просмотр
 
			
		
				
			 
- Alfa_ES-02.png (25.84 КБ) 36381 просмотр
  
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 19:03
				 evge
				но что-бы это всё работало! надо основные 2 правила изменить!
так:
			
		
				
			 
- Alfa_ES-03.png (26.18 КБ) 36380 просмотров
 
			
		
				
			 
- Alfa_ES-04.png (26.15 КБ) 36380 просмотров
  
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 19:52
				 Ипонамама
				Спасибо - прогоню по оптимизациям, посмотрю работоспособность
			 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 21:52
				 Ипонамама
				Мдямс... херь получается, Хуже чем просто ES  

 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 22:08
				 evge
				Да, стратегии примитивные. Эти стратегии как мини-демо примеры в терминале. Нужно свое составлять.
			 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 22:46
				 Ипонамама
				evge писал(а):Да, стратегии примитивные. Эти стратегии как мини-демо примеры в терминале. Нужно свое составлять.
Да блин не умею... я в это дело 3 месяца назад сунулся. Никогда и рядом не стоял ))
Зато у меня куча времени на тестирование и обкатку. Приму помощь грамотного чела в разработке роботов и поделюсь результатами.
 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 04 мар 2016, 23:48
				 evge
				Ипонамама писал(а):не умею
думаю лучше всего это писать индикаторы, а сам робот будет простой.
Индикатор подает сигнал: купи, продай, закрой позицию.
А в стратегии простые правила их исполняющие.
 
			
					
				Re: ES+стоп-лосс ???
				Добавлено: 05 мар 2016, 07:26
				 evge
				всё таки 1,2 правила надо менять. Просто проверка EMA > SMA или EMA < SMA не подойдет для реверса.
надо сделать условие пересекает вверх \ вниз
и ещё
правило 3,4 будет всегда делать реверс, независимо от того что сейчас показывает EMA и SMA
т.е. если после % убытка и переворота опять будет убыток сработает ещё раз реверс.
Т.е. в правилах 3 и 4 можно (а может и не нужно) добавить правило EMA>SMA и EMA<SMA из правил 1 и 2 соответственно.
итоговый код стратегии:
Код: Выделить всё
/**
Стратегия на пересечении быстрой ЕМА и медленной SMA.
Developed by evge;
Algorithm = ТРЕНД;
Hash code 4A9CEBFFFA1A8F7C09FA291DBC599531
**/
function Initialize()
{
   StrategyName = "Alfa_ES";
   AddParameter("P1", 3, "", 1);
   AddParameter("P2", 75, "", 0);
   AddParameter("P3", -1, "", 1);
   AddInput("Input1", Inputs.Candle, 60, true, "SBER=МБ ЦК");
   LongLimit = 0;
   ShortLimit = 0;
}
function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (CrossAbove(EMA(Input1.Close, P1), SMA(Input1.Close, P2)) == true) && (CurrentPosition() <= 0) )
   {
      EnterLong();
   }
   /// ПРАВИЛО 2
   if ( (CrossBelow(EMA(Input1.Close, P1), SMA(Input1.Close, P2)) == true) && (CurrentPosition() >= 0) )
   {
      EnterShort();
   }
   /// ПРАВИЛО 3
   if ( (CurrentPosition() > 0) && (CurrentPLper() < P3) && (EMA(Input1.Close, P1) > SMA(Input1.Close, P2)) )
   {
      EnterShort();
   }
   /// ПРАВИЛО 4
   if ( (CurrentPosition() < 0) && (CurrentPLper() < P3) && (EMA(Input1.Close, P1) < SMA(Input1.Close, P2)) )
   {
      EnterLong();
   }
}
 
			
					
				Тестирование и оптимизация
				Добавлено: 05 мар 2016, 08:21
				 evge
				Это тестирование и оптимизация без 3,4 правил стратегии
на скриншоте P3=-1, но на самом деле оно -1000, т.е. правила 3, 4 отключены
оптимизация с параметром P3 = -1000, т.е. отключены правила 3, 4 
P1, P2 от 5 до 150 с шагом 5