Nowa świeca - wady i zalety

O jezykach programowania w platformach i nie tylko.
myyyt
Bywalec
Bywalec
Posty: 19
Rejestracja: 30 sie 2010, 08:55

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: myyyt »

miałem EA z vol[0], działało ok... ale kiedyś na realnym koncie się zapętliło... shit happens.. wiec chyba lepiej sprawdzac time[0] ;)

WojtexWay
Gaduła
Gaduła
Posty: 145
Rejestracja: 18 wrz 2012, 19:22

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: WojtexWay »

personov pisze: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.
np. tak:

Kod: Zaznacz cały

int start(){
bool NewBar = isNewBar();

if(NewBar){
...//część kodu wykonywana co słupek
}
...//reszta kodu
if(NewBar){
...//inna część kodu wykonywana co słupek
}
...//itd.
}

Piuro
Bywalec
Bywalec
Posty: 11
Rejestracja: 04 lip 2006, 16:12

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: Piuro »

personov pisze: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.
mozna tez wartosc isNewBar() w zmiennej na samym poczatku funkcji start zapisac, i z tak zapisanej wartosci korzystac w calym kodzie programu

Kod: Zaznacz cały


bool varNewBar;

int start()
{
  varNewBar=isNewBar();

  if (varNewBar) {..wykonaj kod}
  .
  .
}

void funkcja()
{
   if (varNewBar) {..wykonaj kod}
}


bialy
Stały bywalec
Stały bywalec
Posty: 54
Rejestracja: 16 maja 2011, 20:41

Re: Nowa świeca - wady i zalety

Nieprzeczytany post autor: bialy »

wersje z Volume[0] widzialem kiedys we wskazniku z netu i uzylem go w swoim. same problemy. jedynym skutecznym dla mnie sposobem na rozpoznawania nowych swiec jest deklaracja na poczatku zmiennej int BarCount, a potem:
w init:

Kod: Zaznacz cały

BarCount=Bars;
w start:

Kod: Zaznacz cały

if(BarCount != Bars) {
   ...
   BarCount=Bars;
}

zawsze na koniec i w newralgicznych miejscach automatu

Kod: Zaznacz cały

BarCount=Bars;
dziala zawsze /podobne jest do isNewBar()/. duzym plusem jest to ze mozna uzyc funkcji iBars. wtedy mozna na wykresie H1 odliczac swieczki np z M5. poczatkowo byl problem, ale teraz nie pamietam powodu. albo kod wskaznika, albo sam metatrader. pomogla zmienna static. teraz jest ok

Kod: Zaznacz cały

BarCount = iBars(Symbo(),PERIOD_M5);
widzialem tez cos takiego /problemy jak z volume/
Open[0] == High[0] == Low[0] == Close[0]
nie bylo dokladnie tak, ale chodzilo o porownanie wszystkich wartosci OHLC /na otwarciu teoretycznie wszystkie sa takie same/
PS. sprawdz wszystkie rozwiazania z watku w jakims wskazniku /zmieniajac interwaly lub restartujac metatradera/. wskazniki potrafia wariowac i najlepiej jest go zadac na nowy wykres lub zrestartowac metatradera /zmiana interwalu nie zawsze go resetuje, mialem taki problem przy pisaniu swojego/
oszczedzajmy cykle procesora

ODPOWIEDZ