Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.84 KB | None | 0 0
  1. import java.io.IOException;//import biblioteki obslugoi wyjatkow (bledow)
  2. import org.jsoup.Jsoup;//import glownej klasy pakietu jsoup sluzacego do odczytu i parsowania kodu HTML
  3. import org.jsoup.nodes.Document;//import klasy obslugujacej dokumenty zawierajace HTML
  4. import org.jsoup.nodes.Element;//import klasy obslugujacej poszczegolne elementy jezyka HTML
  5. import org.jsoup.select.Elements;//import klasy wyszukujacej poszczegolne elemeenty jezyka HTML(znajdujace sie w analizowanym dokumencie
  6. import java.util.Timer;//import klasy obslugujacej timer w celu odczytu co minute (lub innnym interwale czasowym)
  7. import java.util.Calendar;//klasa pomocnicza do timera
  8. import java.util.TimerTask;
  9. //import java.sql.Timerstamp;
  10. public class RSI //klasa obslugi wskaznika RSI
  11. {   //deklaracja zmiennych glownych, ktore sa jednoczesnie zmiennymi skladowymi klas
  12.  
  13.     double wskRSI; //zmiennna w ktorej jest przechowywana wartosc wskaznika RSI
  14.     double srednia_wzrostu; //średnia wartość wzrostu cen zamknięcia z N sesji
  15.     double srednia_spadku; //średnia wartość spadku cen zamknięcia z N sesji
  16.     int N = 14; //liczba sesji historycznej ktore beda uwzgledniane przy obliczniu wskaznika
  17.     int seconds=5; //interwal czasowy timera (w sekundach)
  18.     double[] vecNotowan=new double[N];//wektor notowan (bierzace notowanie + 13 poprzednich)
  19.  
  20.     void runRSI() //metoda obliczania wskaznika RSI
  21.     {
  22.         Timer timer1=new Timer(); //tworzenie nowego obiektu timera
  23.         timer1.schedule(new TimerRun(),0, seconds*1000);//ustawianie timera (obiekt klasy obslugujacej, okres dzialania 0-nieskonczonosc,odstęp czasowy w milisekundach(sekundy mnożymy razy 1000)
  24.        
  25.     }
  26.     class TimerRun extends TimerTask //klasa obslugujaca timer ktory wywolywany jest w wybranym interwale czasowym (np. co minute)
  27.     {
  28.         public void run () //metoda realizowana przy wykonaniu timera
  29.         {
  30.             try  //wychwytywanie wyjatkow - wszystkie wyjatki ktore pojawia sie przy wykonywaniu kodu w nawiasach klamrowych w otwierajacych i zamykajaych "try"
  31.             {
  32.    
  33.             ReadData RD = new ReadData(); //utworzenie obiektu klasy ReadData (odczytujacej biezaca wartosc notowania ze strony internetowej
  34.             for(int i=N-1; i>0; i--)//rejestr przesuwny notowań w tablicy
  35.             {
  36.                     vecNotowan[i]=vecNotowan[i-1];
  37.             }
  38.            
  39.             vecNotowan[0] = RD.getQuotation(2)/1000; //wywolanie metody realizujacej odczyt danych
  40.             vecNotowan[1]=10.00;
  41.             vecNotowan[2]=12.50;
  42.             vecNotowan[3]=13.50;
  43.             vecNotowan[4]=11.00;
  44.             vecNotowan[5]=10.50;
  45.             vecNotowan[6]=14.00;
  46.             vecNotowan[7]=14.00;
  47.             vecNotowan[8]=12.50;
  48.         /*  System.out.println(vecNotowan[0]);
  49.             System.out.println(vecNotowan[1]);
  50.             System.out.println(vecNotowan[2]);
  51.             System.out.println(vecNotowan[3]);
  52.             System.out.println(vecNotowan[4]);
  53.             System.out.println(vecNotowan[5]);
  54.             System.out.println(vecNotowan[6]);
  55.             System.out.println(vecNotowan[7]);
  56.             System.out.println(vecNotowan[8]);
  57.             System.out.println(vecNotowan[9]); */
  58.            
  59.            
  60.             double wzrosty=0.0; //średnia wartość wzrostu cen zamknięcia z N sesji
  61.             double spadki=0.0; //średnia wartość spadku cen zamknięcia z N sesji
  62.             int licz_wzrosty=0;
  63.             int licz_spadki=0;
  64.            
  65.             for(int i=0; i<N-1; i++)
  66.             {
  67.                 if((vecNotowan[i]>vecNotowan[i+1]) )//warunek wzrostów
  68.                 {  
  69.                     wzrosty=wzrosty+(vecNotowan[i]-vecNotowan[i+1]); //obliczanie sumy wzrostów
  70.                     licz_wzrosty++; //liczenie wzrostów
  71.                 }
  72.                 if((vecNotowan[i]<vecNotowan[i+1]))//warunek spadków
  73.                 {  
  74.                     spadki=spadki-(vecNotowan[i]-vecNotowan[i+1]); //obliczanie sumy spadków
  75.                     licz_spadki++;  //liczenie spadków
  76.                 }
  77.             }
  78.             System.out.println(wzrosty);
  79.             System.out.println(spadki);
  80.             System.out.println("-----------");
  81.             wzrosty=wzrosty/licz_wzrosty; //obliczanie średniej wzrostów
  82.             spadki=spadki/licz_spadki; //obliczanie sredniej spadków
  83.             }
  84.            
  85.             catch(Exception e) {}  //obsluga wyjatku
  86.            
  87.         }
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement