Nowa świeca - wady i zalety

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Nowa świeca - wady i zalety

Nieprzeczytany post autor: personov »

Mam pytanie co jest lepsze, aby określić moment otwarcia nowej świecy :
- funkcja isNewBar()
- Volume[0]==1
Obie możliwości określają to samo, ale co jest lepsze i dlaczego ?
Jeśli istnieje prosty zapis Volume[0]==1 to po co sobie wogóle zawracać głowę funkcją ?
Solą życia jest kasa.

Awatar użytkownika
reptile
Maniak
Maniak
Posty: 2799
Rejestracja: 13 gru 2008, 13:48

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: reptile »

Nigdy nie myślałem o Vol. A jak to faktycznie jest?Bo wydaje się lepsze.
Czy nowa świeca zawsze startuje z Volume[0]==0 ?
R.E.P.T.I.L.E. - Robotic Electronic Person Trained for Infiltration and Logical Exploration (off-line,only e-mail)

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: personov »

Nie 0. Startuje z 1.
Teoretycznie zawsze.
Dlatego pytam o wady i zalety w praktyce.
Solą życia jest kasa.

artur_ar
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 09 gru 2009, 15:55

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: artur_ar »

W czasie jadnego wykonania funkcji start mogą nadejść dwa lub i więcej ticków, wtedy pierwszą wartością volume otrzymaną przez ea będzie 2 albo więcej, lepiej warunek powstania nowej świecy oprzeć na sprawdzeniu Time[0].
Obrazek

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: personov »

Czyli jest jeszcze trzecia koncepcja ? ;)
Solą życia jest kasa.

artur_ar
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 09 gru 2009, 15:55

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: artur_ar »

Nie, mówię o funkcji isNewBar, ona sprawdza czy Time[0] jest różny od zapisanego w zmiennej i wykonuje kod.
Obrazek

Awatar użytkownika
personov
Pasjonat
Pasjonat
Posty: 1525
Rejestracja: 09 sie 2009, 21:27

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: personov »

Tylko, że funkcję isNewBar() można użyć tylko raz w całym kodzie.
Ale sama koncepcja porównywania Time[0] z poprzednim zapisanym jest ciekawa. Można to chyba jakoś napisać pomijając funkcję. Tak, aby można było tego użyć więcej razy.
Solą życia jest kasa.

Awatar użytkownika
xpep
Pasjonat
Pasjonat
Posty: 844
Rejestracja: 02 gru 2007, 11:50

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: xpep »

persenov pewnie ze mozna, funkcji isnewbar() uzywasz tylko raz bo tam masz 1 zmienna gdzie sobie zapisujesz ten czas ktory pozniej sprawdzasz i jesli sie zmienil to znaczy ze jest nowa swieca, rozwiazanie jest proste musisz miec wiecej zmiennych tzn wczedzie gdzie chcesz robic to porowanie potrzebna jest jedna, mozesz tez zrobic tak ze zrobisz sobie funkcje isnewbar1(), isnewbar2() itd ile razy potrzebujesz

-- Dodano: ndz 30-09-2012, 12:45 --
artur_ar pisze:W czasie jadnego wykonania funkcji start mogą nadejść dwa lub i więcej ticków, wtedy pierwszą wartością volume otrzymaną przez ea będzie 2 albo więcej, lepiej warunek powstania nowej świecy oprzeć na sprawdzeniu Time[0].
testowales to? wydaje mi sie ze nie masz racji no bo mamy pierwszy tick i jesli ea jest co tick odpalane to skad niby ma wiedziec ze wpadly 2 ticki skoro wciaz sie wykonuje na pierwszym? wiec wg mnie powinnien dzialac ten motyw z volume, tyle ze nigdy tego nie uzywalem a mt4 jest tak zagadkowe ze wszystko moze sie wydarzyc :D

Awatar użytkownika
Pierz Andrzej
Przyjaciel Forum
Przyjaciel Forum
Posty: 1200
Rejestracja: 02 lip 2006, 14:17

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: Pierz Andrzej »

xpep pisze:wydaje mi sie ze nie masz racji no bo mamy pierwszy tick i jesli ea jest co tick odpalane to skad niby ma wiedziec ze wpadly 2 ticki skoro wciaz sie wykonuje na pierwszym?
Bo to nie EA ma wiedziec jaki jest Volumen tylko MT4.

funkcja start() musi zostac wykonana do konca i moze sie tak zdazyc ze pierwszy tick nadejdzie w trakcie jej wykonywania i zostanie zignorowany ;)
dlatego ja zwasze uzywalem opcji opartej na Time[0], ale az po niedzieli sprawdze ten Volumen ;)
z poważaniem
Andrzej Pierz
FOREX-SERVICE

artur_ar
Stały bywalec
Stały bywalec
Posty: 22
Rejestracja: 09 gru 2009, 15:55

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: artur_ar »

@personov zwyczajnie

Kod: Zaznacz cały

if(Time[0]!=prevTime)
  {
  prevTime=Time[0];
  ... wykonaj kod;
  }
Pewnie można wykonać to porownanie więcej razy w kodzie, w takim razie przypisanie prevTime=Time[0] musi się znaleźć na końcu funkcji start żeby pozostałe sprawdzenia miały szansę w ogóle się wykonać.

@xpep nie testowałem, wyobrażam sobie taką sytuację: przychodzi tick (my wiemy, że jest to ostatni tick starej świecy ale ea tego nie wie bo skąd miałby wiedzieć), rusza funkcja start, w czasie jej wykonania przychodzi następny tick (pierwszy nowej świecy), następnie start dobiega końca i ea czeka na kolejny tick, po jego nadejściu rusza ponownie start ale volume[0] wynosi 2, w ten sposób ea może pominąć utworzenie świecy, tym bardziej że w czasie dynamicznego rynku podczas jednego przebiegu może nadejść więcej niż jeden tick, wtedy pierwsze odczytane volume może być równe 2,3,4 czy ile chce.
Obrazek

ODPOWIEDZ