Akurat odpaliłem teraz EA, w sumie to chyba kilka będę odpalał żeby sobie działały. Dopiszę jeszcze coś na temat tego VPS i uruchamiania SDK.
Więc budowałem teraz jar w intelijj community 2019.2. Nie bardzo wiedziałem jak to zrobić. W Eclipse z tego co pamiętam jest prościej. No to hasło do google
how to build jar intellij i jest tutaj
https://stackoverflow.com/questions/108 ... j-properly
czyli to są te kroki do zrobienia
Kod: Zaznacz cały
File > Save All.
Run driver or class with main method.
File > Project Structure.
Select Tab "Artifacts".
Click green plus button near top of window.
Select JAR from Add drop down menu. Select "From modules with dependencies"
Select main class.
The radio button should be selecting "extract to the target JAR." Press OK.
Check the box "Build on make"
Press apply and OK.
From the main menu, select the build dropdown.
Select the option build artifacts.
Takie ścieżki do Main i do manifest podawałem ale domyślnie jest to /rc/ a nie jak tutaj wpisałem /src/singlejartest, więc jakby nie działało to domyślnie /rc/ . Potem z górnego menu Build > Build Artifact i na środku pojawi się mała lista i z tego Build i to utworzy po chwili jar.
abc12hj12bh5j12.png
I potem po zbudowaniu tego projektu według tych kroków plik jar pojawił się u mnie w katalogu gdzie był projekt pod taką ścieżką
JForex-3-SDK/classes/artifacts/JForex_3_SDK_jar
Potem już z górki. Trzeba to wysłać na vps, z linuxa można użyć scp, tak jak napisałem wyżej (ale najpierw lepiej sprawdzić u siebie na kompie, uruchamiając to czy nie ma błędów)
scp JForex_3_SDK.jar root@adres_ip:/home/
potem logujemy się na VPS
ssh root@ip_servera, podajemy swoje login i hasło i w terminalu odpalamy proces, czyli ten plik jar i robiomy przekierowanie żeby logi wypluwało do pliku tekstowego, czyli tworzymy w /var/www/html/ folder np jforex i tam plik logs.txt,czyli
cd /var/www/html/
mkdir jforex
cd jforex
touch logs.txt
potem przechodzimy do folderu gdzie jest strategia odpalenie strategii, pewnie będzie to cd /home/ i odpalamy
java -jar JForex_3_SDK.jar > /var/www/html/jforex/logs.txt
trzeba poczekać chwilę aż wyrzuci wszystkie logi, na końcu są dane o stanie konta, dźwigni itp. potem jeszcze parę linijek i to jest koniec. Wtedy można to zatrzymać
CTRL + Z
następnie wpisać bg i wcisnąć enter
bg i enter, proces działa w tle
Następnie można srapwdzić czy ten proces już działa wpisując po prostu
bg lub
ps aux lub
ps aux | grep java czyli szukamy słów java w wyniku wyszukiwania w ps aux, a sam ps aux pokazuje listę uruchomionych procesów. Albo
top - to też pokazuje uruchomione procesy.
To przekierowanie powoduje że potem możemy odczytywać logi przez przeglądarkę chociazby wpisaując w adresie ip i ścieżka do tego pliku logs.txt, czyli dajmy na to 182.52.67.25/jforex/logs.txt
============================================================================
Jeszcze sprawa performance, bo w sumie dopiero teraz widzę że to może być problematyczne na słabym vps. Jak kod jest kijowy i robi sporo pętli, róznego rodzaju sprawdzania, rzuca jakieś wyjątki itd może to powodować że cały program będzie wykonywał się dość wolno. Ostatnio właśnie sprawdzałem performance jednej strategii i jit i cache dopiero po kilku obrotach pętli chyba zaczęło działać, optymalizować ten kod czy co tam się dzieje pod spodem (bo w sumie to java znam słabo raczej). W każdym razie pierwsze wykonywanie fukcji było wolne, nawet 60 ms, dopiero potem się rozpędziło i robiło program poniżej 1 milisekundy. Sobie sprawdzałem po prostu System.nanoTime niektóre fragmenty kodu. Więc wniosek jest z tego, że wymagająca strategia będzie potrzebowała mocniejszego VPS, ale na takie niezbyt skomplikowane, które mają kilkanaście warunków do sprawdzenia przed otwarciem pozycji wystarczy ten za 14 zł z groszami.
Chyba już wszystko co istotne opisałem.

Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.