A month has been passed, and it is time for VS_EUROCROSS_D04. Again there is no any change in the main system, except adding expiration as usual. But since this version I decide to allow the EA using built in ATR or custom ATR. And other thing it is now using ECN style.
There are new External Variables in this version:
int Margin = 100;
This is Money Management feature that allow you to set the percentage of your balance in case you run several EA at the same time. For example if you have 10 K in your balance, you can tell the EA just to use 20 percent from your balance before calculating the risk.
Bool UseAtrMod = false;
This is the variable that you have to try. If you set it false then it just like previous version. But make sure you use the historical data from your broker before testing this variable.
As my last post before, I try to optimize this EA to work earlier then its default trading time. What the setting that I use with D03 version in the backtest are:
OpenHour=19;
CloseHour=23;
UseAtrMod=true;
MyOwnTarget=5;
Sunday, June 28, 2009
Saturday, June 27, 2009
IMPROVING VS_EUROCROSS
I make a lot experiment during this week with VS_EUROCROSS before updating its expiration time. I try to change the Simple Moving Average with another MA type such as Exponential MA and Linear Weighted MA for building Keltner Channel Indicator. I also change the Average True Range calculation by using same averaging method. Thus I have Keltner Channel indicator with more flexibility in averaging mode. I put both indicators in the same chart and you can see the difference even with the new Indicator I use Simple Moving Average to calculate the Average True Range. The blue channel is 20 period Keltner Channel using customs ATR.
BUILT IN INDICATOR VERSUS CUSTOM INDICATOR
This chart is using Tadawul platform. If we look the chart should be more trade if we use new Keltner Channel Indicator then previous one. In Alpari, using this new Indicator doesn’t make any improvement (worse) with default trading time. But if I change trading time with open Hour 19 and close Hour 23, Using VS_EUROCROSS_D03 you can see the result.
VS_EUROCROSS_D03 with custom ATR
But it is still worse. Because my experiment it made more profit with less trades.
Less trades with bigger profit
And with same setting on EurGbp
Perhaps next time we can have 2 trading time set and give difference risk, other thing that mostly spread during 19-23 time is still low.
BUILT IN INDICATOR VERSUS CUSTOM INDICATOR
This chart is using Tadawul platform. If we look the chart should be more trade if we use new Keltner Channel Indicator then previous one. In Alpari, using this new Indicator doesn’t make any improvement (worse) with default trading time. But if I change trading time with open Hour 19 and close Hour 23, Using VS_EUROCROSS_D03 you can see the result.
VS_EUROCROSS_D03 with custom ATR
But it is still worse. Because my experiment it made more profit with less trades.
Less trades with bigger profit
And with same setting on EurGbp
Perhaps next time we can have 2 trading time set and give difference risk, other thing that mostly spread during 19-23 time is still low.
Label:
VS_EUROCROSS
Thursday, June 18, 2009
Profit Calculation
I make backtest today since I don't run my demo, and find something that I can't explain why it can be happened even in the back test. At the first time I guess that maybe there is something wrong, and then using my MQL version, I made back test in visual mode, and tell EA to show current pip profit in chart window.This is just calling my TotalProfit function in MQL4.
Take a look at the left corner, even price at 1.5063/5066, but the total profit (pip) is 0.
Let see the last 3 trades. The first trade is executed at 1.5067. Then the second trade is triggered at 1.5075. The second trade is closed at 1.5069 and made profit about 6 pips (as much current ATR). The first trade still in the market until the third trade is triggered at 1.5077. When price (ask) hit 1.5071 (at this point our sum profit from 2 orders is 1, 1.5077-1.5071=5 and 1.5067-1.5071= -4), the EA close the profitable trade (3rd trade) and made profit 5 pips.
Unfortunately, when price (ask) hit 1.5066 the total profit (pip) that EA record is 0. And the EA didn’t close the first trade, then there is a spike after this, and hit 1st trade stop loss.
Correct
I don’t know if it also happened at live trade not just in the back test. At the other picture the EA show current profit calculation correctly.
I try to close with 0 pips profit at this point by changing the target, and then I get slippage 2 pips. The order is closed at 1.5065/1.5068.
Slippage
What I can say, this is always happen in our real trade. If you watch your trade carefully, then you may find sometimes your profit doesn’t change while market has been move for a pip.
Take a look at the left corner, even price at 1.5063/5066, but the total profit (pip) is 0.
Let see the last 3 trades. The first trade is executed at 1.5067. Then the second trade is triggered at 1.5075. The second trade is closed at 1.5069 and made profit about 6 pips (as much current ATR). The first trade still in the market until the third trade is triggered at 1.5077. When price (ask) hit 1.5071 (at this point our sum profit from 2 orders is 1, 1.5077-1.5071=5 and 1.5067-1.5071= -4), the EA close the profitable trade (3rd trade) and made profit 5 pips.
Unfortunately, when price (ask) hit 1.5066 the total profit (pip) that EA record is 0. And the EA didn’t close the first trade, then there is a spike after this, and hit 1st trade stop loss.
Correct
I don’t know if it also happened at live trade not just in the back test. At the other picture the EA show current profit calculation correctly.
I try to close with 0 pips profit at this point by changing the target, and then I get slippage 2 pips. The order is closed at 1.5065/1.5068.
Slippage
What I can say, this is always happen in our real trade. If you watch your trade carefully, then you may find sometimes your profit doesn’t change while market has been move for a pip.
Label:
problem,
VS_EUROCROSS
Monday, June 15, 2009
2 Hours Delay on Weekly Opening
I still don’t know how to react about difference opening time for each broker. Since my work using Alpari historical and I never test it with other Broker’s data. So far on forward test in Tadawul give good result if the expert trade in the first hour, but I don’t know how the performance in the past. There is no special exit strategy for any trade during this time. It’s fine if our trade become profitable during this hour too. How if it doesn’t make profit? This is important because the EA will enter to non trading time, and the EA never find this case in the back test.
Managing Your Risk
Although it is not covered in my EA, but truly there is a difference in potential gain in the first trade. Normally after trending market in American season the first trade tend to be above 2nd deviation Keltner Channel or even more. It is not always happened at 20 (GMT), it may be later. But the point is our potential profit will be higher. You can make a back test, and you will find that the higher profit almost in the first trade.
And if we look to back test result, during 20-22 (GMT) trading time is the most profitable area. This is not meaning that we never getting loss during this time, but this is because our profit during this time is bigger then after 22 GMT. It is because the ATR value is still high during this time.
What an idea that may we apply in this situation is optimizing our Money Management. We can set our MM to give more risk during bigger profit time or trade, and start reducing our risk after that.
Managing Your Risk
Although it is not covered in my EA, but truly there is a difference in potential gain in the first trade. Normally after trending market in American season the first trade tend to be above 2nd deviation Keltner Channel or even more. It is not always happened at 20 (GMT), it may be later. But the point is our potential profit will be higher. You can make a back test, and you will find that the higher profit almost in the first trade.
And if we look to back test result, during 20-22 (GMT) trading time is the most profitable area. This is not meaning that we never getting loss during this time, but this is because our profit during this time is bigger then after 22 GMT. It is because the ATR value is still high during this time.
What an idea that may we apply in this situation is optimizing our Money Management. We can set our MM to give more risk during bigger profit time or trade, and start reducing our risk after that.
Label:
Trading Time,
VOLATILY SCALP
Tuesday, June 9, 2009
Working with Slippage
I try to optimize the closing trade function by forcing to close our trades with our price. What I do is checking the last known market price before sending to closing trade function. So the EA will always compare our last known price with current market price.
If the EA wants to close Long position than it must be happen if current price is higher or equal with the last known market price and vice versa. The expert will force to complete this action before new bar is coming. Once new bar is coming then the EA will wait an others logic for closing trade.
It might to be a compromise decision, because we have to decide to allow EA working with its logic at any price (no matter slippage), or forcing EA to close with exact price while allowing another logic to be waiting (back test will be differ after live trade).
If the EA wants to close Long position than it must be happen if current price is higher or equal with the last known market price and vice versa. The expert will force to complete this action before new bar is coming. Once new bar is coming then the EA will wait an others logic for closing trade.
It might to be a compromise decision, because we have to decide to allow EA working with its logic at any price (no matter slippage), or forcing EA to close with exact price while allowing another logic to be waiting (back test will be differ after live trade).
Label:
problem,
VS_EUROCROSS
Wednesday, June 3, 2009
Tight Stop
I think you have to know my idea behind using 60 pips stoploss, what a huge stoploss for scalper system. I aggree with tight stop, but actually there is a danger behind using tight stop on my system. The 20 period of CK_Speed Indicators is a lag indicator. And color changing in this indicator is very depending on current market Volatility. The color changing is not coming from a fixed value.
Therefore if You use tight stop may be you will find the expert keep going opening trade just after your stop was hit, because the indicator is still allowing to trade.
I use 60 pip stoploss because backtest showing that this value is enough to protect EA to make continues trade and finding suitable price before doing cutloss.
Right know Only VS_EURGB that has ability to protect itself doing continues trade. I just suggest that You should have a plan about this condition. Market volatility can change in any time. I think you should test your stop in high volatility period. You can test it during August-December 2008, because during this period most pairs record it's higher volatility since they traded. And surprisingly, this period is the most profitable period for all scalper system that work during Asian Session only, even with wide spread.
Therefore if You use tight stop may be you will find the expert keep going opening trade just after your stop was hit, because the indicator is still allowing to trade.
I use 60 pip stoploss because backtest showing that this value is enough to protect EA to make continues trade and finding suitable price before doing cutloss.
Right know Only VS_EURGB that has ability to protect itself doing continues trade. I just suggest that You should have a plan about this condition. Market volatility can change in any time. I think you should test your stop in high volatility period. You can test it during August-December 2008, because during this period most pairs record it's higher volatility since they traded. And surprisingly, this period is the most profitable period for all scalper system that work during Asian Session only, even with wide spread.
Label:
VS_EUROCROSS
Tuesday, June 2, 2009
Introducing My VS_EURGBP
Personally I have tried several method to scalp this pair, but the end I realize that the most working idea is just the trading time. I just use 20 period WPR to trigger the entry and make sure the distance between current price and MA (50) is not less then N + Spread where N can be our minimum target. Of course in fact our trade could be placed higher/lower because it must executed while WPR showing Overbought/Oversold value.
The last filter is 50 Period CK_Speed indicator,same period with MA. You can test to use any other indicator, but may be you can start without using any indicator, and show the result.
Here are the list of external variables that EA use, mostly it has the same variables with EUROCROSS Version, except the list below:
To protect us going to deep hole we can tell the EA to stop working and close any open position
extern int NumberOfLoss =2;
extern bool TradeAfterLoss=false;
extern bool CloseAllPositionAfterLoss=true;
extern bool Turbo=falseThis is usefull if you set your MaxTradePerPosition = 4.
extern bool ContinuesTrade=false Not repeating same trade that make a loss.
extern int MaDinstance=2; Try Optimize this value
Mostly the list variable below is working if MaxTradePerPosition is 4
extern int AveragingStyle=0;
extern int SpreadMultiplyer=1;
extern int FixedAveraging=6;
extern int AtrPeriod=5;
The last filter is 50 Period CK_Speed indicator,same period with MA. You can test to use any other indicator, but may be you can start without using any indicator, and show the result.
Here are the list of external variables that EA use, mostly it has the same variables with EUROCROSS Version, except the list below:
To protect us going to deep hole we can tell the EA to stop working and close any open position
extern int NumberOfLoss =2;
extern bool TradeAfterLoss=false;
extern bool CloseAllPositionAfterLoss=true;
extern bool Turbo=falseThis is usefull if you set your MaxTradePerPosition = 4.
extern bool ContinuesTrade=false Not repeating same trade that make a loss.
extern int MaDinstance=2; Try Optimize this value
Mostly the list variable below is working if MaxTradePerPosition is 4
extern int AveragingStyle=0;
extern int SpreadMultiplyer=1;
extern int FixedAveraging=6;
extern int AtrPeriod=5;
Label:
External Variable,
VS_EURGBP
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.