Общие вопросы по разработке > Как прописать правило стратегии?
Как прописать правило стратегии?
Например. Берем индикатор EMA (15 периодов) и  EMA (40 периодов). Хочу проверить написав: if Ema (40 периодов) > EMA (15 периодов) на какое нибудь количество условных единиц, то заходим лонг. Как такое правило описать???
			
									
						Re: Как прописать правило стратегии?
Код: Выделить всё
/**Разница показаний ABCD если больше опр показателя то
Developed by Егорка;
Algorithm = хз;**/
function Initialize()
{
   StrategyName = "Импульсная основа ABCD";
   AddInput("Input1", Inputs.Candle, 5, true, "SRU6=ФОРТС");
   LongLimit = 1;
   ShortLimit = -1;
    AddGlobalVariable("R", Types.Double, 0);
}
function OnUpdate()
{
   /// ПРАВИЛО 1
   if ( (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0) < 0) && (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", -1)/**<<<<< Нужно чтобы предыдущая свеча индикатора была меньше следующей на 5000**/ <  MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0)) )
   {
      EnterLong();
   }
   /// ПРАВИЛО 2
   if ( (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0) > 0) && (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", -1) >   MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0)) ) /**А ЗДЕСЬ НАОБОРОТ/**
   {
      EnterShort();
   }
}Re: Как прописать правило стратегии?
По вскому пытался, но голова не варит в етом направлении вообще
			
									
						Re: Как прописать правило стратегии?
НУ поняли да?, не просто больше или меньше, а больше или меньше на 5000
			
									
						Re: Как прописать правило стратегии?
Сломав мозг задачу частично удалось решить вводом переменных var i и var z
			
									
						Код: Выделить всё
function OnUpdate()
{
var i = 5000;
var z = -5000;
{
   /// ПРАВИЛО 1
   if ( (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0) < 0) && ((MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", -1) + MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0)) < z ))
   {
      EnterLong();
   }
   /// ПРАВИЛО 2
   if ( (MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0) > 0) && ((MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", -1) - MY.VolumeAccumABCD(Input1).GetValue("VolumeAccum", 0)) > i ))
   {
      EnterShort();
   }
}
}Re: Как прописать правило стратегии?
но работает кривовато, ибо не так как нам надо складывает отрицательные числа
			
									
						Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 62 гостя