Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

Relative power (amisite.ru) for Amibroker (AFL)

Rating:
3 / 5 (Votes 3)
Tags:
index, amibroker

The custom index of market

Screenshots

Similar Indicators / Formulas

20 Day High's vs new 20 Day lows
Submitted by indranil999 almost 15 years ago
All in one Chart Ploter
Submitted by shravan2964 over 11 years ago
Advanced Elliott Waves
Submitted by MarcosEn almost 13 years ago
Interactive Linear Regression Channel
Submitted by InternetWorm almost 13 years ago
Williams Alligator System
Submitted by durgesh1712 about 13 years ago
*Level Breakout system*
Submitted by Tinych about 13 years ago

Indicator / Formula

Copy & Paste Friendly
///////////////////////////////
//
// ИНДЕКС РЫНКА. ОТНОСИТЕЛЬНАЯ СИЛА АКЦИЙ
// 
// 1. Суммируется процентное изменение на каждом следующем фрейме.
// 2. Индекс может содержать до 10 символов Symbol 1 - Symbol 0 // 3. Предусмотрено два алгоритма.
// Пропорциональный. Все бумаги входящие в индекс влияют на него равномерно
// Взвешенный по объему (Volume weighted).
// Вес бумаги определяется в зависимости от объема торгов за весть период расчета индекса.
// 4. Символы Symbol 10 - Symbol 12 в расчете не участвуют и предназначены только для сравнения с индексом
// 
// OOO
// www.amisite.ru
// 
///////////////////////////////


dat = ParamDate("Start Data", "01.01.2000", 0);

symb1 = ParamStr("Symbol 1","");
symb1S = ParamToggle("Show symbol 1?", "No|Yes", 0);
symb1C = ParamColor("color symbol 1", colorBlue);
symb2 = ParamStr("Symbol 2", "");
symb2S = ParamToggle("Show symbol 2?", "No|Yes", 0);
symb2C = ParamColor("color symbol 2", colorBlue);
symb3 = ParamStr("Symbol 3", "");
symb3S = ParamToggle("Show symbol 3?", "No|Yes", 0);
symb3C = ParamColor("color symbol 3", colorBlue);
symb4 = ParamStr("Symbol 4", "");
symb4S = ParamToggle("Show symbol 4?", "No|Yes", 0);
symb4C = ParamColor("color symbol 4", colorBlue);
symb5 = ParamStr("Symbol 5", "");
symb5S = ParamToggle("Show symbol 5?", "No|Yes", 0);
symb5C = ParamColor("color symbol 5", colorBlue);
symb6 = ParamStr("Symbol 6", "");
symb6S = ParamToggle("Show symbol 6?", "No|Yes", 0);
symb6C = ParamColor("color symbol 6", colorBlue);
symb7 = ParamStr("Symbol 7", "");
symb7S = ParamToggle("Show symbol 7?", "No|Yes", 0);
symb7C = ParamColor("color symbol 7", colorBlue);
symb8 = ParamStr("Symbol 8", "");
symb8S = ParamToggle("Show symbol 8?", "No|Yes", 0);
symb8C = ParamColor("color symbol 8", colorBlue);
symb9 = ParamStr("Symbol 9", "");
symb9S = ParamToggle("Show symbol 9?", "No|Yes", 0);
symb9C = ParamColor("color symbol 9", colorBlue);
symb0 = ParamStr("Symbol 0", "");
symb0S = ParamToggle("Show symbol 0?", "No|Yes", 0);
symb0C = ParamColor("color symbol 0", colorBlue);

symb10 = ParamStr("Symbol 10", "");
symb10C = ParamColor("color symbol 10", colorWhite);
symb11 = ParamStr("Symbol 11", "");
symb11C = ParamColor("color symbol 11", colorWhite);
symb12 = ParamStr("Symbol 12", "");
symb12C = ParamColor("color symbol 12", colorWhite);

Vol = ParamToggle("Volume weighted", "No|Yes", 0);
spread = ParamToggle("spread", "No|Yes", 0);

num =
(symb1 != "") +
(symb2 != "") +
(symb3 != "") +
(symb4 != "") +
(symb5 != "") +
(symb6 != "") +
(symb7 != "") +
(symb8 != "") +
(symb9 != "") +
(symb0 != "");

d = DateNum();
if(dat < d[1])
dat = ValueWhen(Status("firstvisiblebarindex") == BarIndex(), DateNum());

s1 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb1, "Close"), 1))));
s2 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb2, "Close"), 1))));
s3 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb3, "Close"), 1))));
s4 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb4, "Close"), 1))));
s5 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb5, "Close"), 1))));
s6 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb6, "Close"), 1))));
s7 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb7, "Close"), 1))));
s8 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb8, "Close"), 1))));
s9 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb9, "Close"), 1))));
s0 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb0, "Close"), 1))));

s10 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb10, "Close"), 1))));
s11 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb11, "Close"), 1))));
s12 = Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb12, "Close"), 1))));

if(Vol)
{
    V1 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb1, "Close")*Foreign( symb1, "volume"), 1)))));
    V2 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb2, "Close")*Foreign( symb2, "volume"), 1)))));
    V3 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb3, "Close")*Foreign( symb3, "volume"), 1)))));
    V4 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb4, "Close")*Foreign( symb4, "volume"), 1)))));
    V5 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb5, "Close")*Foreign( symb5, "volume"), 1)))));
    V6 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb6, "Close")*Foreign( symb6, "volume"), 1)))));
    V7 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb7, "Close")*Foreign( symb7, "volume"), 1)))));
    V8 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb8, "Close")*Foreign( symb8, "volume"), 1)))));
    V9 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb9, "Close")*Foreign( symb9, "volume"), 1)))));
    V0 = LastValue(Cum(IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb0, "Close")*Foreign( symb0, "volume"), 1)))));

    SumV = V1+V2+V3+V4+V5+V6+V7+V8+V9+V0;

    k1 = V1/SumV;
    k2 = V2/SumV;
    k3 = V3/SumV;
    k4 = V4/SumV;
    k5 = V5/SumV;
    k6 = V6/SumV;
    k7 = V7/SumV;
    k8 = V8/SumV;
    k9 = V9/SumV;
    k0 = V0/SumV;

    indx = Cum(
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb1, "Close"), 1)))*k1+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb2, "Close"), 1)))*k2+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb3, "Close"), 1)))*k3+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb4, "Close"), 1)))*k4+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb5, "Close"), 1)))*k5+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb6, "Close"), 1)))*k6+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb7, "Close"), 1)))*k7+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb8, "Close"), 1)))*k8+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb9, "Close"), 1)))*k9+
    IIf(DateNum() < dat, 0, Nz(ROC(Foreign( symb0, "Close"), 1)))*k0);
}
else
    indx = (s1+s2+s3+s4+s5+s6+s7+s8+s9+s0)/num;

if(spread)
{
    s1 = s1-indx;
    s2 = s2-indx;
    s3 = s3-indx;
    s4 = s4-indx;
    s5 = s5-indx;
    s6 = s6-indx;
    s7 = s7-indx;
    s8 = s8-indx;
    s9 = s9-indx;
    s0 = s0-indx;
    s10 = s10-indx;
    s11 = s11-indx;
    s12 = s12-indx;
    indx = 0;
}
Plot(indx, "index", colorBlack, styleThick);

if(symb1S)
{  Plot(s1, symb1, symb1C);
   PlotText(symb1, BarCount, LastValue(s1), symb1C);}
if(symb2S)
{  Plot(s2, symb2, symb2C);
   PlotText(symb2, BarCount, LastValue(s2), symb2C);}
if(symb3S)
{  Plot(s3, symb3, symb3C);
   PlotText(symb3, BarCount, LastValue(s3), symb3C);}
if(symb4S)
{  Plot(s4, symb4, symb4C);
   PlotText(symb4, BarCount, LastValue(s4), symb4C);}
if(symb5S)
{  Plot(s5, symb5, symb5C);
   PlotText(symb5, BarCount, LastValue(s5), symb5C);}
if(symb6S)
{  Plot(s6, symb6, symb6C);
   PlotText(symb6, BarCount, LastValue(s6), symb6C);}
if(symb7S)
{  Plot(s7, symb7, symb7C);
   PlotText(symb7, BarCount, LastValue(s7), symb7C);}
if(symb8S)
{  Plot(s8, symb8, symb8C);
   PlotText(symb8, BarCount, LastValue(s8), symb8C);}
if(symb9S)
{  Plot(s9, symb9, symb9C);
   PlotText(symb9, BarCount, LastValue(s9), symb9C);}
if(symb0S)
{  Plot(s0, symb0, symb0C);
   PlotText(symb0, BarCount, LastValue(s0), symb0C);}
if(symb10 != "")
{  Plot(s10, symb10, symb10C);
   PlotText(symb10, BarCount, LastValue(s10), symb10C);}
if(symb11 != "")
{  Plot(s11, symb11, symb11C);
   PlotText(symb11, BarCount, LastValue(s11), symb11C);}
if(symb12 != "")
{  Plot(s12, symb12, symb12C);
   PlotText(symb12, BarCount, LastValue(s12), symb12C);}

2 comments

1. akerstkh

!!!
This is an excellent Visual Tool.

2. morgen

Ocen horosho!
Spasibo

Leave Comment

Please login here to leave a comment.

Back