Phoenix 2007 (new thread) - page 49

 

this is not an indicator. you need to put this under your demo account experts folder (C:\Program Files\MetaTrader 4\experts). open the file and compile it and then attach this expert to the pair chart your are testing. good luck

maria77:
Hi all

I've tried to copy the Phoenix_EA_v4_2_03.mq4 to C:\Program Files\MetaTrader 4\experts\indicators.. tried to click the indicator but nothing happened.

Please help. Thanks!

* I'm testing it on a demo with InterbankFx.
 

Backtesting

Hi Hendrick.. I have datas with 90% quality at USD/JPY.I 'm try to make a backtesting this pair with PrefSettings == false at M15.. but don't show me any results ...What is wrong?

Thank you

 
eooojj:
Why should it be "Friendly"? I don't use Ebay....but if i were you ....i will forward some excerpts of this thread to Ebay and stop him before he even mades it available. This is a friendly reply to u.

It was actually a very stern warning. Saying it was "friendly" implies that an unfriendly warning would be much stronger.

 

Atc

I checked the ATC and found that you are in first place.

Congrats Hendrick. A job well done. For all the tireless work you are doing, you deserve the first place.

Will be forward testing version 5 starting Monday and post the results here.

Cheers,

Payal

 

sit infront of the computer 24hrs a day?

scout:
manuel operation,hehe. it seems that only fxdirectdealer support MetaTrader

manual? wow...that means you sit infront of the computer 24hrs for 6 days ?

 

MaximumRisk = Leverage?

Sorry for being a continued annoyance, but how does the MaximumRisk effect the leverage?

I'm new at this and I've read numerous times that a high leverage is a dangerous thing for beginners. So does a MaximumRisk of 0.1 = 10:1 leverage or a 100:1 leverage? Or do I have this whole idea all mixed up?

Thanks for your help.

-Sean

 

Goooood job

really good job Hendrick in all directions

First position in ATC new Phoenix developments and I'm sure a lot of friends

too

just wanted to say that there's nothing wrong with "goodlooking secretary...." idea

And

anything I can do for you......as a neibourgh??

 
eooojj:
manual? wow...that means you sit infront of the computer 24hrs for 6 days ?

hehe, of course not, in the day time i work in a company and after work i could watch MT4 and make some trades of live account. GMT time is 8 hours slower than Beijing(china) time, between 20:00 to 23:00 of Beijing time is the most active time frame of world forex market, so i can make some trades after work, drinking some tea, watching tv...and thanks for phoenix system, it doesn't make too many trades in a week, about 3-5 trades per week. definitely we could make it manually with other forex trading client software than MT3,MT4.

 

Maybe some code correction

I just want to add my seed to your great job Mr. Hendrick and of course congrats for your actual 1st place in the competition.

I found that when using the MicroAccount=true, the LotsOptimized() function are not returning the properly value. Follows the original code:

double LotsOptimized()

{

if(MM==false) return(Lots);

double lot=Lots;

int orders=HistoryTotal();

int losses=0;

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

}

if(lot<0.1) lot=0.1;

if(MicroAccount==true) {lot=lot/10;}

if(lot>99) lot=99;

return(lot);

}

My solution to correct the problem is the following code:

double LotsOptimized()

{

if(MM==false) return(Lots);

double lot=Lots;

int orders=HistoryTotal();

int losses=0;

int decimalPlaces=1;

if(MicroAccount==true) decimalPlaces=2;

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,decimalPlaces);

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,decimalPlaces);

}

if(lot<0.1 && MicroAccount==false) lot=0.1;

if(lot<0.01 && MicroAccount==true) lot=0.01;

if(lot>99) lot=99;

return(lot);

}

Hope to see you in the first winners place !!!

 
lgvh:
I just want to add my seed to your great job Mr. Hendrick and of course congrats for your actual 1st place in the competition.

I found that when using the MicroAccount=true, the LotsOptimized() function are not returning the properly value. Follows the original code:

double LotsOptimized()

{

if(MM==false) return(Lots);

double lot=Lots;

int orders=HistoryTotal();

int losses=0;

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

}

if(lot<0.1) lot=0.1;

if(MicroAccount==true) {lot=lot/10;}

if(lot>99) lot=99;

return(lot);

}

My solution to correct the problem is the following code:

double LotsOptimized()

{

if(MM==false) return(Lots);

double lot=Lots;

int orders=HistoryTotal();

int losses=0;

int decimalPlaces=1;

if(MicroAccount==true) decimalPlaces=2;

lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,decimalPlaces);

if(DecreaseFactor>0)

{

for(int i=orders-1;i>=0;i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

//----

if(OrderProfit()>0) break;

if(OrderProfit()<0) losses++;

}

if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,decimalPlaces);

}

if(lot<0.1 && MicroAccount==false) lot=0.1;

if(lot<0.01 && MicroAccount==true) lot=0.01;

if(lot>99) lot=99;

return(lot);

}
Hope to see you in the first winners place !!!

Hi,

I've tried your code but still have the same problem: lot size will not get any lower than 0.1 with MicroAccount=true. I think this is caused by the fact that my demo-account don't allow lot sizes less than 0.1. If it's working for you then please let me know which broker you're using for your demo-account. Thanks.

Reason: