Negacja w Java czy zawsze potrzebna ?

 

Ostatnimi czasy czytam książkę: https://waszczyk.com/books/lekcja-programowania-najlepsze-praktyki/ i bardzo mi się spodobał malutki fragment kodu (strona 16.). Często taki kod spotykamy i jak widzimy poniżej można go spokojnie uniknąć. Jeśli chodzi o samą książkę polecam ją osobom którzy programują w C/C++ chociaż jestem na 50. stronie. Opinię napiszę jak ją skończę 😉 samą książkę dostałem w nagrodę za konkurs zorganizowny przez http://www.future-processing.pl/ a że nigdy nie było na nią zacząłem ją czytać kiedy umiem sobie zorgaznizować więcej czasu wolnego. 

 

negacja

Continue Reading

Powstanie Warszawskie 1944

https://www.youtube.com/watch?v=sH1W-_M0J28

 

 

 

warschauaufstand3

Nachdem die sowjetische Rote Armee auf dem östlichen Weichselufer schon in Seh- und Hörweite war,  erhob sich vom 1.8. bis zum 2.10.1944 die polnische Heimatarmee im Warschauer Aufstand  gegen die deutschen Besatzungstruppen.

Nach der polnischen Niederlage von 1939 gelang rund 85 000 polnischen Soldaten sowie einer größeren Anzahl Politikern die Flucht. Sie sammelten sich zunächst in Frankreich, wo unter der Führung von General Wladyslaw Sikorski bereits am 30. September 1939 eine Exilregierung gebildet wurde.

Nach der Niederlage Frankreichs 1940 flüchtete die Exilregierung und das Gros der polnischen Militärs nach Großbritannien.  Viele Polen hatten dabei eine anstrengende, gefahrvolle Flucht über Rumänien hinter sich. Der polnische Widerstand formierte sich in London und ordnete sich der Exilregierung Sikorski unter, die sich voll auf die Exilarmee stützen konnte. Das Erste Polnische Korps kämpfte von da an unter britischem Befehl, später kamen noch polnische Fliegerverbände dazu. Die Londoner Exilregierung steuerte auch die Operationen der in Polen agierenden Armia Krajowa, der Heimatarmee, die zu ihren hohen Zeiten 1943 und 1944 etwa 350 000 Kämpfer unter Waffen hatten.

Doch zum Widerstand gehörten nicht etwa nur einige Partisaneneinheiten, sondern vor allem ein flächendeckendes Netz von straff militärisch geführten, ausgebildeten und organisierten Einheiten sowie ein Netz von Untergrundeinrichtungen wie Schulen, Universitäten, und Zeitungen. Nach dem Tod Sikorskis bei einem bis heute nicht restlos aufgeklärten Flugzeugabsturz im Jahre 1943 trat Stanislaw Mikolajczyk die Nachfolge an, immer stärker zerstritt sich nun die Exilregierung über die Grenzen eines künftigen Polens. Die Sowjetunion setzte nicht erst seit der weltweiten Entrüstung über das Massaker von Katyn ganz auf die polnischen Kommunisten. Zwei polnische Armeen wurden in der Sowjetunion gegründet. Die 1943 gegründete erste polnische Armee, die aus der Infanteriedivision Tadeusz Kosciuszko hervorgegangen war, kämpfte unter Zygmunt Berling im Osten. Die zweite Armee wurde hauptsächlich aus deportierten Polen gebildet und verließ die Sowjetunion unter Führung von Wladyslaw Anders über Sibirien, den Nahen Osten und Nordafrika und wurde der 8. Britischen Armee als Zweites Polnisches Korps eingegliedert. Diese 400 000 polnischen Soldaten kämpften am Monte Cassino genauso tapfer wie zuvor in Polen.

Innerhalb Polens war Warschau Zentrum des Widerstands. Jüdische Widerstandsorganisationen der Zydowska Organizacja Bojowa ZOB (Jüdische Kampforganisation) organisierten den Aufstand im Warschauer Ghetto, der am 19. April 1943 begann, denn die schrittweise Auflösung des Ghettos duldete keinen weiteren Aufschub und längst war klar, wohin die Transporte gingen und was mit den Menschen geschah. Bis zum 16. Mai hielten die jüdischen Kämpfer aus, dann brach der Widerstand gegen die deutschen Truppen unter SS-General Jürgen Stroop zusammen, der das gesamte Ghettogelände niederbrennen ließ.

Die Armia Krajowa hörte und sah die Rote Armee im Sommer 1944 scheinbar unaufhaltsam vorrücken und Polen Stück für Stück von der Naziherrschaft befreien. Der Chef der AK in Polen Graf Bor-Komorowski zeigte sich im Juli überzeugt, der schon lange ins Auge gefasste Aufstand müsse nun sehr bald stattfinden, wenn er noch einen Sinn machen sollte, denn inzwischen war das Attentat des 20. Juli geschehen und die Alliierten hatten nach der Invasion in der Normandie Fuss gefasst und rückten nach Westen vor. Dazu war inzwischen am 21. Juli 1944 das Lubliner Komitee (Polski Komitet Wyzwolenia Narodowego) gegründet worden, das von den Sowjets mit linientreuen polnischen Kommunisten als willfährige provisorische Regierung installiert wurde.

Als die Rote Armee am östlichen Weichselufer schon in Hörweite war, startete die polnische Heimatarmee trotz Munitions- und Waffenmangels am 1. August 1944 den Warschauer Aufstand – auch um die polnische Hauptstadt noch vor der Roten Armee zu befreien und so Stärke und Unabhängigkeit mit Blick auf Gestalt und Charakter eines künftigen Polens zu demonstrieren. Man wollte gern die Rote Armee in einem freien Warschau als eine verbündete und befreundete Macht begrüßen.
Doch der Plan schlug fehl. Die Rote Armee stoppte an der Weichsel alle Operationen und schien mehr oder minder interessiert zuzuschauen, was sich am anderen Weichselufer tat. Stalin ließ auch den alliierten Flugzeugen sowohl mit humanitären Hilgssendungen als auch mit Nachschub an Waffen und Munition die Landung auf den stadtnahen sowjetischen Feldflugplätzen verwehren, sodass auch die britischen Hilfe unterbleiben musste.

Für Hitler war der Warschauer Aufstand Grund für etliche seiner berüchtigten Tobsuchtsanfälle und mehr als nur ein Ärgernis. Er beauftragte den Reichsführer SS Heinrich Himmler mit der Niederschlagung des Aufstands. Himmler gab umgehend den Befehl sämtliche Einwohner Warschaus – egal ob Kind, Frau, Greis oder Kombattant – zu töten und die Stadt dem Erdboden gleich zu machen. Den Auftrag das zu „erledigen“ erhielt SS-Gruppenführer Reinefahrt, dessen Kampfgruppe aus den kampffähigen Angehörigen der Warschauer Garnison, der 20.Grenadier-Division der SS-RONA, der SS-Sturmbrigade Dirlewanger, dem Sonderverband Bergmann, SS-Polizeieinheiten, sowie Verbänden der Fallschirm-Panzerdivision Hermann Göring bestand. Die deutschen Einheiten töteten bereits in den ersten Tagen des Aufstands zwischen 20 000 und 50 000 polnische Zivilisten. Um das rascher erledigen zu können, wichen sie Kämpfen mit der Heimatarmee möglichst aus. Die Division Hermann Göring benutzte dabei Zivilisten als menschliche Schutzschilde, indem sie Frauen und Kinder vor ihrem Panzern hertrieb und sie zwang, Barrikaden abzuräumen.

Die rund 40.000 Aufständischen unter Führung von General Graf Tadeusz Bor-Komorowski (1895-1966) brachten in den ersten Tagen nach erbittert geführten Häuserkämpfen in den Straßen Warschaus brachten bedeutende Teile der Stadt unter ihre Kontrolle, bevor die deutschen Einheiten unter dem am 6. August eingetroffenen Oberbefehlshaber SS-General Erich von dem Bach-Zelewski (1899-1972) die Taktik wechselten, und allmählich die Oberhand gewannen. Der Massenmord wurde nun an spezielle Einsatzgruppen delegiert, die hinter der Front mordeten. Von dem Bach konzentrierte nun seine Kräfte gegen die Warschauer Altstadt um besonders die Eisenbahnbrücken als Nachschubverbindung zur 9. Armee an der nahen Ostfront zu sichern. Aufgeboten wurden dazu Panzer, Artillerie und die Luftwaffe, die allerdings an den Guerilla-Aktionen der Aufständischen scheiterten, die dem zahlenmäßig weit überlegenen Gegner einen verlustreichen Häuserkampf aufzwang. Es gelang den Deutschen erst ab dem 21. August, die polnischen Kämpfer auf einem kleinen Gebiet von nur einem Quadratkilometer zusammen zu drängen, die zu dieser Zeit hier noch lebenden 24 000 bis 35 000 Zivilisten wurden zur Zwangsarbeit deportiert. Als am 1. September die Altstadt vollständig von den Deutschen eingenommen wurde. Wie zuvor auch schon bei den Kämpfen, wurden nun alle noch lebenden Verwundeten – egal ob Kombattant oder Zivilist – von den deutschen Truppen erschossen.

Die polnischen Truppen hielten nun noch einen Flickenteppich von drei größeren Gebieten in der Stadt, Zoliborz, Mokotow und einen Teil des Zentrums., das von den Deutschen nun zuerst entlang des westlichen Weichselufers angegriffen wurde, um gegen die womöglich doch noch eingreifende Rote Armee zu sichern. Bor-Komorowski sah die Lage als hoffnungslos an und hatte am 8 September von der Londoner Exilregierung bereits die Erlaubnis zur Kapitulation erhalten, als plötzlich am 9. September die sowjetische Luftwaffe in die Kämpfe eingriff. Am Tag drauf griff Marschall Rokossowski, der Oberkommandierende der 3. Weißrussischen Front den östlich der Weichsel gelegenen Stadtteil Praga an und hatte nur wenige Tage später am 14. September die östlich der Weichsel liegenden Stadtteile Warschaus unter Kontrolle. Als dazu am 18. September die Rote Armee endlich der US-amerikanischen Luftwagffe die Landung mit Versorgungsflugzeugen genehmigte, schien wieder Hoffnung für Warschau zu bestehen. Ferner wurde bereits am 15. September der polnischen Division Berlinger in der Roten Armee gestattet im Süden der polnischen Hauptstadt die Weichsel zu überschreiten, doch blieben die Kampftruppen der Roten Armee in ihren Stellungen. Am 23. September musste sich die Division Berlinger daher wieder nach Osten zurückziehen.. Tags darauf eroberten die Deutschen Zoliborz, vier Tage später Mokotow. Am 1. Oktober 1944 wurde ob der aussichtslosen Lage ein Waffenstillstand vereinbart.

Der Aufstand der Heimatarmee Armia Krajowa in Warschau dauerte 63 Tage, über 150 000 Zivilisten starben, dazu über 16 000 bewaffnete Kämpfer der Armia Krajowo, 200 000 Warschauer wurden zur Zwangsarbeit ins Reich verschleppt, rund 70 000 in Konzentrationslager deportiert. Die Zahl der deutschen Toten wird bis heute widersprüchlich angegeben, zwischen 2 000 und 10 000 Gefallenen differieren die Angaben. Nach der Kapitulation am 2. Oktober 1944 wurde Warschau von Wehrmacht und SS dem Erdboden gleich gemacht, 85 Prozent der Stadt waren zerstört. Die polnische Hauptstadt war am Ende des deutschen Vernichtungskriegs die am stärksten zerstörte Stadt Europas.

Die Tatsache, dass die Aufständischen der hochgerüsteten deutschen Kriegsmaschinerie länger standgehalten hatten als 1939 die ganze polnische Armee betrachtete die Reichsführung als Schmach. Die Aufständischen wurden auch deshalb nicht als Partisanen sofort umgebracht, sondern erhielten Kombattantenstatus und wurden meist wie Kriegsgefangene behandelt. Als die Rote Armee nach ihrer Phase der Reorganisation im Spätsommer 1944 die Kräfte für den finalen Stoß gesammelt hatte und im Zuge ihrer Großoffensive über die Weichsel setzte, befreite sie in Warschau knapp 5000 Menschen, die sich bis dahin in den Trümmern ihrer Stadt versteckt hatten.

 

Oraz tekst z Polskiego poletka:

 

Janusz Korwin-Mikke postanowił zaatakować Powstanie Warszawskie dokładnie w 70. rocznicę jego wybuchu. Razem z podkarpackimi strukturami Nowej Prawicy opublikował oświadczenie, w którym odbiera jednemu z największych narodowych zrywów jakikolwiek sens.

 

Tekst oświadczenia jest kuriozalny. Można się z niego np. dowiedzieć, że Powstanie Warszawskie „ustanowiło standard nieodpowiedzialności politycznej” i to ono ponosi winę za wszystkie złe decyzje obecnej klasy politycznej.

 

Kto wychwala powstanie warszawskie, nie powinien skarżyć się na nieodpowiedzialność dzisiejszej polskiej klasy politycznej. To właśnie powstanie warszawskie ustanowiło standard nieodpowiedzialności politycznej, który do dziś daje alibi wszystkim tym, którzy robią coś szkodliwego dla Polski” – czytamy we wstępie.

 

Następnie członkowie NP z Korwin-Mikkem na czele tłumaczą, jakie to kręte ścieżki doprowadziły ich do podobnych wniosków. Co interesujące, przytaczają argumenty dziwnie zbieżne z tezami głoszonymi przez Piotra Zychowicza.

 

Mechanizm jest oczywisty. Nikt nie odpowiedział za śmierć dwustu tysięcy ludzi i zburzenie stolicy państwa mimo, iż powstanie od początku nie miało żadnego sensu militarnego ani politycznego. Mało tego, jego sprawcom stawia się dziś pomniki, nadaje nazwy ulic. Skoro tak, każdy polski polityk może żyć w poczuciu, że może zrobić cokolwiek. W wypadku nawet najbardziej tragicznej klęski odwoła się do patriotycznych emocji i jeszcze będzie czczony jako narodowy bohater” – napisali.

 

Dalej jest jeszcze ciekawiej. Okazuje się bowiem, że to przez Powstanie Warszawskie mamy kłopot z… Otwartymi Funduszami Emerytalnymi.

 

Skoro bezkarnie uszło wywołanie tego powstania, to nie można się domagać rozliczenia sprawców oszustwa powołania OFE, skutków zmarnowania pieniędzy na Możejki czy lokalnie: na Centrum Wystawienniczo-Kongresowe” – czytamy w oświadczeniu.

 

Na zakończenie Korwin-Mikke nawołuje do zrewidowania podejścia do Powstania Warszawskiego, bo bez tego „nie możemy liczyć na zmianę obecnej polityki”.

 

Kto nie jest zadowolony z jakości współczesnej klasy politycznej, nie powinien się entuzjazmować powstaniem warszawskim. Chyba, że stawia romantyczne emocje nad dobro kraju” – kończą autorzy tekstu.

 

Źródło: http://niezalezna.pl/57920-korwin-mikke-atakuje-powstanie-warszawskie-nie-mialo-zadnego-sensu

 

Problemy Premiera:

 

Donald Tusk może nie wziąć udziału w obchodach 70. rocznicy wybuchu powstania warszawskiego. Premier kilka dni temu przeszedł operację barku, obecnie przebywa na zwolnieniu lekarskim. – Czasem zdarzają się sytuacje, gdy trzeba odwołać plany. Czy premier weźmie udział w obchodach rocznicy powstania, to się jeszcze okaże, ale lekarze odradzają wysiłek fizyczny w najbliższych dniach – tłumaczy Paweł Graś. Źródło: TVN24/x-news Donald Tusk przeszedł w poniedziałek zabieg stawu barkowego. Według byłego rzecznika rządu "operacja była dość skomplikowana i bolesna". Była jednak konieczna, gdyż premier uszkodził lewy bark podczas ćwiczeń. – To kontuzja związana z siłownią i z takimi męskimi sportami jak pompki – zdradził Graś. Premier przebywa na tygodniowym zwolnieniu lekarskim i poddaje się rehabilitacji. Do pracy powinien wrócić w poniedziałek 4 sierpnia.







Czytaj więcej: http://www.polskatimes.pl/artykul/3523469,obchody-70-rocznicy-powstania-warszawskiego-bez-premiera-tuska-lekarze-odradzaja-wysilek-video,id,t.html?cookie=1

Pamiętajmy !

Continue Reading

Project Euler – took a challange ! ;-)

 

Leonhard Euler (1707-1783)Where should I start?

That depends on your background. In the Problems table you will be able to see how many people have solved each problem. As a general rule of thumb the more people that have solved it, the easier it is.

 

I've written my program but should it take days to get to the answer?

Absolutely not! Each problem has been designed according to a "one-minute rule", which means that although it may take several hours to design a successful algorithm with more difficult problems, an efficient implementation will allow a solution to be obtained on a modestly powered computer in less than one minute.

 

Does it matter if it takes more than one minute to solve?

Of course not, but that should provide the impetus to return to the problem and see how you can improve your approach. But remember that once you've solved a particular problem you will be able to access a thread relating to that problem and it is here that you may be able to pick some tips from others that have solved it.

 

I solved it by using a search engine, does that matter?

Making use of the internet to research a problem is to be encouraged as there could be hidden treasures of mathematics to be discovered beneath the surface of many of these problems. However, there is a fine line between researching ideas and using the answer you found on another website. If you photocopy a crossword solution then what have you achieved?

 

More information you can find here: https://projecteuler.net the github repository with my solved tasks is here: https://github.com/TomaszWaszczyk/projectEulerSolutions

Continue Reading

What Is The Most Valuable Programming Language To Know For The Future And Why?

I just have read an very interesting Q&A on http://www.Quora.com:

To quote William Ting‘s earlier answer: “JavaScript will stay relevant as long as people use the internet.”

1. So, JavaScript will be relevant forever.


2. JavaScript runs in other environments, outside of browsers, and can be compiled from a wide array of programming languages.

With the maturity and robustness of mobile frameworks like PhoneGap and end-to-end implementations like Node, JavaScript will be used more and more often, in more and more contexts.

So, my vote is—wait for it—JavaScript.

Not convinced?

JavaScript is the #1 most-used language on GitHub, and this trend is only going to increase:

– via @dberkholz on Twitter

Khan Academy teaches their Computer Science courses in JavaScript.

Stanford’s Computer Science 101 is taught using JavaScript.

Windows 8 treats JavaScript as a 1st-class citizenas does OSX Yosemite.

Entire Web browsers are being written in JS, and there is an implementation of git being built entirely with it.

GitHub’s Atom editor is built almost entirely around CoffeeScript, which compiles to JS.

You can even program hardware in JavaScript, including PLAYING DVDs.

Almost every public REST API returns JSON (JavaScript Object Notation) as their primary data format, and has done so for several years.

And let’s not forget the demand of JavaScript in the job market (HTML5 is #1):


Simply put, more people are willing to pay money for JavaScript devs than any other platform or language right now. That is the very definition of the word “valuable”.

It seems that the enterprise agrees:


“Treat JavaScript experience and expertise as a basic requirement for most developers.” – @Gartner_inc Predicts 2014 App Development – Via Adobe’s Brian LeRoux on Twitter





Gartner predicts that through 2014, improved JavaScript performance will begin to push HTML5 and the browser as a mainstream enterprise application development environment.”

It’s hard to argue that any other language is more valuable for now, or for the future.

Answer by Boz Bundalo, CTO and Venture Partner at Venture51, onQuora

I will disagree with the whole Javascript thing and I’ll tell you why.

While Javascript might “exist” as long as web exists, the web/browser is dying. The next generation and revolution we are witnessing is the Internet of Things and interconnectivity of the devices (namely Android but as well as iOS and possibly Windows type of OS for mobile/devices – but that’s yet to be seen).

While Javascript is useful to know, the web stack will be more and more used for the back-end RESTful type of web services and less for front-facing web and this is where knowing Python/Django, Ruby/Rails and even PHP/Laravel will come more in handy as they are perfectly positioned for RESTful web services.

The latest numbers show that consumers/mainstream audience uses more and more native applications and less web based apps.

Javascript is a relic that has changed somewhat but not enough in since 1999. It still has the same problems it had 15 years ago. It’s not efficient, even though the Javascript engines have progressed (looking at V8, SpiderMonkey, Nitro etc), it’s just behind.

This is the reason why Google came out with Dart and tried to offer alternatives to Javascript, why Microsoft introduced Typescript etc. …  Not to mention that if you saw Google IO 2014, you can see that Google is clearly shifting Chromebooks to run native Android applications and is a signal that they might be moving away from the web app approach.

Javascript landscape is a wild, wild west. The way one person writes it differs from another, especially when you account gazillion frameworks that are trying to solve some kind of inefficiency with DOM/JS approach and overall issues.

But let’s talk about languages. Java has a new revolution. Why? Because it is a solid language that covers a lot of things and has HUGE backing and support from the community and is incredibly mature. You can build back-end services, you can build native Android applications, you will be building applications for cars, for TVs, etc.. and you will be doing it natively with the APIs from new devices.

There is a reason why many big companies have started with other languages and back-end architecture and they eventually went back to Java.

Granted, Java is not perfect, but if you acknowledge that Android rules the world and the new devices and services come out, you will have far more work and opportunities with it.  I would say a lot of people who have issues with some things Java, will tell you that Scala is better and I think Scala is pretty great. Twitter uses it.

I think knowing Java will also allow you to jump to other similar languages. Today, we see that Apple is moving to Swift, C# is very popular with Xamarin that allows you to build real native applications with it, and they are all very similar as they come from a C family.

I think a lot of people need to ask themselves whether or not they think Web apps will stay relevant or the native type applications with direct connection to hardware APIs will be the way forward.





All the statistics and what we are seeing are telling us that we are moving towards the latter.  Native applications with the web services/cloud back-end.

This is only intensifying.

While I agree that you should understand general computer programming principles, design patterns, OOP and data structures, I would tell you that you should learn the following languages for the next 10 years in this order:

1. Java (Java has matured so much and Java has some of the cool stuff like generics, lambda expressions, Improved type inference)


2. Swift


3. C#


4. Javascript (and mainly because of Node and less because of web-app front ends)

Github Javascript measurement is really not a good measurement of popularity.

If you look at job requirements across the world, the demand has skyrocketed for Java (holds number 1 place), Objective-C and Swift now, C#.

As I noted, this is really where technology is going. Javascript and traditional Web in general have really less and less place in that future.

We are moving towards mobile devices, cars with apps, powerful TVs that will add even more functionality, home automation etc etc and this is a world where web as we know it has little place in unless it is a cloud and web services that we use to store/retrieve data.

And if you think about it, we went full circle, from desktop apps without connectivity, to web only approach and now we are coming back to smart devices with desktop/native type applications and we use the web for what it’s really great for, network connectivity and less of front end usage.

In conclusion, if you are going to be taking a language, consider this and go native all the way.

This question originally appeared on QuoraWhat is the most valuable programming language to know for the future and why? More questions:

Continue Reading

"Robot EA nie męczy się nigdy. Rozmowa z Tomaszem Waszczykiem"

Robot EA nie męczy się nigdy

 

Automatyczne systemy transakcyjne powinny być spójne i kompleksowe. W końcu to one podejmują decyzję za inwestora. Jednak przede wszystkim muszą byćperfekcyjnie do niego dostosowane, co podkreśla trader i programista Tomasz Waszczyk.

W jaki sposób zbudować dobry automatyczny system transakcyjny?

Trudno w paru zdaniach zawrzeć przepis na dobry automat transakcyjny. Tym bardziej, że słowo „dobry” dla różnych ludzi może oznaczać zupełnie co innego. Jedna osoba akceptuje wyższy, tzw.drawdown czyli spadek na kapitale od jego szczytu. Natomiast ktoś inny wychodzi z założenia, że automat o wysokim DD nie jest skuteczny. Wracając do pytania, osobiście sądzę, że każdy system transakcyjny powinien pasować do korzystającego z niego inwestora. Niestety nie wszyscy są tego świadomi i próbują dopasować siebie do posiadanego systemu. A to jest błąd.

Na czym polega funkcjonowanie systemu – automatu?

W wielkim skrócie to jest program komputerowy, który w oparciu o zaprogramowane w nim reguły podejmuje decyzje inwestycyjne. Ważne, aby automat był spójny i kompleksowy. Podczas programowania automatu transakcyjnego powinniśmy przewidzieć każdą możliwą dla niego sytuację rynkową. Jest to o tyle istotne, że w przypadku pominięcia chociażby spreadu przy testowaniu automat jest zyskowny, ale w czasie handlu rzeczywistego może już tracić.

Jaka jest przewaga automatycznego systemu nad ręcznym handlem? Oferuje większą skuteczność?

Należy rozróżnić dwie rzeczy: system inwestycyjny oraz automat transakcyjny. System inwestycyjny jest zawarty w automacie transakcyjnym. Chodzi o zestaw reguł, jakim posługuje się przy otwieraniu, prowadzeniu oraz zamykaniu transakcji. Z pewnością jedną z największych zalet handlu automatycznego jest fakt, że robot nigdy się nie męczy. Pracuje nieprzerwanie 24h/dobę. Drugą ogromną zaletą automatów jest szybkość analizy rynku. Robot przeszukuje setki rynków jednocześnie w czasie ułamków sekund. Niestety człowiek nie jest w stanie tego zrobić. Są również roboty, których system inwestycyjny jest oparty na szybkości dostępu do notowań. Jeżeli chcemy wykorzystywać tego typu strategie, jesteśmy zmuszeni do handlu automatycznego. Dobre automaty transakcyjne pozwalają także na bardzo komfortowe od strony psychologicznej zarabianie, ponieważ oferują względnie wygładzoną krzywą kapitału.

Roboty EA są dedykowane początkującym czy zaawansowanym inwestorom?

Z własnego doświadczenia mogę powiedzieć, że handlowanie automatycznymi strategiami transakcyjnymi jest przeznaczone dla osób, które nie działają na rynku od wczoraj. Wynika to z kilku czynników. Jednym z nich jest fakt, że do napisania expert advisor, który zarabia, jest potrzebne doświadczenie rynkowe inwestora, zdobyte dzięki handlowi ręcznemu. Chciałbym zwrócić uwagę na to, że w Polsce jedynie ok. 4 proc. obrotu jest wykonywane za pomocą handlu automatycznego.

Czy początkujący inwestor może sam zbudować robota?

Napisanie robota wiąże się z dwoma podstawowymi problemami. Po pierwsze: jakie reguły wybrać, żeby system zarabiał? Po drugie: zakładając, że pierwszy warunek został spełniony, musimy bardzo dokładnie tę wiedzę przekuć na kod źródłowy rozumiany przez komputer. O ile początkujący inwestor może zlecić programiście wszystkie problemy techniczne związane z programowaniem, o tyle programista potrzebuje informacji, w jaki sposób ma programować. Osoba z małym doświadczeniem w handlu ręcznym nie jest w stanie przekazać programiście żadnego sensownego zestawu reguł, który później ma przynosić zysk. Wielu ludziom wydaje się, że kupi sobie robota za kilkaset dolarów i już do końca życia nie musi nic robić. Z przykrością stwierdzam, że to wyobrażenie jest oderwane od rzeczywistości. Prawda jest taka, że robota należy kontrolować. Zmieniać parametry tak, aby przystosowywał się do szybko zmieniających się realiów. To może być bardzo trudne dla początkującego inwestora.

Trzeba znać język programowania, aby stworzyć EA?

Tak, zdecydowanie tak. Ja miałem trochę łatwiej, ponieważ studiowałem informatykę. Kontakt z kodem źródłowym miałem praktycznie przez cały okres studiów. Mimo to nie należy zakładać, że programista ma dużo łatwiej przy tworzeniu EA. Niejeden broker pozwala swoim klientom na programowanie robotów w języku JAVA, którego nie miałem na studiach. Uważam to za porażkę polskiego szkolnictwa wyższego. Bardzo dużo musiałem nauczyć się sam bądź od bardziej doświadczonych ode mnie znajomych. Prawda jest taka, że nieustannie należy rozwijać się i dokształcać, żeby móc dopasowywać się do ciągle zmieniającego się rynku. Być na bieżąco z nowinkami technicznymi, które czasami są bardzo przydatne i pozwalają zaoszczędzić czas. Chciałbym jeszcze uczulić na kupowanie black box. Nie wiemy jak działa, nie rozumiemy, co w nim jest, a chcemy, żeby zarabiał. Ja nie wierzę, że można zarabiać w ten sposób. Niestety firm i osób sprzedających takie systemy jest mnóstwo, co powinno być tak samo karane, jak kradzież w sklepie.

Automaty sprawdzają się lepiej w inwestowaniu długoterminowym czy daytradingu?

Wszystko zależy od tego, czy wiemy, co tak naprawdę robimy. Zanim zaczniemy programować automatyczną strategię inwestycyjną, musimy zastanowić się nad wieloma rzeczami. Jedną z takich rzeczy jest horyzont inwestycyjny. Czy automat będzie zestawem reguł zaimplementowanych dla trendów czy dla okresów konsolidacji? Ewentualnie wybicia z konsolidacji, którą możemy mierzyć na prostym wskaźniku ATR. Wskaźnik określa zmienność, na podstawie której możemy podejmować dalsze decyzje inwestycyjne.

Jaki jest stosunek brokerów do automatycznych systemów? Szczególnie przy zyskownych transakcjach?

Aby odpowiedzieć na to pytanie, warto zastanowić się, co robi robot transakcyjny z punktu widzenia brokera lub innego pośrednika. Patrząc na zagadnienie z tej perspektywy, zlecenie wykonane za pomocą robota niczym nie różni się od zrealizowanego ręcznie przez inwestora. Brokerzy działający w modelu market maker zarabiają na spreadzie. W przypadku brokerów działających w modelu ECN, my ponosimy koszt prowizji. Zatem widzimy, że dla brokerów jest to zupełnie obojętne. Chciałbym jednak zwrócić uwagę na jedną dość istotną sprawę. Niektóre roboty generują bardzo dużą liczbę transakcji wysyłanych do serwera brokera. Nawet nie muszą to być zlecenia wysyłane na rynek czyli on the market, a – co zdarza się dużo częściej – zlecenia oczekujące. Zdarza się, że liczba tych zleceń jest tak duża, że dostajemy maila z informacją, aby przestać obciążać serwer. Jeżeli tego nie zrobimy, broker zmniejszy nam limit wykonanych transakcji do np. jednej transakcji w czasie trzech sekund.

U wszystkich brokerów jest możliwy handel przy pomocy EA?

Zdecydowana większość brokerów posiada platformę pozwalającą na handel automatyczny. Aczkolwiek są brokerzy, którzy ograniczyli tą możliwość. Zwykle brokerzy udostępniają bardzo popularną platformę transakcyjną Meta Trader 4/5 pozwalającą handlować za pomocą EA. Obecnie często słyszymy o nowych brokerach, wzrasta konkurencja. To z kolei implikuje, że firmy muszą dostosowywać się do szybko zmieniającej się rzeczywistości i walczyć o klienta. Znam takie, które przyciągają klientów nie tylko udostępnieniem handlu automatycznego, ale także możliwością skorzystania z usług programistów, którzy pomagają w tworzeniu robotów.

Korzysta Pan z takich robotów czy raczej otwieranie i zamykanie zleceń opiera na innej strategii?

Kiedy zaczynałem eksperymenty z handlem automatycznym, było możliwe zarabianie stosunkowo małej ilości pipsów, ale z podwyższonym prawdopodobieństwem trafności transakcji. Polegało to na zaprogramowaniu dwóch wzajemnie komunikujących się robotów, które wyszukiwały nieefektywności na rynku i wykorzystywały je, dokonując arbitrażu. Niestety rozwój technologii przyczynił się do zaniku tych nieefektywności, przez co metoda stała się mniej użyteczna z punktu widzenia inwestora indywidualnego. Aktualnie wykorzystuję EA do prowadzenia transakcji, automatycznych zmian poziomów stop loss, wyszukiwania tych zależności na rynku, których znalezienie przez fizyczną osobę pochłania sporo czasu. Pracuję nad aplikacją, która będzie zarządzać kilkoma współbieżnie działającymi EA w celu wygenerowania jak najbardziej zadowalającego zwrotu z kapitału.

 

Postanowiłem przekleić swój wywiad dla akademiaforex.com, gdzie oryginał znajduje się pod następującym adresem: http://akademiaforex.com/robot-ea-nie-meczy-sie-nigdy-rozmowa-z-tomaszem-waszczykiem/ 

Continue Reading

What is "-XX:+UseCompressedOops" ? – how to reduce of memory by Eclipse ?

Most HotSpot JVM in the last year have had it on by default. This option allows references to be 32-bit in a 64-bit JVM and access close to 32 GB of heap. (more than 32-bit pointers can) (You can have near unlimited off heap memory as well). This can save a significant amount of memory and potentially improve performance.

If you want to use this option I suggest you update to a version which has it on by default as there may have been a good reason, such as bugs, why it wasn't enabled previously. Try Java 6 update 23 or Java 7 update 5.

In short, don't turn it on, use a version which has it on by default.

Of course, the modification of Eclipse settings are in eclipse.ini file. 

Continue Reading