синтаксис в метатрейдере

 
как написать используя синтаксис и функции Метатрейдера след. текст, который написан в Метастоке:


p1:=Input("Period LR",1,1000,120);

p2:=Input("Period RSI",1,1000,120);

Up:=If( LinearReg(C,p1)>Ref(LinearReg(C,p1),-1),LinearReg(C,p1)-Ref(LinearReg(C, p1),-1),0);

Dn:=If( LinearReg(C,p1)<Ref(LinearReg(C,p1),-1),Ref(LinearReg(C,p1),-1)-LinearReg(C, p1),0);

U:=Sum(Up,p2); //<- ?????

D:=Sum(Dn,p2); //<- ?????

RLR:=Mov(100*U/(U+D),p1,S); //<- ?????

RLR;
 

Индикатора или функции линейной регрессии в стандартной сборке МТ4 что-то не припомню, но в Code Base, кажись, относительно недавно выложена полиномиальная регрессия. Я в языке Метастока не силен, но вообще-то это нечто похожее на RSI, в котором реальные цены заменены соответствующими линейными регрессиями. Очень любопытная идея...

 

Почему компилятор выдает ошибку?

switch (Symbol ())

{

   case "EURGBP":

      .....................;

   case "GBPUSD":

      ..................;

      ..................;

   default:

      .................;

}

 
andryuha977 писал(а) >>

Почему компилятор выдает ошибку?

....

В документации: https://docs.mql4.com/ru/basis/operators/switch

написано: Каждый вариант case может быть помечен целой константой, символьной константой или константным выражением.

А стринг не символ - перепишите через if и else if

Причина обращения: