Overflow in Mul() function

Formułki do programów, skrypty, programowanie
Animator działu: Dark

Overflow in Mul() function

Postprzez fetta » 2010-05-18, 22:48

srednia := Input("dlugosc sredniej wolumenu", 1, 200, 20);
ema1 := Input("ema short", 1, 200, 10);
ema2 := Input("ema long", 1, 200, 15);
ZORD := Ref(zord, -1) + (CLOSE - Ref(CLOSE, -1) * If(VOLUME>Mov(VOLUME, srednia, S), 0, Ref(zord, -1)));

ZORD;Mov(ZORD, ema1, E); Mov(ZORD, ema2, E);

error: Period value out of valid range in mov() function

wie ktos co jest nie tak z kodem? po usunieciu dwoch EMA na koncu, zeby zostawic tylko ZORD, wstawia puste okno i nie wywala bledu. Domyslam sie, ze nie pasuje mu REF(zord, -1) kiedy poprzedniego elementu jeszcze nie ma, wie ktos jak to rozwiazac?
fetta
 
Posty: 9
Dołączenie: 2010-04-21, 15:05

Re: Overflow in Mul() function

Postprzez Lucek » 2010-05-19, 00:07

Nie wiem czy pomogę,ale może nakieruję na właściwy trop.

srednia := Input("dlugosc sredniej wolumenu", 1, 200, 20);
ema1 := Input("ema short", 1, 200, 10);
ema2 := Input("ema long", 1, 200, 15);
ZORD1:= CLOSE - Ref(CLOSE, -1) * VOLUME;
ZORD := ZORD1 + (CLOSE - Ref(CLOSE,-1) * If(VOLUME>Mov(VOLUME, srednia, S), 0,ZORD1));

ZORD;
Mov(ZORD, ema1, E); Mov(ZORD, ema2, E);
Lucek
 
Posty: 158
Dołączenie: 2006-06-26, 20:09

Re: Overflow in Mul() function

Postprzez fetta » 2010-05-19, 12:48

srednia := Input("dlugosc sredniej wolumenu", 1, 200, 20);
ema1 := Input("ema short", 1, 200, 10);
ema2 := Input("ema long", 1, 200, 25);
ZORD1:= CLOSE / (Ref(CLOSE, -1)) * VOLUME;
ZORD := ZORD1 + ((CLOSE / Ref(CLOSE,-1)) * If(VOLUME>Mov(VOLUME, srednia, S), 0,ZORD1));

Mov(ZORD, ema1, E); Mov(ZORD, ema2, E);

wszystko pisalem na szybko i nie mialo to za duzo sensu, teraz ten wskaznik cokolwiek robi dopiero.
Rozwiazanie tymczasowe dziala, ale mija sie z idea. Wzor na ten wskaznik mozna zapisac tak:
ZORD(0) := 0
jezeli w danym dniu wolumen jest wiekszy od sredniego wolumenu z 'srednia' dni, to
ZORD(n) := ZORD(n-1) + close(n) / close(n-1) * VOL(n)
else
ZORD(n) := ZORD(n-1)

liczy sie prawie tak samo jak NVI. Problem polega na tym, ze nie wiem czy da sie w metastocku zrobic wskaznik rekurencyjny?
fetta
 
Posty: 9
Dołączenie: 2010-04-21, 15:05

Re: Overflow in Mul() function

Postprzez Darkh » 2010-05-20, 21:37

nie do konca rozumiem..
ale byc moze funkcja PREV
You're not deep, you're not an intellectual, you're not an artist, you're not a critic, you're not a poet, you just have internet access.
Awatar użytkownika
Darkh
 
Posty: 449
Dołączenie: 2010-03-10, 22:01

Re: Overflow in Mul() function

Postprzez fetta » 2010-05-26, 02:32

probowalem robic PREV zamiast ref(x, -1) ale wychodzi to samo - sprobuj moze wklepac te funkcje do metastocka i poprawic? bo mi pomimo wielu prob sie nie udalo zrobic funkcji ktora zaczyna sie od x(0):=1 i w nastepnych dniach sie odnosi do PREV, nie wiem, nie ma takiej opcji przewidzianej w metastock? wzor na funkcje podalem, n jest dniem dla ktorego liczymy, n-1 to dzien poprzedni
fetta
 
Posty: 9
Dołączenie: 2010-04-21, 15:05


Powróć do Formuły

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość

cron