
Nowa świeca - wady i zalety
Re: Nowa świeca - wady i zalety
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] 

Re: Nowa świeca - wady i zalety
np. tak: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.
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.
}
Re: Nowa świeca - wady i zalety
mozna tez wartosc isNewBar() w zmiennej na samym poczatku funkcji start zapisac, i z tak zapisanej wartosci korzystac w calym kodzie programupersonov 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.
Kod: Zaznacz cały
bool varNewBar;
int start()
{
varNewBar=isNewBar();
if (varNewBar) {..wykonaj kod}
.
.
}
void funkcja()
{
if (varNewBar) {..wykonaj kod}
}
Re: Nowa świeca - wady i zalety
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:
w start:
zawsze na koniec i w newralgicznych miejscach automatu
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
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/
w init:
Kod: Zaznacz cały
BarCount=Bars;
Kod: Zaznacz cały
if(BarCount != Bars) {
...
BarCount=Bars;
}
zawsze na koniec i w newralgicznych miejscach automatu
Kod: Zaznacz cały
BarCount=Bars;
Kod: Zaznacz cały
BarCount = iBars(Symbo(),PERIOD_M5);
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