ParabolicSAR wsparcie i opór

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

ParabolicSAR wsparcie i opór

Nieprzeczytany post autor: personov »

Czy można dla EA wywołać w jakiś sposób wartość ostatniego wsparcia lub oporu a nie tylko wartość aktualną ?
Jeśli wywołam sam wskaźnik :

Kod: Zaznacz cały

double SAR = iSAR(Symbol(),Period(),0.02,0.2,0);
to brana jest pod uwagę tylko wartość SAR w danym momencie ( na załączniku "2" ), jeśli dam shift to pokarze x okresów wstecz.
Jak wiadomo SAR kreśli punkty wsparcia, a po pewnym czasie kreśli już opór. I na odwrót.
Czy można wrócić do ostatniej wartości oporu jeśli jest wsparcie, lub na odwrót ?( na załączniku "1" )
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Solą życia jest kasa.

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Re: ParabolicSAR wsparcie i opór

Nieprzeczytany post autor: RobsonFX »

personov pisze:Czy można dla EA wywołać w jakiś sposób wartość ostatniego wsparcia lub oporu a nie tylko wartość aktualną ?
Jeśli wywołam sam wskaźnik :

Kod: Zaznacz cały

double SAR = iSAR(Symbol(),Period(),0.02,0.2,0);
to brana jest pod uwagę tylko wartość SAR w danym momencie ( na załączniku "2" ), jeśli dam shift to pokarze x okresów wstecz.
Jak wiadomo SAR kreśli punkty wsparcia, a po pewnym czasie kreśli już opór. I na odwrót.
Czy można wrócić do ostatniej wartości oporu jeśli jest wsparcie, lub na odwrót ?( na załączniku "1" )
Mysle, ze powinienes zrobic tak:
1 - sprawdzasz dla aktualnej pozycji czy kropa isar'a jest nad high czy pod obecnym low - jesli ad1 to trend spadkowy, jesli ad.2 to wzrostowy.
2 - Jesli masz spadkowy while( iSAR(..............,i) > High ) // i = shift
dopoki poprzednie kropy beda nad High to petla leci, jesli napotka na krope ktora byla przciwnego trendu - tak jak u ciebie nr.1 to while sie konczy ale masz index ( i - shift) do tego elementu tablicy iSAR'a
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

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

Nieprzeczytany post autor: Tig3r »

ostatnim parametrem wskazujesz ile wstecz ma ci pokazać (masz 0 czyli aktualna świeca), zmień na 1 będziesz miał przedostatnią wartość itd..
aby znaleść ostatnio opór/wsparcie musisz przeleccieć po histrii i sprawdzać czy SAR jest pod/nad ceną close
======================================================
Nie głupi ten co nie wie, lecz ten który nie chce się nauczyć..

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Nieprzeczytany post autor: RobsonFX »

personov pisze:Czy można dla EA wywołać w jakiś sposób wartość ostatniego wsparcia lub oporu a nie tylko wartość aktualną ?
Czy można wrócić do ostatniej wartości oporu jeśli jest wsparcie, lub na odwrót ?
Spoko kolego, prosiles i masz. Wrzuc na wykres parabolicSAR i dorzuc wskaznik to bedziesz mogl sprawdzic czy o to ci chodzilo.

Dodano po 31 minutach:

W razie pytan pisz smialo w watku.
3maj sie.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

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

Nieprzeczytany post autor: personov »

RobsonFX - jeszcze jedna prośba :
mógłbyś mi napisać jak mam wpisać w EA wskaźnik, aby wskazywał SARLast ?
wpisuję różne głupoty m.in. ;

Kod: Zaznacz cały

double sar = iCustom(Symbol(),Period(),sar,0.02,0.2,1,0);
ale nic z tegonie wychodzi. Wpisalem dla ułatwienia sar w Comment i widzę cały czas wynik wyświetlany "0.00000".
Jakie parametry mam wpisać w double sar, aby wyświetlało mi SARLast ?
Solą życia jest kasa.

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Nieprzeczytany post autor: RobsonFX »

personov pisze:RobsonFX - jeszcze jedna prośba :
mógłbyś mi napisać jak mam wpisać w EA wskaźnik, aby wskazywał SARLast ?
wpisuję różne głupoty m.in. ;

Kod: Zaznacz cały

double sar = iCustom(Symbol(),Period(),sar,0.02,0.2,1,0);
ale nic z tegonie wychodzi. Wpisalem dla ułatwienia sar w Comment i widzę cały czas wynik wyświetlany "0.00000".
Jakie parametry mam wpisać w double sar, aby wyświetlało mi SARLast ?
Czeee, załóżmy że chcesz określi trend i miejsce w którym nastąpiła zmiana na wykresie H1.
Jeśli piszesz cały EA w jednej funkcji, to na początku kodu definiujesz 2 zmienne globalne:

int STATE;
double SARLast;
string DEBUG;

Piszesz coś takiego (wplatasz to gdzies w kod):
................
if(Volume[0]>1) return; // warunek aby sprawdzić na pierwszym ticku każdej nowej świecy, lub tez: if(iVolume(NULL,Period_H1,0)>1)

double SARTemp = iSAR(NULL,0,Krok,Max,1);

if(SARTemp > High[1])
{
DEBUG = "\nTrend spadkowy";
STATE = -1;
}
else
{
DEBUG = "\nTrend wzrostowy";
STATE = 1;
}

// Teraz wiesz czy PSAR wskazuje trend spadkowy czy wzrostowy. Jeśli chcesz sprawdzić ostatnią kropę przeciwnego trendu dopisujesz dalej:

if(STATE==-1)
{
i=1;
while( iSAR(NULL,0,Krok,Max,i) > High )
i++;
SARLast = iSAR(NULL,0,Krok,Max,i);
}
else
{
if(STATE==1)
{
i=1;
while( iSAR(NULL,0,Krok,Max,i) < Low )
i++;
SARLast = iSAR(NULL,0,Krok,Max,i);
}
}

DEBUG = DEBUG + "\n" + "Ost. War. Przec. : " + DoubleToStr(SARLast,5);
Comment(DEBUG);

Najlepiej oczywiscie jak zapiszesz to w postaci osobnej funkcji, z możliwością wyboru TF.
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

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

Nieprzeczytany post autor: personov »

Myślałem, że będzie można to zrobić poprzez

Kod: Zaznacz cały

 iCustom
. W ten sposób, który podałeś wprowadzamy jakby cały wskaźnik do kodu EA.
Powiem krótko :
- jest GIT, wszystko działa.
Jeszcze raz wielkie dzięki.
Solą życia jest kasa.

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Nieprzeczytany post autor: RobsonFX »

personov pisze:Myślałem, że będzie można to zrobić poprzez

Kod: Zaznacz cały

 iCustom
. W ten sposób, który podałeś wprowadzamy jakby cały wskaźnik do kodu EA.
Powiem krótko :
- jest GIT, wszystko działa.
Jeszcze raz wielkie dzięki.
To spoko, cieszę się że pomogłem. Ja osobiście staram się, gdy tylko mogę, nie używać iCustom. Wolę wpisać część indykatora / przeliczeń bezpośrednio do EA, albo stworzyzć sobie "bibliotekę" z funkcjami przeliczającymi dane.
Jest to też dobrą metodą na optymalizację kodu oraz zmniejszenie pamięcio- i procesorozerrności.
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

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

Nieprzeczytany post autor: personov »

Odświeżam temat i proszę o pomoc.
Kod, który mi napisal w tym temacie RobsonFx wyświetla mi to co chcem, ale dopiero po rozpoczęciu nowej świecy. Czyli jak zmiana SAR znad wykresu pod wykres nastąpi w trakcie trwania danej świecy to nadal wyświetla mi staredane, dopiero kiedy rozpocznie się nowa świeca - dane wskakuja na aktualne. Czy da się to poprawić, aby dane byly aktualizowane co tick ?
Z góry dziękuje nza pomoc.
Solą życia jest kasa.

RobsonFX
Stały bywalec
Stały bywalec
Posty: 66
Rejestracja: 13 sty 2011, 22:00

Nieprzeczytany post autor: RobsonFX »

Witaj personov.

Na początku kodu masz coś takiego:

if(Volume[0]>1) return; - wyrażenie to sprawdza czy mamy nową świecę czy nie.
Najlepiej wstaw znak komentarza w tę linię kodu, zobacz co się stanie.

Również wyrażenie iSAR(NULL,0,Krok,Max,1); gdzie 1 na samym końcu wskazuje na poprzednią świecę musisz zmienić na 0

a kilka linii niżej, gdzie zmiennej i przypisujesz 1 dwa razy, zmień na 0

Powodzonka.
1. "KISS" - Keep It Simple Stupid
2. SYNERGIA - współdziałanie różnych czynników, którego efekt jest większy niż suma oddzielnych działań
3. STOP LOSS - niedoceniony przyjacielem TRADERA.

ODPOWIEDZ