Multi EA - page 10

 

Hello dmbsys,

Thank you for the info. Well, I saw in the code the USDJPY pair as well (all the four majors, actually) and the original Gary Hensley version - that was based on WPR - contained it in the calculation as well, it was something like this:

//---- calc current indicators

int GU_Trig=1,EU_Trig=1,UC_Trig=1,UJ_Trig=1;

if (iWPR("GBPUSD",0,14,0)<-50) GU_Trig=-1;

if (iWPR("EURUSD",0,14,0)<-50) EU_Trig=-1;

if (iWPR("USDCHF",0,14,0)<-50) UC_Trig=-1;

if (iWPR("USDJPY",0,14,0)<-50) UJ_Trig=-1;

vTrig=GU_Trig+EU_Trig-UC_Trig-UJ_Trig;

Now, there is no UJ_Trig in the vTrig computation. I do not know which solution is better but looking back to the original could give some food for thought...

Regards,

Chrisstoff

dmbsys:
Sorry for the numbered...

But try too on USD/JPY : work too !!!

I test it on 4 pairs : EUR/USD, USD/CHF, GBP/USD & USD/JPY

Michel
 

Wow, you were quick with version 3

Regards,

Chrisstoff

dmbsys:
Hi,

I've modified the version (for the last time, I hope).

Here's :

1. I use the time (UseHourTrade=true)

2. Modification of condition to close order :

int CloseTrade()

{

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)

{

if(OrderStopLoss()==0)

{

if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow);

if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow);

}

}

}

}

Michel
 

Version 2.0.5 uses RSX instead of JRSX posted here. Is it any different? Mind sharing?

 

Hello Shinigami,

I've make many backtests and I prefer RSX for little more profit but, 2 systems works.

Michel

 
dmbsys:
Hello Shinigami,

I've make many backtests and I prefer RSX for little more profit but, 2 systems works.

Michel

can you post it?

 
hartono:
Don't get fooled by the outstanding backtest performance.

The problem is: this EA uses current bar Indicator values for entry.

That will give you the correct result for the currency pair you test.

But for the other 2 it will only show you the latest values of 1 hour period.

It means, when you already now where the prices going at the end of each 1 hour period (based on the other pairs info) you will almost never be loss.

Please use the attached indicator, use it on your backtest (tick the visual mode)... You wil see that the RSX values of the pair beeing test will change overtime, but the values of the other2 are not moving...

How about backtesting it with using shift 1 for other currencies and shift 0 for the pair which is being tested?

I've also got lots of negative results on forward test.

 

Don't get fooled by the outstanding backtest performance.

The problem is: this EA uses current bar Indicator values for entry.

That will give you the correct result for the currency pair you test.

But for the other 2 it will only show you the latest values of 1 hour period.

It means, when you already know where the prices going at the end of each 1 hour period (based on the other pairs info) you will almost never be loss.

Please use the attached indicator, use it on your backtest (tick the visual mode)... You wil see that the RSX values of the pair beeing test will change overtime, but the values of the other2 are not moving...

Files:
bsi.mq4  3 kb
 

OK guys, RSX repaints the past.

Put RSX(3) on the GBPUSD H4 for instance.

You will see that the current value changes and that is normal but also the previous one that is in my opinion much less normal.

So RSX cannot be used for shift values of 0 and 1.

But JRSX seems OK ! But of course the result are very different...

 

Yes jlpi ,

In backtest, RSX is better but in a demo account : not very good .

JRSX is more stable but I don't arrive to use it with a shiftvalue = 1 ; JRSX work only with a shiftvalue = 0....

I try it on a demo account.

Michel

 

If you use shift zero is actually like this:

You want to trade GBPUSD, use GBPJPY & USDJPY values for entry

at the start of 1 Hour bar:

GBPJPYopen=iOpen("GBPJPY",0,0);

GBPJPYclose=iClose("GBPJPY",0,0);

USDJPYopen=iOpen("USDJPY",0,0);

USDJPYclose=iClose("USDJPY",0,0);

GBPUSDopen=GBPJPYOpen/USDJPYOpen;

GBPUSDClose=GBPJPYClose/USDJPYClose;

The GBPUSDClose you get on bact test is actually more or less the value of GBPUSD at the end of the bar...

So you already know what will happen within 1 Hour..

But on forward test, off course it wont work because you haven't got the Final Value of GBPJPY & USDJPY yet...

Reason: