makeev, честно говоря я вообще не очень понимаю кода. Что вы хотели в результате добиться?
var openp=0;
var closep=0;
var a =0;
var raznp=0;
var procp=0;
function calc()
{
var b = getMoneyBalance()+getSecBalance()*close;
if(open){a=a+1;}
if(a==1){openp=b;}
if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;
signal::alert(procp+"**"+raznp);
a=0;
openp=0;
closep=0;
}}
var b = getMoneyBalance()+getSecBalance()*close; оценка портфеля
if(open){a=a+1;} счетчик. При каждой новой свечи добавляет 1
if(a==1){openp=b;} при значении равной 1 записывает в глобальную переменную значения оценки портфеля
if(a==3){
closep=b;
raznp= closep-openp;
procp=(((closep*100)/openp)-100)/100;
signal::alert(procp+"**"+raznp);
a=0;
openp=0;
closep=0; При значении равному 3 записывает значения оценки портфеля. Потом вычисляем разницу записанных значений closep-openp. Записываем в глобальную переменную procp разницу изменения в процентном отношении. Позже выводим на монитор сообщения вида: (изменения в процентном отношении ** разница значений). Ну и позже обнуляем значения счетчика свечей «a», а также значения глобальных переменных openp,closep. Вот и все.
Что должно получиться? - На экран сообщение об изменении оценки портфеля.