Pobieranie wartości wskaźnika przez EA - globalne zmienne.

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Pobieranie wartości wskaźnika przez EA - globalne zmienne.

Nieprzeczytany post autor: thisredone »

Zmodyfikowałem kilka wskaźników w taki sposób, żeby dawały sygnały za pomocą zmiennych globalnych (GlobalVariableSet). Strategia pobiera te zmienne i wszystko wydawałoby się ok ale nie da się tego sprawdzić na historii.
Wpisywanie kilku wskaźników bezpośrednio do EA zajmie wieki i cały kod będzie trudny do ogarnięcia więc pytam czy da się w jakiś sposób uruchomić w EA wskaźnik dla odpowiednich wartości z danego tick'u z historii. Chodzi mi o to, żeby dany wskaźnik uruchomił się tylko dla pojedynczego ticku, obliczył potrzebne wartości i zaktualizował zmienną globalną.

Chyba, że istnieje jakieś banalne rozwiązanie, o którym nie wiem bo dopiero zacząłem z mql4.

Awatar użytkownika
gieroj
Stały bywalec
Stały bywalec
Posty: 33
Rejestracja: 25 lut 2010, 16:11

Nieprzeczytany post autor: gieroj »

Nie łatwiej korzystać z wskaźnika przez iCustom ??
"Dzień dobry, mam na imię Paweł i jestem przegrywającym."

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

dajesz testowanie w trybie VISUAL, wrzucasz potrzebne wskaźniki i wio..
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Nieprzeczytany post autor: thisredone »

testowanie w trybie visual zajmuje wieki więc zastosowałem iCustom

Kod: Zaznacz cały

int adx(){
if(iCustom(NULL,0,"ADX",0,2,1)>iCustom(NULL,0,"ADX",0,1,1))
return(1);
else return(0);
}
napisałem tego typu małe funkcje sprawdzające

i podczas testowania nic się nie dzieje, wyskakuje tylko w dzienniku coś takiego:

Kod: Zaznacz cały

2010.08.05 20:53:08	2010.08.04 23:59  ADX EURUSD,M15: removed
2010.08.05 20:53:08	2010.08.02 00:00  ADX EURUSD,M15: loaded successfully
jakieś pomysły?

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

iCustom zwraca tylko bufory, inaczej jak visual chyba nie pojedzie..
Możesz zwiększyć przędność i nic ponad to - albo zmienić wskaźnik
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Nieprzeczytany post autor: thisredone »

nie rozumiem, co da zmiana wskaźnika?
iCustom nie zwraca czasem wartości, która znajduje się na x miejscu w danym buforze czyli w moim przypadku na miejscu 1 (przedostatnim) ?

wziąłem wartości dwóch linii w momencie [1] i sprawdziłem, która jest większa. Przynajmniej tak mi się wydaje...

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

thisredone pisze:iCustom nie zwraca czasem wartości, która znajduje się na x miejscu w danym buforze czyli w moim przypadku na miejscu 1 (przedostatnim) ?
Tak się właśnie dzieje, zmiana wskaźnika to właśnie modyfikacja aby z buforów odczytać, wydawało mi się że wskaźnik jest obiektowy skoro korzystasz ze zmiennych globalnych.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Nieprzeczytany post autor: thisredone »

Korzystałem ze zmiennych globalnych ze względu na to, że nie wiedziałem o łatwiejszych sposobach rozwiązania problemu.

To co chcę odczytać to po prostu wartości linii dla poszczególnych wskaźników. Rozumiem, że w tam gdzie nazwa w składni powinienem wpisać nazwę skompilowanego pliku bez rozszerzenia, a w miejscu na parametry - 0 jeśli chcę korzystać z domyślnych.

W dzienniku pojawiła się tylko wzmianka o ADX mimo, że mam kilka innych wskaźników. Może gdzieś w składni jest jakiś błąd?

Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

iCustom zaznacz w kompilatorze i F1, w helpie masz wszystko a jak nie to poszukaj już było wiele razy o tej funkcji
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
thisredone
Stały bywalec
Stały bywalec
Posty: 72
Rejestracja: 05 sie 2010, 17:07

Nieprzeczytany post autor: thisredone »

już znalazłem problem. W miejscu na parametry nie można wpisać 0 ani NULL. Trzeba podać parametry nawet jeśli chce korzystać się z predefiniowanych...

ODPOWIEDZ