просто нужно помочь

 
просто нужно помочь
совершенно непонятно
вот ниже эксперт который рисует стрелки вверх-вниз в зависимости от значения индкатора - есть значение, рисует стрелку

так вот - если на одном и том же графике наложить символы из индикатора и из эксперта - они будут нарисованы НА РАЗНЫХ барах

кто нибудь может объяснить?

--------------
/*[[
Name := XO
Author :=
Link := 1@1.ru
Notes := POINT FIGURES
Lots := 1
Stop Loss := 30
Take Profit := 155
Trailing Stop :=40
]]*/


if iCustom("I-XO-A-S",MODE_FIRST,0) then {
SetArrow(CurTime,C,SYMBOL_ARROWUP,Blue);
};

if iCustom("I-XO-A-S",MODE_SECOND,0) then {
SetArrow(CurTime,C,SYMBOL_ARROWDOWN,Red);
};

---------------
вот индикатор, "I-XO-A-S"

/*[[
Name := XO-I-A-S
Author :=
Link := 1@1.ru
Notes := POINT FIGURES INDICATOR
Separate Window := No
First Color := Blue
First Draw Type := Symbol
First Symbol := 217
Use Second Data := Yes
Second Color := Red
Second Draw Type := Symbol
Second Symbol := 218
]]*/

Input: BoxSize(15);

var: CurrentBar(0); // ïîëîæåíèå òåêóùåãî áàðà îò ïîñëåäíåãî, èíäåêñ ìàññèâà çíà÷åíèé OHLC
var: startflag(0), cur(0); // ôëàãè, âñïîì ïåðåìåííûå

var: Step(0); // ðàçìåð øàãà â çíà÷åíèÿõ (BoxSize - â ïóíêòàõ)

var: Up(0), Dn(0); // ôëàãè äâèæåíèÿ ââåðõ èëè âíèç
var: Hi(0), Lo(0); // ïåðåîïðåäåëåííûå Hi Lo äëÿ òåêóùåãî áàðà

var: shift(0), cnt(0), loopbegin(0), first(True), prevbars(0), sum(0);
var: digits(0);


digits = log(1/Point)/log(10); // êîëè÷åñòâî çíàêîâ ïîñëå çàïÿòîé
Step = Normalize(BoxSize*Point,digits);

SetLoopCount(0);

// check for additional bars loading or total reloading
If Bars < prevbars Or Bars-prevbars>1 Then first = True;
prevbars = Bars;

If first Then {
// loopbegin prevent couning of counted bars exclude current
loopbegin = Bars-2;
If loopbegin < 0 Then Exit; // not enough bars for counting

Hi=c[loopbegin];
Lo=c[loopbegin];

first = False;
};

loopbegin = loopbegin+1; // current bar is to be recounted too

For CurrentBar = loopbegin Downto 0 {

cur = c[CurrentBar];

if cur > (Hi+Step) then {
if Dn = 1 then { // direction changed - BUY signal
setIndexValue(CurrentBar, cur);
};
Up=1;
Dn=0;
Hi=cur;
Lo=cur-Step;
};
if cur < (Lo-Step) then {
if Up = 1 then { // direction changed - SELL signal
setIndexValue2(CurrentBar, cur);
};
Up=0;
Dn=1;
Hi=cur+Step;
Lo=cur;
};

loopbegin = loopbegin-1; // prevent to previous bars recounting
};