Wartość wskaźnika Parabolic SAR wyliczana jest na podstawie ceny maksymalnej i minimalnej bieżącego i poprzedniego słupka.
Dlatego jeżeli na wykresie pojawia się nowy słupek notowań, wówczas jego min. i maks. mają taką samą wartość i prawdopodobnie wartość SAR będzie zbliżona do wartości wskaźnika z poprzedniego słupka notowań, tzn. obie wartości będą nad lub pod świcami.
Dla bieżącego słupka, wartość Parabolic SAR przeliczana jest od nowa przy każdym ticku, dlatego w miarę jak zawierane są kolejne transakcje, zmienia się wartość min. i maks. słupka, a przez to i wartość Parabolic SAR.
Aby parabolic SAR zasygnalizował zmianę trendu, najczęściej potrzeba większego ruchu (przynajmniej przekraczającego poprzednie min/max), co tłumaczy opóźnienia w otwieraniu pozycji oraz kiepskie ceny.
otwieranie za pomocą parabolic sar problem
moja funkkcja pSAR
ja uzywam tak /case 1/ - /case 0 to chyba bylo do skalpowania albo jakis inny pomysl, nie pamietam/
i wywolanie funkcji
jesli funkcja zwraca True to dalej
Kod: Zaznacz cały
bool pSAR_Signal(int type, double sar_step, double sar_max, int mode) {
double SAR0 = iSAR(NULL,0,sar_step,sar_max,0);
double SAR1 = iSAR(NULL,0,sar_step,sar_max,1);
double SAR2 = iSAR(NULL,0,sar_step,sar_max,2);
switch(mode) {
case 0 :
if(type == OP_BUY)
if(SAR0 > SAR1 && Bid > SAR0) return(True);
if(type == OP_SELL)
if(SAR0 < SAR1 && Bid < SAR0) return(True);
break;
case 1 :
if(type == OP_BUY)
if(Close[2] < SAR2 && Close[1] > SAR1 && Open[0] > SAR0) return(True);
if(type == OP_SELL)
if(Close[2] > SAR2 && Close[1] < SAR1 && Open[0] < SAR0) return(True);
break;
default : Print("ZLY PARAMETR FUNKCJI pSAR_Signal()"); return(0); break;
}
return(0);
}
Kod: Zaznacz cały
if(pSAR_Signal(OP_BUY,sar_step,sar_max,1))
oszczedzajmy cykle procesora