wartość ostatniego fraktala
wartość ostatniego fraktala
Witam, jest możliwość odczytania wartości ostatniego fraktala ?
Re: wartość ostatniego fraktala
jest
https://www.mql5.com/en/docs/indicators/ifractals
http://bossa.pl/index.jsp?layout=2&page ... at_id=1304
https://www.mql5.com/en/docs/indicators/ifractals
http://bossa.pl/index.jsp?layout=2&page ... at_id=1304
Nie chodzi o to czy masz rację czy nie, tylko o to, co robisz kiedy masz rację lub jak się zachowujesz jeżeli racji nie masz.
Re: wartość ostatniego fraktala
Witam, zrobiłem zgodnie z opisem:
http://bossa.pl/index.jsp?layout=2&page ... at_id=1304
tj.
double iFractals( string symbol, int timeframe, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku
double wynik = iFractals(NULL, 0, MODE_UPPER, 3);
mój kod mający na celu tylko i wyłącznie wyświetlenie wartości ostatniego fraktala, wyświetla cały czas zero dlaczego ?
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double wynik;
int OnInit()
{
RefreshRates();
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
RefreshRates();
wynik = iFractals(NULL, 0, MODE_UPPER, 1);
Comment("Aktualna wartość fraktala ",wynik);
}
http://bossa.pl/index.jsp?layout=2&page ... at_id=1304
tj.
double iFractals( string symbol, int timeframe, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku
double wynik = iFractals(NULL, 0, MODE_UPPER, 3);
mój kod mający na celu tylko i wyłącznie wyświetlenie wartości ostatniego fraktala, wyświetla cały czas zero dlaczego ?
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
double wynik;
int OnInit()
{
RefreshRates();
return(INIT_SUCCEEDED);
}
void OnDeinit(const int reason)
{
}
void OnTick()
{
RefreshRates();
wynik = iFractals(NULL, 0, MODE_UPPER, 1);
Comment("Aktualna wartość fraktala ",wynik);
}
-
- Stały bywalec
- Posty: 43
- Rejestracja: 22 gru 2016, 12:45
Re: wartość ostatniego fraktala
Ta funkcja nie zwraca wartości ostatniego fractala, tylko wartość fraktala wybranego rodzaju dla wybranej świecy.
Ten kod sprawdza wartość fraktala wzrostowego na poprzedniej świecy. Jeżeli na poprzedniej świecy akurat nie ma fraktala wzrostowego, to funkcja zwraca 0.
Musisz w pętli (zmieniać wartość parametru shift) wywołać tę funkcję dla trybu MODE_UPPER i MODE_LOWER i przerwać ją przy pierwszej znalezionej wartości (wyniku różnym od zera).
Kod: Zaznacz cały
iFractals(NULL, 0, MODE_UPPER, 1);
Musisz w pętli (zmieniać wartość parametru shift) wywołać tę funkcję dla trybu MODE_UPPER i MODE_LOWER i przerwać ją przy pierwszej znalezionej wartości (wyniku różnym od zera).
Współautor interaktywnego kursu MQL4 dla serwisu fxwatch
Re: wartość ostatniego fraktala
jakaś podpowiedź odnośnie tej pętli ?
for( i=1,i!=0 ,i++)
{
wynik = iFractals(NULL, 0, MODE_UPPER, i);
i = wynik;
}
tak może być ?
for( i=1,i!=0 ,i++)
{
wynik = iFractals(NULL, 0, MODE_UPPER, i);
i = wynik;
}
tak może być ?
-
- Stały bywalec
- Posty: 43
- Rejestracja: 22 gru 2016, 12:45
Re: wartość ostatniego fraktala
Gotowe rozwiązanie (jak chciałeś tylko podpowiedź, to nie patrz:P):
Jak funkcja trafi najpierw na fraktal spadkowy, to zwraca jego wartość z przeciwnym znakiem.
Kod: Zaznacz cały
double getLastFractal(){
double val = 0;
for(int i=0; i < Bars; i++) {
val = iFractals(NULL,0,MODE_UPPER,i);
if(val)
return val;
val = iFractals(NULL,0,MODE_LOWER,i);
if(val)
return val*-1;
}
return 0;
}
Współautor interaktywnego kursu MQL4 dla serwisu fxwatch
Re: wartość ostatniego fraktala
super wielkie dzięki, działa , gotowca nie chciałem ale jak już dałeś to jestem bardzo wdzięczny