Wszystkie pytania dozwolone początkujących programistów

O jezykach programowania w platformach i nie tylko.
Awatar użytkownika
Tig3r
Przyjaciel Forum
Przyjaciel Forum
Posty: 2310
Rejestracja: 02 sty 2008, 10:46

Nieprzeczytany post autor: Tig3r »

stad pisze:Mam taki wskaźnik, który posiada dwa bufory (up, down). Wyświetlany jest tylko jeden z nich, tzn jeden z dwóch kolorów. W jaki sposób wykorzystać to w EA. Chodzi mi o to, żeby EA zawierała transakcje na podstawie tych kolorów, a nie wartości buforów.
zmiana koloru (czyli pierwszy kolor na wykresie się pojawia):
1 bufor na obecnej świecy > 0
2 bufor na poprzedniej świecy >0
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

stad
Stały bywalec
Stały bywalec
Posty: 29
Rejestracja: 01 sie 2010, 11:39

Nieprzeczytany post autor: stad »

Tig3r pisze:
stad pisze:Mam taki wskaźnik, który posiada dwa bufory (up, down). Wyświetlany jest tylko jeden z nich, tzn jeden z dwóch kolorów. W jaki sposób wykorzystać to w EA. Chodzi mi o to, żeby EA zawierała transakcje na podstawie tych kolorów, a nie wartości buforów.
zmiana koloru (czyli pierwszy kolor na wykresie się pojawia):
1 bufor na obecnej świecy > 0
2 bufor na poprzedniej świecy >0
Tig3r
Dzieki, ale nie rozumiem, niestety :(
Chciałbym zapisać w EA coś takiego, ale nie wiem jak.
Kupno (1) lub sprzedaż (-1) na świecy 0 w zależności jaki kolor był na świecy 1.

--------------

double supertrend_up=iCustom(NULL, 0, "Supertrend", 0, 1);
double supertrend_down=iCustom(NULL, 0, "Supertrend", 1, 1);


if (supertrend_down ...........) return(1);
if (supertrend_down ...........) return(-1);

return(0);
-------------

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

Nieprzeczytany post autor: Pierz Andrzej »

nie wiem w jaki spsobo zwraca wartosc super trend ....
wiec to by cza bylo sprawdzic bo warunkow moze byc conajmniej 3 .....

Kod: Zaznacz cały

if (supertrend_up  != -1) return(+1);

Kod: Zaznacz cały

if (supertrend_up  != 0) return(+1);

Kod: Zaznacz cały

if (supertrend_up  != EMPTY_VALUE) return(+1);
pozdrawiam
Andrzej Pierz
z poważaniem
Andrzej Pierz
FOREX-SERVICE

stad
Stały bywalec
Stały bywalec
Posty: 29
Rejestracja: 01 sie 2010, 11:39

Nieprzeczytany post autor: stad »

Pierz Andrzej pisze:nie wiem w jaki spsobo zwraca wartosc super trend ....
wiec to by cza bylo sprawdzic bo warunkow moze byc conajmniej 3 .....

Kod: Zaznacz cały

if (supertrend_up  != -1) return(+1);

Kod: Zaznacz cały

if (supertrend_up  != 0) return(+1);

Kod: Zaznacz cały

if (supertrend_up  != EMPTY_VALUE) return(+1);
pozdrawiam
Andrzej Pierz
Kod zamieściłem na poprzedniej stronie.

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

Nieprzeczytany post autor: Tig3r »

Kod: Zaznacz cały


double supertrend_up=iCustom(NULL, 0, "Supertrend", 0, 1);
double supertrend_down=iCustom(NULL, 0, "Supertrend", 1, 1);

double supertrend_up2=iCustom(NULL, 0, "Supertrend", 0, 2);
double supertrend_down2=iCustom(NULL, 0, "Supertrend", 1, 2);

if(supertrend_up>0 && supertrend_down2>0) return(1);
if(supertrend_up2>0 && supertrend_down>0) return(-1); 

======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

JAREK67
Maniak
Maniak
Posty: 2143
Rejestracja: 13 lip 2006, 11:21

Nieprzeczytany post autor: JAREK67 »

JAREK67 pisze:Witam.
Jak policzyć, albo inaczej ograniczyć ilość otwieranych pozycji na aktualnej swiecy do np. 5?
podbijam :)

stad
Stały bywalec
Stały bywalec
Posty: 29
Rejestracja: 01 sie 2010, 11:39

Nieprzeczytany post autor: stad »

Tig3r pisze:double supertrend_up=iCustom(NULL, 0, "Supertrend", 0, 1);
double supertrend_down=iCustom(NULL, 0, "Supertrend", 1, 1);

double supertrend_up2=iCustom(NULL, 0, "Supertrend", 0, 2);
double supertrend_down2=iCustom(NULL, 0, "Supertrend", 1, 2);

if(supertrend_up>0 && supertrend_down2>0) return(1);
if(supertrend_up2>0 && supertrend_down>0) return(-1);
Niestety coś tu jest nie tak.
Dziwna rzecz się dzieje, jak wstawię takie coś do EA to zawierane są tylko transakcje w kierunku pierwszego sygnału, czyli np jak pierwszy sygnał to buy to potem są same buy i na odwrót. To EA na pewno działa dobrze bo do niego wstawiam różne wskaźniki i warunki ze świeczek i wszystko jest ok. Tylko z tym wskaźnikiem coś jest nie tak.
Może ktoś coś poradzi?

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

Nieprzeczytany post autor: Tig3r »

JAREK67 pisze:JAREK67 napisał:
Witam.
Jak policzyć, albo inaczej ograniczyć ilość otwieranych pozycji na aktualnej swiecy do np. 5?

podbijam Smile
Najprościej 5 zmiennych (albo tablica byłoby lepiej) datetime
tam przy każdym zawarciu transakcji:
- kopiujesz z pierwszej do drugiej, z drugiej do trzeciej itd.. (tzw kolejka)
- do pierwszej wstawiasz aktualną datę otwarcia świecy poprzedniej (bo ta się już nie zmieni)-> Time[1]
I powinieneś mieć w tych zmiennych czas otwarcia jak są takie samo to zabraniasz na kolejną transakcje.

Tylko jest tu jeden minus - jak zrestartujesz EA to się tablica wyczyści, aby temu zapobiec musiałbyś sprawdzać wszystkie otwarte i zamknięte transakcje i wyszukać tam te 5 ostatnich czasów otwarcia.
stad pisze:Niestety coś tu jest nie tak.
Pewnie trzeba by dodatkowo sprawdzać cz ten wskaźniki jest inny niż EMPTY_VALUE
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

Awatar użytkownika
mikolaj2
Gaduła
Gaduła
Posty: 231
Rejestracja: 04 maja 2011, 14:37

Nieprzeczytany post autor: mikolaj2 »

Witam! Czy możliwe jest stworzenie warunku, który spełni się po : najpierw przecięcie dwóch średnich, a następnie odczekanie do końca formowania świecy, aby sprawdzić czy była rosnąca czy malejąca i dopiero wtedy zawarcie transakcji?

Do głowy przychodzi mi coś takiego :

Kod: Zaznacz cały

if((MathAbs(Open[1]-Close[1])>(5*Point))&&(Open[1]-Close[1]<0)&&(srednia1==srednia2)){
Jednakże powyższy kod działa dla świecy ubiegłej a nie przyszłej...

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

Nieprzeczytany post autor: Tig3r »

mikolaj2 pisze:srednia1==srednia2
Takie coś nie zadziała, to że na wykresie widzisz przecięcie to tylko wynik ekstrapolacji. Średnie są tworzone jako punkty (na świece 1 punkt) i przez te punkty należałoby identyfikować przecięcie np:

Kod: Zaznacz cały

(srednia1[i+1] >= srednia2[i+1] && srednia1[i] < srednia2[i])

Raczej chyba nie ma możliwości przecięcia średnich i nie zbudowania rosnącej świecy (no chyba że chcesz sprawdzać przecięcia na obecnej świecy które na koniec tej świecy nie są przecięte). Wtedy najlepiej mieś zmienną ważności sygnału - jak jest sygnał to ustalasz ważność do końca świecy, i na początku przyszłej zanim ważność sygnału wygaśnie sprawdzasz czy rosnąca świeca jak tak to trade.
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

ODPOWIEDZ