Get Back Your Money

Wednesday, April 29, 2009

Create Your Own Exit Strategy

As any other non stop reversal systems, creating exit strategies become a hardest part in developing trading system. Since I include the MQL4 source code in VS_Eurocross_d02 version, then you can analyze its exit logic. And it is possible to change all exit logic with your own. If you are doing back test; take a look to your journal at the end of back test. You will see a message like "case1:10","case2:10". Each represents the logic code and the total of that exit logic executed during back test period. And you can optimize it by trying to remove it one by one to see the different.
You can have different strategies, but here what I did:
I separate my exit strategies by its working time.
Its mean that I have exit logic that work during trading time, after trading time and work all around the time. If you have exit logic, try to put them on the correct working time.
Create exit strategies related to Keltner channel position
Think if price across the moving average, can it touch next channel? It’s no problem if we make profit at this point, but how if we are holding a loosing trade?
For me, it’s all a guessing game, but using one ore more indicators we can make accurate decision.
Using Profit Accumulation
You will find that sometimes I let each open position to get its target and sometimes I will accumulate the profit from all open position.
Bar counting method
I have assuming that if several bar has been passed and the open trade does not hit it’s maximum target, then try to reduce the target related how much bar it has been passed.

Monday, April 27, 2009

VS_EUROCROSS_D02 Now Available

Finally you can try VS_EUROCROSS_D02 It is more customizable than previous. Even now I include the MQ4 source, and I have put several function that ready to use to make exit strategy.
New External Variable
VolatilyPeriod
Basically Volatily Scalp system use Average True Range, Moving Average and Standard Deviation Indicator. All these indicators must use same period. By these indicators, construct other indicators that CK_Speed and Keltner channel. Therefore it’s impossible to construct Keltner channel using different period between moving average and ATR under this system. And by nature will eliminate us over optimization that only fixing historical data. Therefore I only put one external variable called “VolatilyPeriod”. By default the value is 20, but you may try another value.
MyOwnTarget
What another strategy in this EA, that we can have another target that may override volatility target at several condition. I suggest using 10 for EurChf pair and 7 for EurGbp pair.
IsTrailing
Set this value to True, the EA will trail our stop loss if the price penetrates first deviation of Keltner channel while 5 periods CK_Speed indicator color is green. Set the value to False if you want to keep your current stop loss.
Performance Issues
I suggest running only one EA at terminal. This is to increase the performance, and will reduce “Trade Context is Busy” Message in the journal.

Thursday, April 23, 2009

BUG

It's Bug
There is a bug in my VS_EUROCROSS Expert Advisor. The bug is in MQL, not in dynamic library. I am checking my trading statement, for last two days, and clearly there is a bug in my code.
But I have fixed the bug. The Expert should not close any unprofitable trade which just opened below 60 minutes and especially still in trading time. You can check my statement report; there are trades that closed suffering -5 pips. That’s true there is a rule in my exit strategies to close unprofitable trade, but not in this case. In technical my fault is declaring local variable with the same name Global Variable which is declared before.
I make back testing for the same period and there is little change in result. With a bug in MQL code, the back test result gives higher result, but with fixing the bug it’s increasing profit factor with less drawdown.
On the first time fixing this bug, I expect that it can cover the missing trades in original version. Seem I expecting too much. It does not solve the problem for the missing trades. But I am satisfaction with current result especially with EurChf pair. With EurGbp pair it has a loosing trade, but seems it can be covered in a month.
I hope your patient waiting the update, because I will update it at the same time for expiration update, and hope it’s available on next week. I am still thinking to make any internal variable become external variable, so it more customizable. And if it’s possible I will put the Ma length variable and CK_Speed variable as external variable so we can make optimization.
With Bug
After Fixing the bug

Tuesday, April 14, 2009

Tuesday

I have a special attention about trading on Tuesday. In my opinion at the normal condition the weekly market open tend to be flat in all markets session. And therefore Tuesday opening tends to be trending. But again this is just my personal judgment; however using indicator may give us a better judgment.
In my post before, I use a combination of Keltner Channels and 2 Deviation Bollinger Bands to confirm trend condition. What a condition that may only easy by eyes looking. But using indicator is a trader choice. Every trader may use a different indicator. And even a same indicator can be used in different way by different trader. It’s trader’s gun in war.
A famous indicator that may be able to help us to detect trending market is Average Directional Movement Index (ADX). Many technicians suggest using 20 levels as a barrier to confirm a trend condition. This is a common use ADX indicator for trend following system. But the most useful information that we can get from ADX value if it’s value broke above 50 levels and then turning down. The common interpretation of this condition is market in correction phase. And as a counter trend strategy, this condition is a sign for our system. Market will be in tight consolidation, and give us trading opportunity.
Tight Consolidation After Long Rally

Scalping Major Pair

Really it takes more challenge to make scalping system at major pair rather then cross pair. Although they offer a lower spread then a cross pair, but they don’t have any dependency with the other pair.
Although when I create Volatily Scalp System actually to work with EURUSD pair, but until now I never finishing one EA that give a satisfaction result on this pair. The main problem that volatility changes in this pair since July 2008 broke my system.
Applying volatility level could little help to solve this problem. But no one knows when the volatility will be changed. And just like spread filter, somehow this filter can make EA will not work for a long time and may be not work at all.
At the moment I make new research at 5 Minutes Time Frame. Working with little time frame offering a big opportunity since the signals may come often. But the main reason to work a little frame to accommodate an increasing volatility. If you have download my VS_EUROCROSS EA, than you can test it at 5 Minutes Time Frame in EURCHF. You will find a better result especially if you test it since July 2008 when the volatility increase from this month.
An interesting result from my research in EURUSD, that my EA can produce almost a thousand pips from November 2008 to February 2009. And it’s a similar result if we compare to any system that work at same time trading except they trade the cross pair. However the EA keep suffering a deep drawdown. What make it difference that in high volatility the loss may come often than usual, but also the profit can be higher, many trades can be executed, and then may cover our loss faster.

This test just start only July 2008 using 0.1 lots each trade and therefore the result can also measured in pips. The lowest dropping in equity occurred at October, 24 2008 recorded at 9,538 and star to climb after that. It produces about 300 pips a month until February and record 10,835 at that month. Unfortunately it loss about 400 pips in March, but soon recover until end of test.

Sunday, April 12, 2009

Scalping EURGBP Pair

My Current Work on EURGBP using 5 spread
May be this pair is trader’s favors to scalp, especially after Automatic Trading Championship 2008 is over; where there are two EA take the second and third place trade this pair. An amazing result of both two EA can turn up 1000% their account at the end of championship.
After that all broker that use MT4 platform raise their spread for EURGBP pair. And since then almost All EA that trade this pair becomes a looser. In my opinion, while it’s still in high volatility, then we still can make money from this pair. If you have any EA that work on this pair at Asian Session, then do a back test from October 2008- till December 2008. You will find the positive result even at 5 spread. But of course you will get a worst result if you test it below 2008 year, where the EURGBP volatility is low. It can raise a question who likes to scalp in low volatility.
Spread Difference
This is may a funny idea that could help such EA to work under 5 spread. Rather to protect EA not to trade at 5 spread or more that possible not work anymore, we can give a delay for spread difference after our signal was triggered. For example if our EA has a 5 pips target, each time our signal is triggered, than we must wait the price move as much spread difference before executing an order. However this technique only easy on back test environment. But by doing this delay technique in back test, we can measure our signal performance. You will find a lot of winning trades that executed under normal spread, will miss in this new rule. And know running back test again. Now see how much winning trade are left.

int start(){
Double oldspread=3;
Double currentspread=5;
Double diffspread=currentspread-oldspread;
//sell on rsi overbought
If(rsilast < 70 && rsicurrent >=70 && !Waitingforsell) {
Waitingforsell=true;//global variabel
normalprice=bid; //global variabel
}
//cancel waiting if rsi get out from overbought threshold.
If(rsilast > 70 && rsicurrent <70 && Waitingforsell) {
Waitingforsell=false;
normalprice=0;
}
//Time to execute the trade
If(waitingforsell){
If(rsicurrent >=70 && bid >= normalprice+diffspread*point){
Tiket=OrderSend....
If(Tiket>0){
Waitingforsell=false;
Normalprice=0;
}
}
}

}

Friday, April 10, 2009

Running On VPS Server

I would like to thank to someone who tell me about problem running my EA on VPS that run Windows 2003 Server. I have found some problem in one forum, but at the end of thread no confirmation how the thread starter fixing this problem.
But seems the main problem that what another library that present at Windows XP is missing at Windows 2003 Server. So I have two solutions, to copy that missing file or rebuild the library with static link of Microsoft Foundation Class.
I take the second option, thanks to Marcus who confirmed that it's now work on Windows 2003 Server. This picture show us how to do that.
Select static use of MFC in dropdown list
The disadvantage of using this option that increase file size, and may consuming more our system resource.

Thursday, April 9, 2009

Trade Just After Trending

What an important one that may help filtering our bad trade that determining a trend condition on American Season. A high volatility in American season offers a tight consolidation in Asian session. It could be abroad generalization, but what we must take care about sideway trading that the longer market in sideway condition the higher it’s probability to wake up. And it’s better to apply another strategy in this condition.

There are a lot of good indicator can we use determining trending market and easy to use in programming and catching by our eyes. However we can also compare Bollinger bands with Keltner Channels but its only easy catch by our eyes. What I think a good condition that we must look is to find “a wide band” out side the channels. You can see such a sample on the graph below.
Wide Band outside channel

The advantage if we meet this condition, it is offering a higher profit in pips hence the market still in high volatility.

Sunday, April 5, 2009

Time Related Issues

a.m. : ante meridian, meaning before midday, or before the middle of the daylight hours. Also, before noon is used to reduce confusion. For clarity, a person should say 12 Midnight for 12:00 a.m. Ante Meridian is usually referenced in coding comments as:
// a.m. is 00:00:00 to 11:59:59 (hours: minutes: seconds)

p.m. : post meridian, meaning after midday. The time considered to be after noon. For clarity one should say 12 Noon for 12:00 p.m. Post Meridian is usually referenced in coding comments as:
// p.m. is 12:00:00 to 23:59:59.
Time Zones: One of the 24 established divisions or sectors into which the earth is divided for convenience in reckoning time: each sector represents 15 degrees of longitude, or a time interval of one hour. The zones start on the zero longitude in Greenwich, England. Each time zone keeps time slightly differently so that at 12:00 noon the sun will be high in the sky.

GMT: Greenwich Mean Time . GMT is sometimes called Greenwich Meridian Time because it is measured from the Greenwich Meridian Line (Longitude 0) at the Royal Observatory in Greenwich, England. It is the place from where all time zones are measured, starting in 1884. It is also known as the “Universal Time”.

Universal Time: Universal Time is equivalent to GMT. By international agreement, the term UTC is recommended for all general timekeeping applications, and use of the term GMT is discouraged.
It is often referred to as either Universal Time (UT) or Universal Time, Coordinated (UTC). This time is considered to be the most accurate.
It is almost always referenced by a 24 hour clock: 0000 to 2359. Sometimes a Z is appended to the time to indicate a Zero Hour offset because we are referencing the time at the zero longitudinal meridian, as in 1030Z. Pronounced “One Zero Three Zero Zulu.”
UTC is considered to be more accurate for weather, and astronomical applications. UTC can also be obtained readily from the Global Positioning System (GPS) satellites for navigation purposes.

Daylight Saving Time (DST):
About 70 Countries use some form of Daylight Saving time. Because the earth is tilted 23 degrees, we have changing seasons, and shifting sunrise and sunset times [as the earth rotates around the Sun].
The intent is to move 1 hour of daylight from the morning to the evening to make better use of planet Earth’s available daylight. In reality there is no “saving” of daylight. This term could better be depicted as “Daylight SHIFTING time”.

EST: Eastern Standard Time (New York, United States). Add (-5) hours from Greenwich Mean Time. This implies NO Daylight Saving time offset. Although if Daylight Saving time is in effect, most people still refer to the time in New York, USA as EST.

EDT: Eastern Daylight Time. If Daylight Saving time is in effect, add (- 4) hours to Greenwich Mean Time.

Check Your Trading Time
Because each broker may use a different time zone, it’s important to know which time zone they use. Since my Expert Advisor don’t know what time zone the server using, then you need to match its trading time carefully. Usually a broker will tell you what time zone he use in his server, and also a good broker will send to your mailbox a confirmation about time shift that affected by DST. If you don’t have any idea about your Local Time Zone or Your Broker Time Zone, then I suggest you to set your Systems Time Zone to GMT. Just double click the clock on tray icon or enter to your control panel system and click/double click Date and Time icon to show Date and Time properties tab. Switch to Time Zone tab, and the select GMT Greenwich Mean Time on pull down menu.


To remove ambiguity about DST unchecked the checkbox “Automatically adjust for daylight saving changes”.


Now switch to Internet Time tab, make sure your system has internet connection, select time.nist.gov as Server, then click Update now to get current GMT time.

Terms:

Now you can compare your current time after updating with your broker time.

Wednesday, April 1, 2009

The Entry Rule

Main rule
Trade only when 20 periods ck_speed indicator is not in green color. And we use Asian market session as time to trade.

Entry rule
Basically each time price penetrates the Keltner channels, than we put our trade there. This approach is the reverse side of VS_EURCHF entry rules. If VS_EURCHF tend to trade inside the channels, then this VS_EUROCROSS tend to trade outside the channel.



If you want to see how VS_EUROCROSS to work, then you need to attach 3 Keltner Channels indicators, and set their fib level to 2.0, 3.0 and 4.0, and attach 1 20 Period ck_speed indicator.

Please keep remembering that we must still use a double spread rules as minimum barrier. This is the step to create signal filter. We take current pairs spread and then we multiply with 2. And now we take the current 20 period ATR value, divided this ATR value with pairs point to get a rounded number. Take the maximum value, double spread value or ATR value; this value will become our signal filter. This technique will guarantee that our minimum profit target as much as current spread. And there are no trades executed if the distance between current price and Moving Average below our signal filter. And finally our trade position will look like this:

- 1st trade must occurs above 1st deviation keltner channels
- 2nd trade must occurs above 2nd deviation
- 3rd trade must occurs above 3rd deviation
- 4th trade must occurs above 4th deviation


Mathematical situation
There is a time that when first trade has executed, than the price not retrace as we expected, rather the price with a slow move go against our position and even without break next deviation upper/lower Keltner Channels.
If our last open price now being equal with the current 20 period moving average, clearly we are in bad trade because whenever the price across the moving average, we still suffering a loss. Therefore meet this situation EA will avoid the rule above, rather as long as price penetrate above/below 1st deviation Keltner Channel, then EA will execute new trade if current moving average value now being equal with our last open position. To simplify we can use bar count method, normally if price back to Moving Average below 6 bars since our entry than we are still making profit there.

Risk Warning

Please note that Trading in the Foreign Exchange market might carry potential rewards, but also potential risks. You must be aware of the risks and are willing to accept them in order to trade in the foreign exchange market. Don't trade with money you can't afford to lose.