I decided to re-publish this one (an updated version) because this is the part of my blog I am extensively using myself, so I don't want to have it somewhere deep in archives... (OK, with so 'many' blog entries there is 'no deep in archives' ... anyways...).
An updated version of the EA (expert advisor) for MT4 platform, meant as an assistant - to put SL if you wouldn't, and to make sure the winning trade will not turn into loosing when you fall asleep ;-)
Here is the code:
// trade assistant - to watch after SL's for your trades // some ideas and code fragments: "S.Projects" - "cortex.snowcron.com"
extern int logging=1; //logging=1 - if you want logs in Experts\Files directory extern int nInitialSL=15; // inital SL extern int nTrailingStop=35; //nTrailingStop [pips] - initial trailing stop. It will be used until your trade will reach profit = nPropSLThreshold extern int nPropSLThreshold=12; //nPropSLThreshold [pips] - after reaching this profit proportional trailing stop will be used extern double dPropSLRatio=0.35; //dPropSLRatio [decimal] - multiplying factor ( PropSL = Profit * dPropSLRatio - Spred ) extern int nUseEscape=0; //nUseEscape [ 1 or 0 ] - escape misplaced trades as soon as they reach some minimal profit extern int nEscapeLevel=0; //nEscapeLevel [pips] - lose size after which we want our trade to terminate //as soon as it will reach next high extern int nEscapeTP=35; //nEscapeTP [pips] - take profit level in pips (you can set to negative value //- then it will be a lose that you would be happy to get, //in the case your trade reached some impressive negative pips value) extern int nSleep=0; //delay after new bar extern int nSlip = 2; //maximum price slip allowed
void Log(string msg, double val1, double val2, double val3) { if(logging > 0 ) { int handle; handle=FileOpen(strExpert+".log",FILE_CSV|FILE_READ|FILE_WRITE,';'); if(handle<1) { //Print("File "+strExpert+"-log.txt not found, the last error is ", GetLastError()); Print("File "+strExpert+"-log.txt not found, the last error is ", GetLastError()); return(false); }
FileSeek(handle, 0, SEEK_END); //---- add data to the end of file //FileWrite(handle, Year(), Month(), Day(), Hour(), Minute(), "Bid, Ask ", msg, Bid, Ask, "___", val1, val2, val3, val4, val5, val6); FileWrite(handle, Year(), Month(), Day(), Hour(), Minute(), msg, Bid, Ask, "___", val1, "___", val2, val3); FileClose(handle); } }
void LogSL(string msg, double val1, double val2, double val3, double val4, double val5) { if(logging > 1 ) { int handle; handle=FileOpen(strExpert+"-sl_log.txt",FILE_CSV|FILE_READ|FILE_WRITE,';'); if(handle<1) { Print("File "+strExpert+"-sl_log.txt not found, the last error is ", GetLastError()); return(false); } FileSeek(handle, 0, SEEK_END); //---- add data to the end of file FileWrite(handle, Year(), Month(), Day(), Hour(), Minute(), msg, Bid, Ask, val1, val2, val3, val4, val5); FileClose(handle); } }
What is average share of the greenback in big economies' (EU, Russia, Australia, India, China) treasury reserves? 60%? 70%? 80%?
Isn't it the cheapest option for the world - to bailout America, rather then to let it declare bankruptcy?
Last time I have done big FA (fundamental announcement) I have
easily got 100 pips (Jan 2009 - the USD was falling, the unemployment
rate was setting new records), so I thought this one will be piece of
cake.
It wasn't. I totally screwed it up. I think its' a good lesson though - that's why I am sharing it with you.
First: how to do it properly:
Until further notice - I believe in two ways of trading FA, both of them share one rule:
no orders from 10 min before till 10 min after FA, including pending orders (no pending orders to be simple).
Method 1.
Open an order in a direction, that everyone is expecting (I assume that you don't have open order yet).
Of
course one can ask: how can I know what "everyone is expecting?". -
Read analysis, commentaries, look at the history (H4, D1 charts). A
good place to go is:http://www.forexpros.com/technical/
So
once you have an idea what to expect, watch the market from something
like 4 hrs before FA. If there is no
clear channel visible around 2-1 hrs before FA - than I have no idea
what's going on. But if there is - just buy/sell in that channel
direction (of course wait for the channel high/low respectively). At
about 15 min before FA, set SL (stop loss); for a downtrend - at
channel high + 10 pips, and for uptrend - at channel low - 10 pips.
Then
wait.
After FA time - in most cases - market will start to
move in the expected direction. After first long bar on M1 move your SL
to about 30-40% of the distance of the last swing(that is assuming that
the move was in expected direction ;-). You can use an EA for automatic
SL handling - http://codebase.mql4.com/6043
Then
wait again. When people will actually get the FA figures - then either
the price move will continue, or - it will reverse (like happened with
me). If it will reverse, wait until it will cross the previous swing
starting point. After that - if the trend continues, wait until it
will stop, retrace, and then set your pending order slightly above/below last top/bottom.
Method 2.
This is actually a second part of the Method 1. - don't open any
orders before FA. When price will start to move, wait till it stops and
retraces a little bit, then set pending order in the direction of the
first move after announcement, with price = last maximum plus some
safety margin (3-5 pips).
In both cases keep SL (StopLoss values) tight, but only at the beginning. And IMHO - use M1 chart around the fundamental announcement. The price will move so fast, so even M5 will not display the market's "inner beat".
Also in both cases, if there is high amplitude, crazy jumps - just
wait. You most likely have no idea what is happening. Maybe it's the
great opportunity - but there will be a next one! So don't lose your
pips in vain!
In any case - practice it several times on a demo account, before going live! This is very important.
Why not to use pending orders?
The answer is very simple: the price can move so fast, so your
pending order will be executed with up to 15 pips re-quote (sic!). Or
maybe even bigger.
Let's see an example:
At 15:30 my time (GMT +3) or 8:30 EST the Non-farm Payrolls change is due to be released. At about 12:00 (05:00 EST) the price reached 1.4563 - morning high, then started relatively slow, channeled decline to the pre-FA range (1.4531 - 1.4544).
Knowing the market is going to go down, I have opened pending order at about yellow dotted line.
Just before announcement time I tried to move it up, but the "trade context was busy" and after few moments of swearing I finally managed to move the trigger to a solid yellow line. When the price went down, my order was re-quoted and finally opened at ... even below yellow dotted line (1.4505). I have got a profit of about 17 pips and then I should quickly set SL between order open and current price. I didn't. The price went up, now I had between -5 and -10 pips. It was a time to close and wait but I didn't. The market finally got the figures ( -263k versus -190k expected) and decided - "we cannot continue down, no matter how much we'd like to". So the price started to climb and hit my initial SL at 1.4552.
With the first method I would get mere few pips of the downward movement, then all the climb between 1.4567 - 1.4635.
With the second method I would get "only" the main dish, but of course - if the FA stats would be in the favor of the market sentiment - with the first method I would earn additional 40+ pips versus method 2.
It is not a collection of tutoring and advices from a Forex guru - which I am not.
It is a history of my learning and discovering trading techniques. What is it good for?
Well, frankly - it's good for me :-)
I have noticed, that when I started to write mini-articles about what I do - I also started to be more disciplined.
It's like - if I will again oversize the trade I will be ashamed to write about it.
Secondly, when I trade I bear in mind that I will share it, so I am trying to be more responsible, less emotional stick to my strategy and rules - to be able to be more proud when I will describe it on my blog.
The truth is - emotions in my case, and - probably for many beginners like me, are the biggest enemy of the profitability.
That is why an idea of "Support Group for Anonymous Newbie Traders" came to me. Talking about problems and mistakes makes it easier to eventually get rid of them.
Though my primary goal of doing this blog was to make myself more disciplined in trading, but I hope those interested in Forex will still find something interesting or useful for them.
I have started my adventure with trading currencies at the beginning of 2009'.
I have swallowed some theory, spend days and night writing EA's, checked several brokers, did some spectacular profits and even more spectacular looses, so if you are wise enough to learn from someone-else mistakes - you are welcome !
After one year of trying to learn how to "surf" the wave I have the following observations of my mistakes, which I believe might be common to many beginners (of course there is a possibility I am more then average 'blonde' or dummy :-)
1. "Let's do some trading now" attitude. Try to smell the direction of the wind and sail.
NO NO NO. Wait for it. Don't enter if you are not reasonably sure what is the situation (in my case this would mean - don't trade for 8 months :-). Then you can use tight SL - if you are wrong you will not pay too much.
After year of reading articles and books on trading I am starting to understand commonly used phrase: "There will be always opportunity to trade in the future".
That is of course if the end of the world is not close... but then who cares about money :D
2. Keep it simple. I really admire rule of thumb patiently taught by Greg Michalowski from FXDD (www.fxdd.com).
At the beginning SMA100 and 200 didn't seem very significant to me. I don't understand why. Or maybe I do. I was trying to scalp, and MA100 and 200 seemed always to be beyond the horizon.
IMHO, if success with scalping is possible at all, it requires 6th sense. For those not gifted scalping is the same sort of sport as dice. Of course trading in the scale of days requires patience: maybe today is not a day to play. But if we wait till the cable checks the 100 bar SMA on 5min chart - we can figure it out (hopefully).
3. Main enemies: lack of discipline, increasing risk in hope to get revenge on the market in the big style, lack of patience, fear and greediness.
For the ones seeking for a nice trend on GBPUSD:
I would dare to suggest: In addition to watching MA100 and 200, look at Ichimoku (9,26,52 - standard settings) on 15min chart. I think it can give a hint or confirmation where is the trend.
Warning!
I am not a Forex guru !!!
This is rather meant as a support group for anonymous newbie traders :-)
Which may make a lot of sense, as I am trying to prove in one of my posts.
Comments on the Forex market, trading, macro-economy, war on Sith and beyond...