var tablo = { buy_power : function(){ var ratio = Math.round((((ct).Buy_I_Volume/(ct).Buy_CountI)/((ct).Sell_I_Volume/(ct).Sell_CountI)) *100)/100 ; return ratio; }, volume_rate : function(period){ var sum = 0; for(var i = 0; i < period; i++) { sum = sum + [ih][i].QTotTran5J; } var avrage_sum = sum / period; return avrage_sum; }, co_perc : function(){ return Math.round ( ((ct).Buy_N_Volume / (tvol)) * 100); } } //**************Technical********************// //*****************************************// var technical = { //********CCI *****************// cci : function(period){ //*******TP*************// var Typical_Price = function(j){ if ([ih][j].PriceMax != 0 && [ih][j].PriceMin !=0 && [ih][j].PDrCotVal != 0) { var sum= ([ih][j].PriceMax + [ih][j].PriceMin + [ih][j].PDrCotVal) / 3; }else { var sum= 0; } return sum; } //**********MA***************// var Moving_Average = function(period){ var sum = 0; var error = 0; for (var i =0 ; i < period ; i++){ if(Typical_Price(i) == 0) { error= error+ 1; } sum = Typical_Price(i) + sum } var ma = sum / (period - error); return ma; } //*******Mean Deviation**********// var Mean_Deviation = function(period){ var md = 0; for (var j = 0;j < period;j++) { if(Typical_Price(j) != 0){ md = Math.abs(Typical_Price(j) - Moving_Average(period)) + md; } } var md_f = md / period; return md_f; } //******CCI*************// var CCI = Math.round (((Typical_Price(0) - Moving_Average(period)) / (0.015 * Mean_Deviation(period))) * 100 ) / 100; return CCI; //****************************// } //*****************************// } //******************************************// true==function(){ if (tablo.buy_power() > 0&&(technical.cci(14))>95 && (technical.cci(14))< 105){ (cfield0) = Math.round ((tablo.volume_rate(3) / tablo.volume_rate(16)) * 100 ) /100 + "**" + tablo.buy_power() + "**" + tablo.co_perc(); (cfield1) = technical.cci(14) ; return true; } }()