To write well, you must read a lot and practice a lot.
Obviously you can't write well if you don't read, since no one can develop the vocab in his or her own head.
And it's even more obvious that one can't write well without lots of practicing, just like anything in life.
To read effectively, you should develop a passion to read, by finding a range of subjects that interest you.
It's also important to have a good setup for reading. I suggest a well configured online reading environment.
Configure your browser with a pop-up dictionary that lets you look up new phrases without leaving the page.
Also, do comparative reading, meaning you read both the English text and your native text side by side.
With such a setup, you can read with minimal disruption and frustration even if the text is a bit too tough for you.
I believe reading good texts broadly in this way is the best way to expand your vocab and hone your writing skills.
Remember that high end vocab hardly ever appears anywhere except in good books and articles - reading is the key.
With this setup, you can also practice writing.
Since you're doing comparative reading between English and your native, you can easily practice translation too.
Gradually, try translating what you have in your native text to English, and compare it with what's in the English text.
You have at your fingertip the whole book to practice with, as well as top quality answers to check your work against.
And you don't have to rack your brain to figure out what to write about. It beats the Italki Notebook in my opinion.